[overlord-commits] Overlord SVN: r191 - cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Fri Jul 18 10:18:51 EDT 2008


Author: objectiser
Date: 2008-07-18 10:18:51 -0400 (Fri, 18 Jul 2008)
New Revision: 191

Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBLanguageModel.java
Log:
SOAG-38 - changes to referenced 'session' classes now result in the jboss-esb.xml being revalidated.

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBLanguageModel.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBLanguageModel.java	2008-07-18 10:40:22 UTC (rev 190)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBLanguageModel.java	2008-07-18 14:18:51 UTC (rev 191)
@@ -40,6 +40,7 @@
 public class DefaultESBLanguageModel extends org.scribble.lang.model.LanguageModel
 					implements ESBLanguageModel {
 
+	public static final String JAVA_NOTATION = "java";
 	private static final String SERVICE_ELEMENT = "service";
 	private static final String SERVICES_ELEMENT = "services";
 
@@ -109,6 +110,7 @@
 			}
 			
 			// Initialize the conversations
+			java.util.List<String> sessionClasses=new java.util.Vector<String>();
 			java.util.Iterator<ESBService> serviter=getServices().iterator();
 			
 			while (serviter.hasNext()) {
@@ -187,7 +189,33 @@
 					
 					getConversations().add(conv);
 				}
+				
+				//Add session class to list
+				String sessionClass=service.getSessionName();
+				
+				if (sessionClass != null &&
+						sessionClasses.contains(sessionClass) == false) {
+					sessionClasses.add(sessionClass);
+				}
 			}
+			
+			// Add dependency on session classes
+			for (int i=0; i < sessionClasses.size(); i++) {
+				String sessionClass=sessionClasses.get(i);
+				int index=sessionClass.lastIndexOf('.');
+				String nspace="";
+				String local=sessionClass;
+				
+				if (index != -1) {
+					nspace = sessionClass.substring(0, index);
+					local = sessionClass.substring(index+1);
+					
+					dm.recordDependency(getModelReference(),
+							new ModelReference(nspace, local,
+									null, JAVA_NOTATION),
+									DependencyType.Uses);
+				}
+			}
 		}
 		
 		if (logger.isLoggable(java.util.logging.Level.FINEST)) {




More information about the overlord-commits mailing list