[jboss-svn-commits] JBL Code SVN: r8545 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/rpc main/java/org/drools/brms/client/ruleeditor main/java/org/drools/brms/server test/java/org/drools/brms/server

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Dec 22 09:28:06 EST 2006


Author: michael.neale at jboss.com
Date: 2006-12-22 09:27:59 -0500 (Fri, 22 Dec 2006)
New Revision: 8545

Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/JBRMSServiceServletTest.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
Log:
added commit and commitComment features and tests

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.java	2006-12-22 14:27:15 UTC (rev 8544)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.java	2006-12-22 14:27:59 UTC (rev 8545)
@@ -36,7 +36,9 @@
     public String rights = ""; 
     public String coverage = "";
     public String publisher = "";   
+    public String checkinComment = "";
     
+    
     public Date dateEffective;
     public Date dateExpired;
     

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java	2006-12-22 14:27:15 UTC (rev 8544)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java	2006-12-22 14:27:59 UTC (rev 8545)
@@ -6,6 +6,7 @@
 
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ChangeListener;
 import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.HTML;
@@ -96,12 +97,15 @@
      */
     protected void doCheckinConfirm() {
         final FormStylePopup pop = new FormStylePopup("images/checkin.gif", "Check in changes.");
-        TextArea comment = new TextArea();
+        final TextArea comment = new TextArea();
         comment.setWidth( "100%" );
         Button save = new Button("Save");
         pop.addAttribute( "Comment", comment );
         pop.addAttribute( "", save);
         
+        bindCommentField( comment );
+        
+        
         save.addClickListener( new ClickListener() {
             public void onClick(Widget w) {
                 
@@ -116,6 +120,14 @@
         
     }
 
+    private void bindCommentField(final TextArea comment) {
+        comment.addChangeListener( new ChangeListener() {
+            public void onChange(Widget w) {
+                metaData.checkinComment = comment.getText();
+            }
+        });
+    }
+
     /**
      * Called when user wants to close, but there is "dirtyness".
      */

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java	2006-12-22 14:27:15 UTC (rev 8544)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java	2006-12-22 14:27:59 UTC (rev 8545)
@@ -1,6 +1,5 @@
 package org.drools.brms.server;
 
-import java.text.DateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
@@ -22,13 +21,13 @@
 import org.drools.brms.client.rpc.TableDataResult;
 import org.drools.brms.server.util.MetaDataMapper;
 import org.drools.repository.AssetItem;
-import org.drools.repository.CategorisableItem;
 import org.drools.repository.CategoryItem;
 import org.drools.repository.PackageItem;
 import org.drools.repository.RepositoryConfigurator;
 import org.drools.repository.RulesRepository;
 import org.drools.repository.RulesRepositoryException;
 
+import com.google.gwt.user.client.rpc.IsSerializable;
 import com.google.gwt.user.client.rpc.SerializableException;
 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
 
@@ -231,14 +230,6 @@
         return asset;
     }
     
-    /** pretty print the date. */
-    String formatDate(Calendar date) {
-        if (date == null) {
-            return "";
-        }
-        DateFormat f = DateFormat.getDateTimeInstance();
-        return f.format( date.getTime() );
-    }
 
     /** 
      * read in the meta data.
@@ -274,21 +265,45 @@
         if (createdDate == null) return null;
         return createdDate.getTime();
     }
+    
+    private Calendar dateToCalendar(Date date) {
+        if (date == null) return null;
+        Calendar cal = Calendar.getInstance();
+        cal.setTime( date );
+        return cal;
+    }    
 
     private MetaDataMapper getMetaDataMapper() {
         if (this.metaDataMapper == null)  this.metaDataMapper = new MetaDataMapper();
         return this.metaDataMapper;
     }
 
-    public String checkinVersion(RuleAsset asset) throws SerializableException {
+    public String checkinVersion(RuleAsset asset) throws SerializableException {        
+        RulesRepository repo = getRulesRepository();
         
-        RulesRepository repo = getRulesRepository();
         AssetItem rule = repo.loadAssetByUUID( asset.uuid );
-        rule.checkout();
-        throw new UnsupportedOperationException("Not implemented yet !");
+        
+        MetaData meta = asset.metaData;
+        getMetaDataMapper().copyFromMetaData( meta, rule );
+        rule.updateDateEffective( dateToCalendar( meta.dateEffective ) );
+        rule.updateDateExpired( dateToCalendar( meta.dateExpired ) );        
+        updateContentToAsset( rule, asset.content );
+        
+        rule.checkin( meta.checkinComment );
+        
+        return rule.getUUID();
     }
+    
 
+    private void updateContentToAsset(AssetItem repoAsset, IsSerializable content) throws SerializableException {
+        if (content instanceof RuleContentText) {
+            repoAsset.updateContent( ((RuleContentText)content).content );        
+        } else {
+            throw new SerializableException("Not able to handle that type of content just yet...");
+        }
+    }
 
+
     
     
 

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/JBRMSServiceServletTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/JBRMSServiceServletTest.java	2006-12-22 14:27:15 UTC (rev 8544)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/JBRMSServiceServletTest.java	2006-12-22 14:27:59 UTC (rev 8545)
@@ -40,17 +40,7 @@
     }
     
 
-    public void testFormattingDates() {
-        JBRMSServiceServlet serv = new JBRMSServiceServlet();
-        assertEquals("", serv.formatDate( null ));
-        
-        Calendar cal = Calendar.getInstance();
-        String d = serv.formatDate( cal );
-        assertNotNull(d);
-        assertTrue(d.length() > 5);
-        System.out.println(d);
-        
-    }
+
     
     
     static class MockHttpSession implements HttpSession {

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java	2006-12-22 14:27:15 UTC (rev 8544)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java	2006-12-22 14:27:59 UTC (rev 8545)
@@ -174,10 +174,39 @@
   }
   
   public void testCheckin() throws Exception {
-//      MockJBRMSServiceServlet serv = new MockJBRMSServiceServlet();
-//      serv.createNewRule( "", description, initialCategory, "default", format )
-//      
-//      serv.checkinVersion( asset )
+          MockJBRMSServiceServlet serv = new MockJBRMSServiceServlet();
+          
+          serv.listRulePackages();
+          
+          serv.createCategory( "/", "testCheckinCategory", "this is a description" );
+          String uuid = serv.createNewRule( "testChecking", "this is a description", "testCheckinCategory", "default", "drl" );
+          
+          RuleAsset asset = serv.loadRuleAsset( uuid );
+          
+          asset.metaData.coverage = "boo";
+          asset.content = new RuleContentText();
+          ((RuleContentText) asset.content).content = "yeah !";
+          
+          
+          String uuid2 = serv.checkinVersion( asset );
+          assertEquals(uuid, uuid2);
+          
+          RuleAsset asset2 = serv.loadRuleAsset( uuid );
+          
+          assertEquals("boo", asset2.metaData.coverage);
+          assertEquals("1", asset2.metaData.versionNumber);
+          
+          assertEquals("yeah !", ((RuleContentText) asset2.content).content);
+          
+          asset2.metaData.coverage = "ya";
+          asset2.metaData.checkinComment = "checked in";
+          serv.checkinVersion( asset2 );
+          
+          asset2 = serv.loadRuleAsset( uuid );
+          assertEquals("ya", asset2.metaData.coverage);
+          assertEquals("2", asset2.metaData.versionNumber);
+          assertEquals("checked in", asset2.metaData.checkinComment);
+          
   }
   
   




More information about the jboss-svn-commits mailing list