[jboss-svn-commits] JBL Code SVN: r7360 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/rpc main/java/org/drools/brms/client/rpc/mock 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 Nov 3 06:00:46 EST 2006
Author: michael.neale at jboss.com
Date: 2006-11-03 06:00:34 -0500 (Fri, 03 Nov 2006)
New Revision: 7360
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RuleContentText.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CheckinPopup.java
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/RuleAsset.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.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:
more meta data stuff
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-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -18,14 +18,13 @@
public String lastModifiedDate = "";
public String lastContributor = "";
- public int versionNumber;
+ public String versionNumber;
public String lastCheckinComment = "";
+ public String createdDate = "";
-
public String packageName = "";
public String[] categories = new String[0];
-
public String format = "";
public String type = "";
public String creator = "";
@@ -36,7 +35,6 @@
public String coverage = "";
public String publisher = "";
-
/** used to flag dirty - ie needs to be spanked. Or saved to the repo, whatever */
public boolean dirty = false;
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RuleAsset.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RuleAsset.java 2006-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RuleAsset.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -13,6 +13,8 @@
IsSerializable {
public MetaData metaData;
- public IsSerializable ruleAsset;
+ public IsSerializable content;
+ public String dateEffective;
+ public String dateExpired;
}
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RuleContentText.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RuleContentText.java 2006-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RuleContentText.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -0,0 +1,14 @@
+package org.drools.brms.client.rpc;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+/**
+ * This is the guts of a plain text (advanced) rule.
+ * @author Michael Neale
+ */
+public class RuleContentText
+ implements
+ IsSerializable {
+
+ public String content;
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RuleContentText.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java 2006-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -139,10 +139,11 @@
MetaData meta = new MetaData();
meta.categories = new String[] {"Approval", "Age related"};
meta.name = "age rejection 1";
+ meta.versionNumber = "2";
if (uuid.endsWith( "1" )) {
meta.format = "DRL";
TextData text = new TextData();
- asset.ruleAsset = text;
+ asset.content = text;
text.content = "rule la\n\twhen\n\t\tSomething() ...";
} else {
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CheckinPopup.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CheckinPopup.java 2006-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CheckinPopup.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -0,0 +1,50 @@
+package org.drools.brms.client.ruleeditor;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.TextArea;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+
+/**
+ *
+ * A popup and confirmation dialog for committing an asset.
+ *
+ * @author Michael Neale
+ *
+ */
+public class CheckinPopup extends PopupPanel {
+
+ final private FlexTable layout = new FlexTable();
+ final private TextArea comment = new TextArea();
+ final private ClickListener okClick;
+
+ public CheckinPopup(ClickListener okClick) {
+ super(true);
+ this.okClick = okClick;
+
+ FlexCellFormatter formatter = layout.getFlexCellFormatter();
+
+ layout.setWidget( 0, 0, new Image() );
+ layout.setWidget( 1, 0, new Label("Comment:") );
+ layout.setWidget( 1, 1, comment );
+ Button ok = new Button();
+ ok.addClickListener( new ClickListener() {
+
+ public void onClick(Widget w) {
+
+
+ }
+
+ });
+ layout.setWidget( 2, 0, ok);
+
+
+ add( layout );
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CheckinPopup.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java 2006-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -53,6 +53,7 @@
addAttribute("Last modified by:", readOnlyText(data.lastContributor));
addAttribute("Checkin note:", readOnlyText( data.lastCheckinComment ));
addAttribute("Created by:", readOnlyText(data.creator));
+ addAttribute("Created on:", readOnlyText( data.createdDate ));
addAttribute("Version number:", readOnlyText("" + data.versionNumber));
addAttribute("Package:", readOnlyText(data.packageName));
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java 2006-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -85,7 +85,7 @@
BREditor ed = new BREditor();
layout.setWidget( 1, 1, ed );
} else {
- DefaultRuleContentWidget ed = new DefaultRuleContentWidget((TextData) asset.ruleAsset);
+ DefaultRuleContentWidget ed = new DefaultRuleContentWidget((TextData) asset.content);
layout.setWidget( 1, 1, ed );
}
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-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -1,6 +1,8 @@
package org.drools.brms.server;
+import java.text.DateFormat;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
@@ -10,17 +12,21 @@
import javax.jcr.Session;
import javax.servlet.http.HttpSession;
+import org.drools.brms.client.rpc.MetaData;
import org.drools.brms.client.rpc.RepositoryService;
import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.client.rpc.RuleContentText;
import org.drools.brms.client.rpc.TableConfig;
import org.drools.brms.client.rpc.TableDataResult;
import org.drools.brms.client.rpc.TableDataRow;
+import org.drools.repository.CategorisableItem;
import org.drools.repository.CategoryItem;
import org.drools.repository.RepositoryConfigurator;
import org.drools.repository.RuleItem;
import org.drools.repository.RulePackageItem;
import org.drools.repository.RulesRepository;
import org.drools.repository.RulesRepositoryException;
+import org.drools.repository.StateItem;
import com.google.gwt.user.client.rpc.SerializableException;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
@@ -183,11 +189,90 @@
return repository;
}
+ /**
+ * This actually does the hard work of loading up an asset based
+ * on its format.
+ */
public RuleAsset loadRuleAsset(String uuid) throws SerializableException {
- return null;
+ RulesRepository repo = getRulesRepository();
+ RuleItem item = repo.loadRuleByUUID( uuid );
+ RuleAsset asset = new RuleAsset();
+
+ asset.metaData = popuplateMetaData( item );
+
+
+ asset.dateEffective = formatDate( item.getDateEffective() );
+ asset.dateExpired = formatDate( item.getDateExpired() );
+
+
+ if (item.getFormat().equals( "DSL" )) {
+ //ok here is where we do DSLs...
+ throw new SerializableException("Can't load DSL rules just yet.");
+
+ } else if (item.getFormat().equals( "DSL" )) {
+ } else if (item.getFormat().equals( "DT" )) {
+ //and here we do decision tables
+ throw new SerializableException("Still working on this...");
+ } else {
+ //default to text, goode olde texte, just like mum used to make.
+ RuleContentText text = new RuleContentText();
+ text.content = item.getRuleContent();
+ asset.content = text;
+
+ }
+
+ asset.metaData.packageName = item.getPackageName();
+
+
+ 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.
+ * @param item
+ * @return
+ */
+ MetaData popuplateMetaData(CategorisableItem item) {
+ MetaData meta = new MetaData();
+ meta.name = item.getName();
+ meta.title = item.getTitle();
+
+ List cats = item.getCategories();
+ meta.categories = new String[cats.size()];
+ for ( int i = 0; i < meta.categories.length; i++ ) {
+ CategoryItem cat = (CategoryItem) cats.get(i);
+ meta.categories[i] = cat.getName();
+ }
+
+ meta.state = (item.getState() != null) ? item.getState().getName() : "";
+
+ meta.coverage = item.getCoverage();
+ meta.creator = item.getCreator();
+ meta.description = item.getDescription();
+ meta.externalRelation = item.getExternalRelation();
+ meta.externalSource = item.getExternalSource();
+ meta.format = item.getFormat();
+ meta.lastCheckinComment = item.getCheckinComment();
+ meta.lastContributor = item.getLastContributor();
+ meta.lastModifiedDate = formatDate(item.getLastModified());
+ meta.createdDate = formatDate( item.getCreatedDate() );
+ meta.versionNumber = item.getVersionNumber();
+
+
+
+ return meta;
+ }
+
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-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/JBRMSServiceServletTest.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -1,5 +1,6 @@
package org.drools.brms.server;
+import java.util.Calendar;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
@@ -11,6 +12,7 @@
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.drools.brms.client.rpc.RuleContentText;
import org.drools.repository.RulesRepository;
/**
@@ -38,6 +40,17 @@
}
+ 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-11-03 10:59:56 UTC (rev 7359)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2006-11-03 11:00:34 UTC (rev 7360)
@@ -6,12 +6,14 @@
import org.drools.brms.client.rpc.RepositoryService;
import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.client.rpc.RuleContentText;
import org.drools.brms.client.rpc.TableConfig;
import org.drools.brms.client.rpc.TableDataResult;
import org.drools.brms.client.rpc.TableDataRow;
import org.drools.brms.client.rulelist.RuleItemListViewer;
import org.drools.repository.CategoryItem;
+import org.drools.repository.RuleItem;
import com.google.gwt.user.client.rpc.SerializableException;
@@ -147,9 +149,16 @@
RuleAsset asset = impl.loadRuleAsset( uuid );
assertNotNull(asset);
- assertNotNull(asset.ruleAsset);
+ assertEquals("description", asset.metaData.description);
+
+ assertNotNull(asset.content);
+ assertTrue(asset.content instanceof RuleContentText);
+ assertEquals("testLoadRuleAsset", asset.metaData.name);
+ assertEquals("testLoadRuleAsset", asset.metaData.title);
+ assertEquals("testLoadRuleAsset", asset.metaData.packageName);
+
}
More information about the jboss-svn-commits
mailing list