[overlord-commits] Overlord SVN: r256 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb: src/java/org/jboss/tools/overlord/jbossesb and 4 other directories.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Wed Aug 20 11:32:03 EDT 2008


Author: objectiser
Date: 2008-08-20 11:32:03 -0400 (Wed, 20 Aug 2008)
New Revision: 256

Added:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/editor/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/editor/JBossESBConfigEditorManager.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/util/ProblemDefinitions.java
Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/META-INF/MANIFEST.MF
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBService.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java
Log:
Partial fix for SOAG-39. Now just flags the first line of the service or action associated with an error.

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/META-INF/MANIFEST.MF
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/META-INF/MANIFEST.MF	2008-08-20 10:17:16 UTC (rev 255)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/META-INF/MANIFEST.MF	2008-08-20 15:32:03 UTC (rev 256)
@@ -14,9 +14,12 @@
  org.scribble.conversation.model,
  org.scribble.lang.model,
  org.scribble.core,
- org.eclipse.jface.text
+ org.eclipse.jface.text,
+ org.eclipse.ui.workbench.texteditor;bundle-version="3.4.0",
+ org.eclipse.ui.ide;bundle-version="3.4.0"
 Scribble-Extensions: org.jboss.tools.overlord.jbossesb.parser.JBossESBParser,
   org.jboss.tools.overlord.jbossesb.parser.JBossESBNotation,
