[jboss-svn-commits] JBL Code SVN: r14039 - in labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse: dsl/editor and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Aug 4 20:56:17 EDT 2007


Author: KrisVerlaenen
Date: 2007-08-04 20:56:17 -0400 (Sat, 04 Aug 2007)
New Revision: 14039

Modified:
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
Log:
JBRULES-1048: Context assist is not working for DSLs in Eclipse
 - content assist now allows dsl definition to be in .package file

Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	2007-08-05 00:22:09 UTC (rev 14038)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/builder/DroolsBuilder.java	2007-08-05 00:56:17 UTC (rev 14039)
@@ -20,6 +20,7 @@
 import org.drools.compiler.FieldTemplateError;
 import org.drools.compiler.FunctionError;
 import org.drools.compiler.GlobalError;
+import org.drools.compiler.ImportError;
 import org.drools.compiler.PackageBuilder;
 import org.drools.compiler.ParserError;
 import org.drools.compiler.ProcessBuilder;
@@ -383,6 +384,8 @@
         		markers.add(new DroolsBuildMarker(error.getMessage(), ((FieldTemplateError) error).getLine()));
         	} else if (error instanceof FactTemplateError) {
         		markers.add(new DroolsBuildMarker(error.getMessage(), ((FactTemplateError) error).getLine()));
+        	} else if (error instanceof ImportError) {
+        		markers.add(new DroolsBuildMarker("ImportError: " + error.getMessage()));
         	} else {
         		markers.add(new DroolsBuildMarker("Unknown DroolsError " + error.getClass() + ": " + error));
         	}

Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	2007-08-05 00:22:09 UTC (rev 14038)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLAdapter.java	2007-08-05 00:56:17 UTC (rev 14039)
@@ -52,35 +52,18 @@
      * @param content Rule source
      * @param input File from the FileEditorInput
      */
-    public DSLAdapter(String content, IFile input) {
-        dslConfigName = findDSLConfigName( content );
-        if (dslConfigName == null) return;
+    public DSLAdapter(String content, IFile input) throws CoreException {
+        dslConfigName = findDSLConfigName( content, input );
+        if (dslConfigName == null) {
+        	return;
+        }
         loadConfig( input );
     }
     
     /** Get a reader to the DSL contents */
     public static Reader getDSLContent(String ruleSource, IResource input) throws CoreException {
-        String dslFileName = findDSLConfigName( ruleSource );
+        String dslFileName = findDSLConfigName( ruleSource, input );
         if (dslFileName == null) {
-        	// try searching the .package file
-        	if (input != null && input.getParent() != null) {
-            	MyResourceVisitor visitor = new MyResourceVisitor();
-            	input.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
-            	IResource packageDef = visitor.getPackageDef();
-            	if (packageDef != null) {
-            		if (packageDef instanceof IFile) {
-            			IFile file = (IFile) packageDef;
-            	        try {
-            	        	String content = new String(Util.getResourceContentsAsCharArray(file));
-            	        	dslFileName = findDSLConfigName( content );
-            	        } catch (CoreException e) {
-            	        	DroolsEclipsePlugin.log(e);
-            	        }
-            		}
-            	}
-            }
-        }
-        if (dslFileName == null) {
         	return null;
         }
         IResource res = findDSLResource( input, dslFileName );
@@ -158,6 +141,30 @@
     DSLAdapter() {
         
     }
+    
+    private static String findDSLConfigName(String content, IResource input) throws CoreException {
+        String dslConfigName = findDSLConfigName( content );
+        if (dslConfigName == null)  {
+	    	// try searching the .package file
+	    	if (input != null && input.getParent() != null) {
+	        	MyResourceVisitor visitor = new MyResourceVisitor();
+	        	input.getParent().accept(visitor, IResource.DEPTH_ONE, IResource.NONE);
+	        	IResource packageDef = visitor.getPackageDef();
+	        	if (packageDef != null) {
+	        		if (packageDef instanceof IFile) {
+	        			IFile file = (IFile) packageDef;
+	        	        try {
+	        	        	String pContent = new String(Util.getResourceContentsAsCharArray(file));
+	        	        	dslConfigName = findDSLConfigName( pContent );
+	        	        } catch (CoreException e) {
+	        	        	DroolsEclipsePlugin.log(e);
+	        	        }
+	        		}
+	        	}
+	        }
+        }
+        return dslConfigName;
+    }
 
     /** Sniffs out the expander/DSL config name as best it can. */
     static String findDSLConfigName(String content) {

Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	2007-08-05 00:22:09 UTC (rev 14038)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor.java	2007-08-05 00:56:17 UTC (rev 14039)
@@ -1,6 +1,7 @@
 package org.drools.eclipse.dsl.editor;
 
 import org.drools.eclipse.editors.DRLRuleEditor;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.text.source.SourceViewerConfiguration;
 import org.eclipse.ui.part.FileEditorInput;
@@ -11,9 +12,13 @@
 
 	public DSLAdapter getDSLAdapter() {
 		if (dslAdapter == null) {
-			String content = getSourceViewer().getDocument().get();
-			dslAdapter = new DSLAdapter(content, ((FileEditorInput) getEditorInput()).getFile());
-			if (!dslAdapter.isValid()) {
+			try {
+				String content = getSourceViewer().getDocument().get();
+				dslAdapter = new DSLAdapter(content, ((FileEditorInput) getEditorInput()).getFile());
+				if (!dslAdapter.isValid()) {
+					dslAdapter = null;
+				}
+			} catch (CoreException exc) {
 				dslAdapter = null;
 			}
 		}

Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2007-08-05 00:22:09 UTC (rev 14038)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/completion/DefaultCompletionProcessor.java	2007-08-05 00:56:17 UTC (rev 14039)
@@ -307,10 +307,10 @@
         return Collections.EMPTY_LIST;
     }
 
-    protected Set getUniqueImports() {
-            HashSet set = new HashSet();
-			set.addAll(getImports());
-			return set;
+    protected List getUniqueImports() {
+        List list = new ArrayList();
+		list.addAll(getImports());
+		return list;
     }
 
     protected List getFunctions() {




More information about the jboss-svn-commits mailing list