[jboss-svn-commits] JBL Code SVN: r26822 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 3 18:41:16 EDT 2009


Author: mrhoden-famc
Date: 2009-06-03 18:41:16 -0400 (Wed, 03 Jun 2009)
New Revision: 26822

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository/SampleSaveEvent.java
Log:
jpa hooks for guvnor

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository/SampleSaveEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository/SampleSaveEvent.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/repository/SampleSaveEvent.java	2009-06-03 22:41:16 UTC (rev 26822)
@@ -0,0 +1,89 @@
+package org.drools.guvnor.server.repository;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import org.drools.repository.events.SaveEvent;
+import org.drools.repository.AssetItem;
+import org.drools.repository.CategoryItem;
+import org.drools.repository.PackageItem;
+import org.drools.guvnor.client.common.AssetFormats;
+import org.drools.guvnor.client.modeldriven.brl.RuleAttribute;
+import org.drools.guvnor.client.modeldriven.brl.RuleModel;
+import org.drools.guvnor.server.util.BRDRLPersistence;
+import org.drools.guvnor.server.util.BRXMLPersistence;
+
+/**
+ * @author Michael Neale
+ */
+public class SampleSaveEvent implements SaveEvent {
+    public void onAssetCheckin(AssetItem item) {
+        if (item.getFormat().equals(AssetFormats.BUSINESS_RULE)) {
+            RuleModel rm = BRXMLPersistence.getInstance().unmarshal(item.getContent(true));
+            //StevePersist(item, drl, xml)    <status, uuid, username, categories>
+            //StevePersist(guid, hm); 
+            HashMap dataToPersist = new HashMap();
+            dataToPersist.put("uuid", item.getUUID());
+            dataToPersist.put("type", "BRL");
+            dataToPersist.put("status", item.getStateDescription());
+            dataToPersist.put("lastmodifiedby", item.getLastContributor());
+            dataToPersist.put("lastmodifieddate", item.getLastModified());
+            List<CategoryItem> lstCategoryItem = item.getCategories();
+            List<String> lstCategoryName = new ArrayList<String>();
+            for(int i=0;i<lstCategoryItem.size();i++){
+            	CategoryItem ci = lstCategoryItem.get(i);
+            	lstCategoryName.add(ci.getName());
+            }
+            //List of Strings
+            dataToPersist.put("category", lstCategoryName);
+            if (rm.attributes.length > 0) {
+				HashMap attributesToPersist = new HashMap();
+				for (int att = 0; att < rm.attributes.length; att++) {
+					attributesToPersist.put(rm.attributes[att].attributeName,rm.attributes[att].value);
+				}
+				//Hash of Strings
+				dataToPersist.put("attributes", attributesToPersist);
+			}
+            
+            if (rm.metadataList.length > 0) {
+				HashMap metadataToPersist = new HashMap();
+				for (int meta = 0; meta < rm.metadataList.length; meta++) {
+					metadataToPersist.put(rm.metadataList[meta].attributeName,rm.metadataList[meta].value);
+				}
+				//Hash of Strings
+				dataToPersist.put("metadata", metadataToPersist);
+			}
+            
+            dataToPersist.put("status", item.getStateDescription());
+            dataToPersist.put("fullxml", item.getContent(true));
+            dataToPersist.put("fulldrl", BRDRLPersistence.getInstance().marshal(rm));
+            //xml = SteveLoad(guid)
+            //list guids = SteveSyncUp()
+            //BRXMLPersistence.getInstance().marshal(data)
+            System.err.println(item.getUUID());
+            System.err.println(item.getStateDescription());
+            System.err.println(item.getLastContributor());
+            System.err.println(item.getLastModified());
+            
+            
+            
+            //TODO getContent calls load, need to flag it off
+            
+            System.err.println(item.getContent());
+            System.err.println(BRDRLPersistence.getInstance().marshal(rm));
+            //or use ... item.getContent()
+        } else if (item.getFormat().equals(AssetFormats.DECISION_TABLE_GUIDED)) {
+            System.err.println(item.getContent());
+        }
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public void onAssetDelete(AssetItem item) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public void onPackageCreate(PackageItem item) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+}




More information about the jboss-svn-commits mailing list