[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