You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jo...@apache.org on 2008/03/04 06:04:55 UTC

svn commit: r633364 - in /ofbiz/trunk/framework: service/src/org/ofbiz/service/ModelService.java webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java webtools/src/org/ofbiz/webtools/artifactinfo/ServiceArtifactInfo.java

Author: jonesde
Date: Mon Mar  3 21:04:54 2008
New Revision: 633364

URL: http://svn.apache.org/viewvc?rev=633364&view=rev
Log:
Fixed a couple of things, fleshed out a little more data gathering for artifact info

Modified:
    ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java
    ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java
    ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ServiceArtifactInfo.java

Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java?rev=633364&r1=633363&r2=633364&view=diff
==============================================================================
--- ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java (original)
+++ ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java Mon Mar  3 21:04:54 2008
@@ -18,44 +18,57 @@
  *******************************************************************************/
 package org.ofbiz.service;
 
-import java.util.*;
-import java.lang.reflect.Method;
-import java.lang.reflect.Field;
 import java.io.Serializable;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.AbstractMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.TimeZone;
+import java.util.TreeSet;
 
-import javax.wsdl.*;
+import javax.wsdl.Binding;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.BindingOutput;
+import javax.wsdl.Definition;
+import javax.wsdl.Input;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.Output;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.soap.SOAPAddress;
 import javax.wsdl.extensions.soap.SOAPBinding;
 import javax.wsdl.extensions.soap.SOAPBody;
 import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.wsdl.extensions.soap.SOAPAddress;
 import javax.wsdl.factory.WSDLFactory;
 import javax.xml.namespace.QName;
 
 import javolution.util.FastList;
 import javolution.util.FastMap;
 
-import com.ibm.wsdl.extensions.soap.SOAPBindingImpl;
-import com.ibm.wsdl.extensions.soap.SOAPBodyImpl;
-import com.ibm.wsdl.extensions.soap.SOAPOperationImpl;
-import com.ibm.wsdl.extensions.soap.SOAPAddressImpl;
-
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.GeneralException;
 import org.ofbiz.base.util.ObjectType;
 import org.ofbiz.base.util.UtilDateTime;
+import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.base.util.UtilProperties;
 import org.ofbiz.base.util.UtilValidate;
-import org.ofbiz.base.util.UtilMisc;
-import org.ofbiz.entity.model.ModelField;
-import org.ofbiz.entity.model.ModelFieldType;
-import org.ofbiz.entity.model.ModelFieldTypeReader;
-import org.ofbiz.entity.model.ModelKeyMap;
-import org.ofbiz.entity.model.ModelRelation;
 import org.ofbiz.service.group.GroupModel;
 import org.ofbiz.service.group.GroupServiceModel;
 import org.ofbiz.service.group.ServiceGroupReader;
-
 import org.w3c.dom.Document;
