[overlord-commits] Overlord SVN: r263 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src: java/org/jboss/tools/overlord/jbossesb/model/actions and 3 other directories.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Thu Aug 21 16:15:54 EDT 2008


Author: objectiser
Date: 2008-08-21 16:15:54 -0400 (Thu, 21 Aug 2008)
New Revision: 263

Added:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/util/ESBModelUtil.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/util/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/util/ESBModelUtilTest.java
Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBLanguageModel.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBService.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/TestModelListener.java
Log:
New Map<String,Object> properties type in model listener, and set 'path' property associated with ESB service and actions.

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBLanguageModel.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBLanguageModel.java	2008-08-21 10:15:23 UTC (rev 262)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBLanguageModel.java	2008-08-21 20:15:54 UTC (rev 263)
@@ -17,20 +17,11 @@
  */
 package org.jboss.tools.overlord.jbossesb.model;
 
-import java.util.Properties;
 import java.util.logging.Logger;
 
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
 import org.scribble.conversation.model.*;
 import org.scribble.extensions.RegistryFactory;
 import org.scribble.model.*;
-import org.scribble.osgi.model.OSGIModelRepository;
 
 /**
  * This class represents an ESB model.
@@ -638,36 +629,36 @@
 			m_listener = l;
 		}
 		
-		public void error(ModelObject src, String mesg, Properties props) {
+		public void error(ModelObject src, String mesg, java.util.Map<String,Object> props) {
 			
 			if (props == null) {
-				props = new Properties();
+				props = new java.util.HashMap<String,Object>();
 			}
 			
 			props.put(ModelListener.RESOLUTIONS, ModelListener.SHOW_REFERENCE_DESCRIPTION_RESOLUTION);
 			props.put(ModelListener.REFERENCE_MODEL, m_source);
 			props.put(ModelListener.REFERENCE_MODEL_START_POSITION, src.getSource().getStartPosition());
 			props.put(ModelListener.REFERENCE_MODEL_END_POSITION, src.getSource().getEndPosition());
-			if (src.getSource().getComponent() != null) {
+			if (src.getSource().getComponentURI() != null) {
 				props.put(ModelListener.REFERENCE_MODEL_COMPONENT,
-								src.getSource().getComponent());
+								src.getSource().getComponentURI());
 			}
 			
 			m_listener.error(src, mesg, props);
 		}
 
-		public void warning(ModelObject src, String mesg, Properties props) {
+		public void warning(ModelObject src, String mesg, java.util.Map<String,Object> props) {
 			if (props == null) {
-				props = new Properties();
+				props = new java.util.HashMap<String,Object>();
 			}
 			
 			props.put(ModelListener.RESOLUTIONS, ModelListener.SHOW_REFERENCE_DESCRIPTION_RESOLUTION);
 			props.put(ModelListener.REFERENCE_MODEL, m_source);
 			props.put(ModelListener.REFERENCE_MODEL_START_POSITION, src.getSource().getStartPosition());
 			props.put(ModelListener.REFERENCE_MODEL_END_POSITION, src.getSource().getEndPosition());
-			if (src.getSource().getComponent() != null) {
+			if (src.getSource().getComponentURI() != null) {
 				props.put(ModelListener.REFERENCE_MODEL_COMPONENT,
-								src.getSource().getComponent());
+								src.getSource().getComponentURI());
 			}
 			
 			m_listener.warning(src, mesg, props);

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBService.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBService.java	2008-08-21 10:15:23 UTC (rev 262)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBService.java	2008-08-21 20:15:54 UTC (rev 263)
@@ -19,6 +19,7 @@
 
 import java.util.logging.Logger;
 
+import org.jboss.tools.overlord.jbossesb.model.util.ESBModelUtil;
 import org.scribble.model.*;
 import org.scribble.conversation.model.*;
 
@@ -143,6 +144,9 @@
 					
 				getSource().setStartPosition(startPosition);
 				getSource().setEndPosition(loggedEndPosition);
+				
+				getSource().getProperties().put("path",
+							ESBModelUtil.getPath(m_service));
 			}
 		}
 		

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java	2008-08-21 10:15:23 UTC (rev 262)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java	2008-08-21 20:15:54 UTC (rev 263)
@@ -21,6 +21,7 @@
 
 import org.scribble.model.*;
 import org.jboss.tools.overlord.jbossesb.model.*;
+import org.jboss.tools.overlord.jbossesb.model.util.ESBModelUtil;
 import org.jboss.tools.overlord.jbossesb.model.util.ProblemDefinitions;
 
 /**
@@ -144,6 +145,9 @@
 			
 			getSource().setStartPosition(startPosition);
 			getSource().setEndPosition(loggedEndPosition);
+			
+			getSource().getProperties().put("path",
+						ESBModelUtil.getPath(m_action));
 		}
 	}
 	
@@ -166,8 +170,8 @@
 		
 		for (int i=0; i < mandatory.size(); i++) {
 			if (getPropertyValue(mandatory.get(i)) == null) {
-				java.util.Properties props=new java.util.Properties();
-				props.setProperty(ProblemDefinitions.PROBLEM_PROPERTY,
+				java.util.Map<String,Object> props=new java.util.HashMap<String,Object>();
+				props.put(ProblemDefinitions.PROBLEM_PROPERTY,
 								mandatory.get(i));
 				l.error(this, org.scribble.util.MessageUtil.format(
 						java.util.PropertyResourceBundle.getBundle(
@@ -237,8 +241,8 @@
 					getService().getSessionName().equals(
 						link.getService().getSessionName()) == false) {
 				
-				java.util.Properties props=new java.util.Properties();
-				props.setProperty(ProblemDefinitions.PROBLEM_PROPERTY,
+				java.util.Map<String,Object> props=new java.util.HashMap<String,Object>();
+				props.put(ProblemDefinitions.PROBLEM_PROPERTY,
 								DefaultESBService.BUSINESS_OBJECT_TYPE_PROPERTY);
 				
 				l.error(this, org.scribble.util.MessageUtil.format(

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/util/ESBModelUtil.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/util/ESBModelUtil.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/util/ESBModelUtil.java	2008-08-21 20:15:54 UTC (rev 263)
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2005-8 Pi4 Technologies Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * Change History:
+ * 21 Aug 2008 : Initial version created by gary
+ */
+package org.jboss.tools.overlord.jbossesb.model.util;
+
+public class ESBModelUtil {
+
+	public static String getPath(org.w3c.dom.Element elem) {
+		String ret="";
+		
+		if (elem != null) {
+			if (elem.hasAttribute("name")) {
+				ret = elem.getAttribute("name");
+			} else {
+				ret = elem.getNodeName();
+			}
+			
+			if (elem.getParentNode() instanceof org.w3c.dom.Element) {
+				String parentPath=getPath((org.w3c.dom.Element)
+							elem.getParentNode());
+				
+				if (parentPath != null && parentPath.trim().length() > 0) {
+					ret = parentPath+"/"+ret;
+				}
+			}
+		}
+		
+		return(ret);
+	}
+}

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/TestModelListener.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/TestModelListener.java	2008-08-21 10:15:23 UTC (rev 262)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/TestModelListener.java	2008-08-21 20:15:54 UTC (rev 263)
@@ -17,17 +17,17 @@
  */
 package org.jboss.tools.overlord.jbossesb.model;
 
