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

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Fri Jul 25 11:48:05 EDT 2008


Author: objectiser
Date: 2008-07-25 11:48:04 -0400 (Fri, 25 Jul 2008)
New Revision: 200

Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/UnsupportedAction.java
Log:
Fix for #SOAG-44, plus some other service/action focus related issues.

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java	2008-07-25 11:40:41 UTC (rev 199)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java	2008-07-25 15:48:04 UTC (rev 200)
@@ -61,8 +61,12 @@
 		m_service = service;
 		m_action = action;
 		
+		int servicesStartPos=-1;
+		
 		if (m_service.getModel() != null &&
-				m_service.getModel().getOriginalContents() != null) {
+				m_service.getModel().getOriginalContents() != null &&
+				(servicesStartPos=m_service.getModel().
+					getOriginalContents().indexOf("<services>")) != -1) {
 			
 			// Find positional information
 			int servCount=m_service.getServicePosition();
@@ -70,7 +74,7 @@
 			
 			String str=m_service.getModel().getOriginalContents();
 	
-			int startPosition=str.indexOf("<service ");
+			int startPosition=str.indexOf("<service", servicesStartPos+2);
 			int endPosition=-1;
 			
 			while (startPosition != -1 && servCount > 0) {
@@ -79,13 +83,18 @@
 				endPosition = str.indexOf("</service>", startPosition);
 				
 				if (servCount > 0) {
-					startPosition=str.indexOf("<service ", endPosition);
+					startPosition=str.indexOf("<service", endPosition);
 				}
 			}
 			
+			int actionsStartPos=-1;
+			
 			if (actionCount > 0 &&
-					startPosition != -1 && endPosition != -1) {
-				startPosition=str.indexOf("<action ", startPosition);
+					startPosition != -1 && endPosition != -1 &&
+					(actionsStartPos=str.indexOf("<actions",
+							startPosition)) != -1 &&
+					actionsStartPos < endPosition) {
+				startPosition=str.indexOf("<action", actionsStartPos+2);
 				endPosition=-1;
 				
 				while (startPosition != -1 && actionCount > 0) {
@@ -94,9 +103,17 @@
 					endPosition = str.indexOf("</action>", startPosition);
 					
 					if (actionCount > 0) {
-						startPosition=str.indexOf("<action ", endPosition);
+						startPosition=str.indexOf("<action", endPosition);
 					}
 				}
+				
+				// Check whether single line element
+				int inlineEndPos=str.indexOf("/>", startPosition);
+				int nextStartPos=str.indexOf("<", startPosition+1);
+				
+				if (inlineEndPos != -1 && inlineEndPos < nextStartPos) {
+					endPosition = inlineEndPos;
+				}
 			}
 			
 			getSource().setStartPosition(startPosition);

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/UnsupportedAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/UnsupportedAction.java	2008-07-25 11:40:41 UTC (rev 199)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/UnsupportedAction.java	2008-07-25 15:48:04 UTC (rev 200)
@@ -51,6 +51,17 @@
 	}
 	
 	/**
+	 * This method validates the ESB action and reports warnings or
+	 * errors to the supplied model listener.
+	 * 
+	 * @param l The model listener
+	 */
+	@Override
+	public void validate(ModelListener l) {
+		// Don't validate unsupported actions
+	}
+	
+	/**
 	 * This method converts the ESB action into an equivalent
 	 * behavioural description for conformance checking.
 	 * 




More information about the overlord-commits mailing list