+
+import com.ibm.wsdl.extensions.soap.SOAPAddressImpl;
+import com.ibm.wsdl.extensions.soap.SOAPBindingImpl;
+import com.ibm.wsdl.extensions.soap.SOAPBodyImpl;
+import com.ibm.wsdl.extensions.soap.SOAPOperationImpl;
 
 /**
  * Generic Service Model Class

Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java?rev=633364&r1=633363&r2=633364&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java (original)
+++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ArtifactInfoFactory.java Mon Mar  3 21:04:54 2008
@@ -60,36 +60,42 @@
     
     public Map<String, EntityArtifactInfo> allEntityInfos = FastMap.newInstance();
     public Map<String, ServiceArtifactInfo> allServiceInfos = FastMap.newInstance();
+    public Map<ServiceEcaRule, ServiceEcaArtifactInfo> allServiceEcaInfos = FastMap.newInstance();
     public Map<String, FormWidgetArtifactInfo> allFormInfos = FastMap.newInstance();
     public Map<String, ScreenWidgetArtifactInfo> allScreenInfos = FastMap.newInstance();
 
     // reverse-associative caches for walking backward in the diagram
     public Map<String, Set<ServiceEcaArtifactInfo>> allServiceEcaInfosReferringToServiceName = FastMap.newInstance();
     public Map<String, Set<ServiceArtifactInfo>> allServiceInfosReferringToServiceName = FastMap.newInstance();
+    public Map<String, Set<FormWidgetArtifactInfo>> allFormInfosReferringToServiceName = FastMap.newInstance();
+    public Map<String, Set<ScreenWidgetArtifactInfo>> allScreenInfosReferringToServiceName = FastMap.newInstance();
+    
     public Map<String, Set<ServiceArtifactInfo>> allServiceInfosReferringToEntityName = FastMap.newInstance();
-    public Map<String, Set<ServiceArtifactInfo>> allFormInfosReferringToServiceName = FastMap.newInstance();
-    public Map<String, Set<ServiceArtifactInfo>> allFormInfosReferringToEntityName = FastMap.newInstance();
-    public Map<String, Set<ServiceArtifactInfo>> allScreenInfosReferringToServiceName = FastMap.newInstance();
-    public Map<String, Set<ServiceArtifactInfo>> allScreenInfosReferringToEntityName = FastMap.newInstance();
+    public Map<String, Set<FormWidgetArtifactInfo>> allFormInfosReferringToEntityName = FastMap.newInstance();
+    public Map<String, Set<ScreenWidgetArtifactInfo>> allScreenInfosReferringToEntityName = FastMap.newInstance();
+
+    public Map<ServiceEcaRule, Set<ServiceArtifactInfo>> allServiceInfosReferringToServiceEcaRule = FastMap.newInstance();
     
-    public static ArtifactInfoFactory makeArtifactInfoFactory(String delegatorName) throws GenericEntityException {
+    public static ArtifactInfoFactory makeArtifactInfoFactory(String delegatorName) throws GeneralException {
         if (UtilValidate.isEmpty(delegatorName)) {
             delegatorName = "default";
         }
         
-        ArtifactInfoFactory aic = artifactInfoFactoryCache.get(delegatorName);
-        if (aic == null) {
-            aic = new ArtifactInfoFactory(delegatorName);
+        ArtifactInfoFactory aif = artifactInfoFactoryCache.get(delegatorName);
+        if (aif == null) {
+            aif = new ArtifactInfoFactory(delegatorName);
         }
-        return aic;
+        return aif;
     }
     
-    protected ArtifactInfoFactory(String delegatorName) throws GenericEntityException {
+    protected ArtifactInfoFactory(String delegatorName) throws GeneralException {
         this.delegatorName = delegatorName;
         this.entityModelReader = ModelReader.getModelReader(delegatorName);
         this.dispatchContext = new DispatchContext("ArtifactInfoDispCtx", null, this.getClass().getClassLoader(), null);
         this.entityEcaCache = EntityEcaUtil.getEntityEcaCache(EntityEcaUtil.getEntityEcaReaderName(delegatorName));
         this.serviceEcaCache = ServiceEcaUtil.ecaCache;
+        
+        this.prepareAll();
     }
     
     public void prepareAll() throws GeneralException {
@@ -103,7 +109,7 @@
             this.getServiceArtifactInfo(serviceName);
         }
         
-        // TODO: how to get all Service ECAs to prepare?
+        // how to get all Service ECAs to prepare? don't worry about it, will be populated from service load, ie all ECAs for each service
         
         // TODO: how to get all forms to prepare?
         
@@ -148,6 +154,15 @@
         if (curInfo == null) {
             curInfo = new ServiceArtifactInfo(serviceName, this);
             this.allServiceInfos.put(serviceName, curInfo);
+        }
+        return curInfo;
+    }
+    
+    public ServiceEcaArtifactInfo getServiceEcaArtifactInfo(ServiceEcaRule ecaRule) throws GeneralException {
+        ServiceEcaArtifactInfo curInfo = this.allServiceEcaInfos.get(ecaRule);
+        if (curInfo == null) {
+            curInfo = new ServiceEcaArtifactInfo(ecaRule, this);
+            this.allServiceEcaInfos.put(ecaRule, curInfo);
         }
         return curInfo;
     }

Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ServiceArtifactInfo.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ServiceArtifactInfo.java?rev=633364&r1=633363&r2=633364&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ServiceArtifactInfo.java (original)
+++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/artifactinfo/ServiceArtifactInfo.java Mon Mar  3 21:04:54 2008
@@ -32,9 +32,10 @@
 import org.ofbiz.base.util.UtilFormatOut;
 import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.minilang.SimpleMethod;
-import org.ofbiz.service.GenericServiceException;
 import org.ofbiz.service.ModelParam;
 import org.ofbiz.service.ModelService;
+import org.ofbiz.service.eca.ServiceEcaRule;
+import org.ofbiz.service.eca.ServiceEcaUtil;
 
 /**
  *
@@ -96,9 +97,16 @@
         }
     }
     
-    protected void populateTriggeredServiceEcas() {
-        // TODO populate serviceEcasTriggeredByThisService and for each the reverse-associate cache in the aif
-        
+    protected void populateTriggeredServiceEcas() throws GeneralException {
+        // populate serviceEcasTriggeredByThisService and for each the reverse-associate cache in the aif
+        Map<String, List<ServiceEcaRule>> serviceEventMap = ServiceEcaUtil.getServiceEventMap(this.modelService.name);
+        for (List<ServiceEcaRule> ecaRuleList: serviceEventMap.values()) {
+            for (ServiceEcaRule ecaRule: ecaRuleList) {
+                this.serviceEcasTriggeredByThisService.add(aif.getServiceEcaArtifactInfo(ecaRule));
+                // the reverse reference
+                UtilMisc.addToSetInMap(this, aif.allServiceInfosReferringToServiceEcaRule, ecaRule);
+            }
+        }
     }
     
     public ModelService getModelService() {