-import java.util.Properties;
-
 import org.scribble.model.ModelObject;
 
 public class TestModelListener implements org.scribble.model.ModelListener {
 
-	public void error(ModelObject modelObject, String mesg, Properties props) {
+	public void error(ModelObject modelObject, String mesg,
+					java.util.Map<String,Object> props) {
 		reported(mesg);
 	}
 
-	public void warning(ModelObject modelObject, String mesg, Properties props) {
+	public void warning(ModelObject modelObject, String mesg,
+					java.util.Map<String,Object> props) {
 		reported(mesg);
 	}
 	

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/util/ESBModelUtilTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/util/ESBModelUtilTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/util/ESBModelUtilTest.java	2008-08-21 20:15:54 UTC (rev 263)
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2005-8 Pi4 Technologies Ltd
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * Change History:
+ * 21 Aug 2008 : Initial version created by gary
+ */
+package org.jboss.tools.overlord.jbossesb.model.util;
+
+import junit.framework.TestCase;
+
+public class ESBModelUtilTest extends TestCase {
+
+	public void testGetPathSingleElementNoName() {
+		org.w3c.dom.Document doc=null;
+		
+		try {
+			doc = javax.xml.parsers.DocumentBuilderFactory.
+				newInstance().newDocumentBuilder().newDocument();
+		} catch(Exception e) {
+			fail("Failed to create initial document: "+e);
+		}
+		
+		org.w3c.dom.Element elem=doc.createElement("top");
+		
+		String path=ESBModelUtil.getPath(elem);
+		
+		if (path == null) {
+			fail("Path null");
+		}
+		
+		if (path.equals("top") == false) {
+			fail("Path not as expected");
+		}
+	}
+
+	public void testGetPathMultipleElementNoName() {
+		org.w3c.dom.Document doc=null;
+		
+		try {
+			doc = javax.xml.parsers.DocumentBuilderFactory.
+				newInstance().newDocumentBuilder().newDocument();
+		} catch(Exception e) {
+			fail("Failed to create initial document: "+e);
+		}
+		
+		org.w3c.dom.Element elem1=doc.createElement("top");
+		
+		org.w3c.dom.Element elem2=doc.createElement("sub");
+		elem1.appendChild(elem2);
+		
+		String path=ESBModelUtil.getPath(elem2);
+		
+		if (path == null) {
+			fail("Path null");
+		}
+		
+		if (path.equals("top/sub") == false) {
+			fail("Path not as expected");
+		}
+	}
+
+	public void testGetPathMultipleElementWithNames() {
+		org.w3c.dom.Document doc=null;
+		
+		try {
+			doc = javax.xml.parsers.DocumentBuilderFactory.
+				newInstance().newDocumentBuilder().newDocument();
+		} catch(Exception e) {
+			fail("Failed to create initial document: "+e);
+		}
+		
+		org.w3c.dom.Element elem1=doc.createElement("top");
+		
+		org.w3c.dom.Element elem2=doc.createElement("sub1");
+		elem1.appendChild(elem2);
+		
+		elem2.setAttribute("name", "fred");
+		
+		org.w3c.dom.Element elem3=doc.createElement("sub2");
+		elem2.appendChild(elem3);
+
+		elem3.setAttribute("name", "bloggs");
+		
+		String path=ESBModelUtil.getPath(elem3);
+		
+		if (path == null) {
+			fail("Path null");
+		}
+		
+		if (path.equals("top/fred/bloggs") == false) {
+			fail("Path not as expected");
+		}
+	}
+}




More information about the overlord-commits mailing list