Monthly Archives: April 2012

Dong Shin 04.03.2012

  • finished up GWT Logger for client
    • uses same approach as Flex Logger
      • Logger logger = Logger.getLogger()
      • logger.warn (“message”), etc
    • event driven so logger window gets updates in real time.
    • SmartGWT GUI wrapper for Logger classes
      • SmartGWT DataSource wrapper – allows lots of buil-in filtering/sort capabilities
      • Record wrapper  for display
    • color coded levels
    • ComboBox filter for Level
  • started on Server Logger

Mike 4.3.2012

  • Usual backups at site
  • No news at site
  • Finished my financial disclosure and submitted it
  • Had some thoughts about maven and looked up stuff:
    • Maven now has the ability to encrypt passwords inside the settings file so you can safely distribute the settings.xml file
    • Maven also allows the use of environment variables in the settings file.  So for example you could set the repository to be <localRepository>${env.M2_REPO}</localRepository> which would make sharing your settings file much simpler
    • Combining these you should be able to check your entire maven install, settings and all, in to subversion and use it to distribute changes to things like repositories, servers, passwords, etc.
  • Working on PKI integration of visibility
  • While doing that I got tired of closing, deleting, reopening and scrolling around the tomcat log files.  I figured there must be program designed for monitoring log files more efficiently and there is: BareTail (Windows).  It’s like the unix ‘tail -f’ command but you can add color coding rules and monitor multiple files among other things.

Phil 4.3.12

8:00 – 1:30, 3:30 -6:00  CSIP

  • Ok ,now that we have working(?) code, I have something to walk through while reading the book.
  • The Drools team suggests that you use the joda DateTime library. It looks pretty nice, too – http://joda-time.sourceforge.net/. They also have a bunch of other interesting libraries at http://joda.sourceforge.net/
  • Setting a global value in a rule
    • Java
      // Import the class
      import droolsbook.bank.service.BankingInquiryService;
      
      // create the session
      static StatelessKnowledgeSession session;
      
      // create rule engine
      KnowledgeBaseConfiguration configuration = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
      KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase(configuration);
      
      // declare our global
      BankingInquiryService inquiryService = new BankingInquiryServiceImpl();
      
      // make a session
      session = knowledgeBase.newStatelessKnowledgeSession();
      
      // add the global to the session
      session.setGlobal("inquiryService", inquiryService);
    • Drools rule (.drl file)
      // import
      import droolsbook.bank.service.*;
      
      // declare
      global BankingInquiryService inquiryService;
      
      // use the global in a rule (note the surrounding eval(), which can evaluate any code that returns a TRUE or FALSE).
      rule "accountNumberUnique"
          when
              $account : Account(eval(!inquiryService.isAccountNumberUnique($account)))
          then
              error(kcontext, $account);
      end
  • Chapter 4
  • Nice data visualization using webGL

Tom DeVito 4.2.2012

Start: 10:00

  • Continued troubleshooting the Audio Controller class
  • Compiled a partial list of required parts
  • Made some changes to the Controller base class.  I think I finally got all the old code out.

Parts:

  1. 2-pin header:  http://search.digikey.com/us/en/products/640454-2/A19423-ND/258984
  2. 2-pin connector:  http://search.digikey.com/us/en/products/1375820-2/A99613-ND/1864915
  3. Tin wire crimp for connectors: http://search.digikey.com/us/en/products/1375819-1/A100453CT-ND/2233146
  4. 3-pin header:  http://search.digikey.com/us/en/products/3-644456-3/A31113-ND/698345
  5. Jumpers: http://search.digikey.com/us/en/products/2-382811-1/A31697-ND/769840
  6. power jack:  http://search.digikey.com/us/en/products/PJ-202A/CP-202A-ND/252007
  7. I will double check other components tomorrow to make sure we have enough resistors and capacitors before ordering

End: 6:00

Mike 4.2.2012

  • Usual backups at site
  • Typed up our March status report at site and submitted it to Jim from TASC
  • Dug up some paper work and started entering my financial disclosure information, need more info across the board
  • Back at the mill tracking down more financial info
  • Working on integrating visibility in to the pki auto login stuff

Phil 4.2.12

8:00 – 5:00 CSIP

  • Went to the customer site to fill out paperwork
  • Proceeding somewhat blindly is a somewhat Droolsy direction. Documentation is pretty sucky.
  • Thinking about how to use rules against a database. This might require the creation of Java classes that have the structure of the table. It’s possible that this could be done with reflection, which I haven’t used since TUMMS. Here’s the Java trail just in case: http://docs.oracle.com/javase/tutorial/reflect/
  • Found the source for the book: http://code.google.com/p/droolsbook/
    • Reindexing maven repositories…
    • had to add the following to the droolsBookParent/pom.xml in the <dependencyManagement><dependecies> section
      <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>1.6.0</version>
      </dependency>
    • had to add the JDK to the JRE section of Eclipse Java properties. It was overriding JAVA_HOME
    • Better. Maybe even good enough. The banking example is working:
      [INFO] Reactor Summary:
      [INFO]
      [INFO] Drools Book Parent ................................ SUCCESS [0.694s]
      [INFO] Banking Core ...................................... SUCCESS [3.705s]
      [INFO] Validation ........................................ SUCCESS [7.324s]
      [INFO] ETL with iBatis ................................... SUCCESS [12.815s]
      [INFO] DSL ............................................... FAILURE [4.146s]
      [INFO] Decision Tables ................................... SKIPPED
      [INFO] Ruleflow .......................................... SKIPPED
      [INFO] Stateful Rules .................................... SKIPPED
      [INFO] Complex Event Processing .......................... SKIPPED
      [INFO] Drools Flow ....................................... SKIPPED
      [INFO] Testing ........................................... SKIPPED
      [INFO] Integration ....................................... SKIPPED
      [INFO] Performance ....................................... SKIPPED
      [INFO] Sample Application ................................ SKIPPED
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 29.097s
      [INFO] Finished at: Mon Apr 02 16:58:52 EDT 2012
      [INFO] Final Memory: 32M/199M
      [ERROR] Failed to execute goal on project dsl: Could not resolve dependencies for project droolsbook:dsl:jar:1.1-SNAPSHOT: The following artifacts could not be resolved: droolsbook:etl_iBatis:jar:tests:1.1-SNAPSHOT, droolsbook:validation:jar:tests:1.1-SNAPSHOT: Failure to find droolsbook:etl_iBatis:jar:tests:1.1-SNAPSHOT in http://www.fgmdev.com:8081/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of corprepo has elapsed or updates are forced -> [Help 1]

Tom DeVito 3.30.2012

Start: 8:30

  • Fixed an issue with the computer receiving sensor data.  Sensors now stream data properly.
  • Made changes to how you set data in the data dictionary so its easier.
  • Planned out how to do what is remaining.  Despite much progress, I am still finding myself a bit lost from the break I took to make the boards.  I am confident that this won’t be a problem now

end: 6:30