+  org.jboss.tools.overlord.jbossesb.editor.JBossESBConfigEditorManager,
   org.jboss.tools.overlord.jbossesb.validation.ESBLanguageModelValidationRule,
   org.jboss.tools.overlord.jbossesb.model.change.LanguageToConversationModelChangeRule,
   org.jboss.tools.overlord.jbossesb.model.change.ConversationModelChangeRule,

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/editor/JBossESBConfigEditorManager.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/editor/JBossESBConfigEditorManager.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/editor/JBossESBConfigEditorManager.java	2008-08-20 15:32:03 UTC (rev 256)
@@ -0,0 +1,78 @@
+/*
+ * 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:
+ * 19 Jun 2008 : Initial version created by gary
+ */
+package org.jboss.tools.overlord.jbossesb.editor;
+
+import org.scribble.extensions.RegistryInfo;
+import org.scribble.model.SourceRef;
+import org.scribble.editor.EditorManager;
+import org.jboss.tools.overlord.jbossesb.model.*;
+
+/**
+ * This is the JBossESB config implementation of the EditorManager
+ * interface.
+ */
+ at RegistryInfo(extension=EditorManager.class,preference=10,notation=ESBLanguageModel.JBOSSESB_NOTATION)
+public class JBossESBConfigEditorManager implements EditorManager {
+
+	/**
+	 * This method focuses the editor on the specified source
+	 * file, associated with the supplied URI, and the component
+	 * within that file, identified by the source reference.
+	 * 
+	 * @param uri The source file URI
+	 * @param ref The component source reference
+	 * @param prop Additional properties
+	 */
+	public void focus(String uri, SourceRef ref,
+					java.util.Map<String,Object> props) {
+		
+		if (uri != null) {
+			org.eclipse.ui.IWorkbenchPage page=
+						org.eclipse.ui.PlatformUI.getWorkbench().
+							getActiveWorkbenchWindow().getActivePage();
+			
+			org.eclipse.core.resources.IResource res=
+				org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().findMember(uri);
+			
+			if (res instanceof org.eclipse.core.resources.IFile) {
+				org.eclipse.ui.part.FileEditorInput input=
+						new org.eclipse.ui.part.FileEditorInput(
+								(org.eclipse.core.resources.IFile)res);
+			
+				try {
+					org.eclipse.ui.IEditorPart part=page.openEditor(input,
+								"org.scribble.designer.editor.ScribbleEditor");
+					
+					if (part instanceof org.eclipse.ui.texteditor.ITextEditor) {
+						org.eclipse.ui.texteditor.ITextEditor editor=
+							(org.eclipse.ui.texteditor.ITextEditor)part;
+						
+						editor.selectAndReveal(ref.getStartPosition(),
+								ref.getEndPosition()-ref.getStartPosition());
+					}
+					
+				} catch(Exception e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+}

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBService.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBService.java	2008-08-20 10:17:16 UTC (rev 255)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/DefaultESBService.java	2008-08-20 15:32:03 UTC (rev 256)
@@ -19,15 +19,8 @@
 
 import java.util.logging.Logger;
 
-import org.eclipse.jdt.core.*;
-import org.eclipse.core.resources.*;
-
-// TODO: Need to find alternative to JavaModel
-import org.eclipse.jdt.internal.core.*;
-
 import org.scribble.model.*;
 import org.scribble.conversation.model.*;
-import org.scribble.osgi.model.*;
 
 /**
  * This class represents an ESB service.
@@ -131,10 +124,13 @@
 		if (str != null) {
 			int startPosition=str.indexOf("<service ");
 			int endPosition=-1;
+			int loggedEndPosition=-1;
 			
 			while (startPosition != -1 && servCount > 0) {
 				servCount--;
 				
+				loggedEndPosition = str.indexOf('>', startPosition);
+				
 				endPosition = str.indexOf("</service>", startPosition);
 				
 				if (servCount > 0) {
@@ -146,7 +142,7 @@
 				endPosition = str.indexOf("</service>", startPosition);
 					
 				getSource().setStartPosition(startPosition);
-				getSource().setEndPosition(endPosition);
+				getSource().setEndPosition(loggedEndPosition);
 			}
 		}
 		

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-08-20 10:17:16 UTC (rev 255)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java	2008-08-20 15:32:03 UTC (rev 256)
@@ -21,6 +21,7 @@
 
 import org.scribble.model.*;
 import org.jboss.tools.overlord.jbossesb.model.*;
+import org.jboss.tools.overlord.jbossesb.model.util.ProblemDefinitions;
 
 /**
  * This is the generic ESB action class.
@@ -98,6 +99,7 @@
 	
 			int startPosition=str.indexOf("<service", servicesStartPos+2);
 			int endPosition=-1;
+			int loggedEndPosition=-1;
 			
 			while (startPosition != -1 && servCount > 0) {
 				servCount--;
@@ -122,6 +124,8 @@
 				while (startPosition != -1 && actionCount > 0) {
 					actionCount--;
 					
+					loggedEndPosition = str.indexOf('>', startPosition);
+					
 					endPosition = str.indexOf("</action>", startPosition);
 					
 					if (actionCount > 0) {
@@ -139,7 +143,7 @@
 			}
 			
 			getSource().setStartPosition(startPosition);
-			getSource().setEndPosition(endPosition);
+			getSource().setEndPosition(loggedEndPosition);
 		}
 	}
 	
@@ -162,11 +166,14 @@
 		
 		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,
+								mandatory.get(i));
 				l.error(this, org.scribble.util.MessageUtil.format(
 						java.util.PropertyResourceBundle.getBundle(
 						"org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
 							"_NOT_SPECIFIED_PROPERTY",
-							new String[]{mandatory.get(i)}), null);
+							new String[]{mandatory.get(i)}), props);
 			}
 		}
 		
@@ -230,11 +237,15 @@
 					getService().getSessionName().equals(
 						link.getService().getSessionName()) == false) {
 				
+				java.util.Properties props=new java.util.Properties();
+				props.setProperty(ProblemDefinitions.PROBLEM_PROPERTY,
+								DefaultESBService.BUSINESS_OBJECT_TYPE_PROPERTY);
+				
 				l.error(this, org.scribble.util.MessageUtil.format(
 						java.util.PropertyResourceBundle.getBundle(
 						"org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
 							"_MISMATCH_SESSION_CLASS",
-							new String[]{link.getCategory(),link.getName()}), null);
+							new String[]{link.getCategory(),link.getName()}), props);
 			}
 		}
 	}

Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/util/ProblemDefinitions.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/util/ProblemDefinitions.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/util/ProblemDefinitions.java	2008-08-20 15:32:03 UTC (rev 256)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.jboss.tools.overlord.jbossesb.model.util;
+
+public class ProblemDefinitions {
+
+	// Defined when the error/warning relates to a property on
+	// an ESB action
+	public static final String PROBLEM_PROPERTY="ProblemProperty";
+	
+}




More information about the overlord-commits mailing list