[jboss-svn-commits] JBL Code SVN: r14005 - in labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder: ui and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Aug 3 10:52:35 EDT 2007
Author: ahtik
Date: 2007-08-03 10:52:35 -0400 (Fri, 03 Aug 2007)
New Revision: 14005
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
Log:
Added support for expanding DRL with the DSL for guided editor
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java 2007-08-03 14:23:04 UTC (rev 14004)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java 2007-08-03 14:52:35 UTC (rev 14005)
@@ -4,6 +4,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
+import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.ArrayList;
@@ -13,7 +14,9 @@
import org.drools.brms.server.rules.SuggestionCompletionLoader;
import org.drools.brms.server.util.BRDRLPersistence;
import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.compiler.DrlParser;
import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.dsl.editor.DSLAdapter;
import org.drools.eclipse.util.ProjectClassLoader;
import org.drools.lang.dsl.DSLMappingFile;
import org.eclipse.core.internal.resources.Container;
@@ -40,6 +43,7 @@
import org.eclipse.ui.editors.text.TextEditor;
import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.ide.ResourceUtil;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.ui.texteditor.DocumentProviderRegistry;
import org.eclipse.ui.texteditor.IDocumentProvider;
@@ -275,15 +279,25 @@
}
private void updateDRLPage() {
-
- String drl;
+
+ String drl="";
try {
drl = BRDRLPersistence.getInstance().marshal( guidedEditor.getRuleModel() );
+
+ IResource resource = ResourceUtil.getResource( xmlEditor.getEditorInput() );
+
+ Reader reader = DSLAdapter.getDSLContent( drl, resource );
+ DrlParser parser = new DrlParser();
+
+ if (reader!=null) {
+ drl = parser.getExpandedDRL( drl, reader );
+ }
+
} catch ( Throwable t ) {
StringWriter strwriter = new StringWriter();
t.printStackTrace( new PrintWriter( strwriter ) );
- drl = strwriter.toString();
+ drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n"+drl+"\n\nSTACKTRACE:\n"+strwriter.toString();
}
drlPreviewText.setText( drl );
}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java 2007-08-03 14:23:04 UTC (rev 14004)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/ui/DSLSentenceWidget.java 2007-08-03 14:52:35 UTC (rev 14005)
@@ -93,26 +93,6 @@
//final Text thisBox = currentBox;
elems++;
- currentBox.addModifyListener( new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- updateSentence();
- /* Point p = thisBox.getSize();
-
- GC gc = new GC(thisBox);
- gc.setFont(thisBox.getFont());
- FontMetrics fontMetrics = gc.getFontMetrics();
- int w = fontMetrics.getAverageCharWidth()*thisBox.getText().length();
- gc.dispose();
-
-
- thisBox.setSize( w, p.y );
- thisBox.redraw();
- parent.redraw();
- */
- getModeller().setDirty( true );
- }
- } );
-
widgets.add( currentBox );
} else if ( c == '}' ) {
@@ -142,6 +122,33 @@
l.marginBottom = 0;
parent.setLayout( l );
+ // Attach listeners
+ Iterator widgetiter = widgets.iterator();
+ while ( widgetiter.hasNext() ) {
+ Object o = (Object) widgetiter.next();
+ if (o instanceof Text) {
+ ((Text)o).addModifyListener( new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ updateSentence();
+ /* Point p = thisBox.getSize();
+
+ GC gc = new GC(thisBox);
+ gc.setFont(thisBox.getFont());
+ FontMetrics fontMetrics = gc.getFontMetrics();
+ int w = fontMetrics.getAverageCharWidth()*thisBox.getText().length();
+ gc.dispose();
+
+
+ thisBox.setSize( w, p.y );
+ thisBox.redraw();
+ parent.redraw();
+ */
+ getModeller().setDirty( true );
+ }
+ } );
+
+ }
+ }
toolkit.paintBordersFor( parent );
}
@@ -155,7 +162,7 @@
newSentence = newSentence + "{" + ((Text) wid).getText() + "}";
}
}
- this.sentence.sentence = newSentence.trim();
+ this.sentence.sentence = newSentence;
}
}
More information about the jboss-svn-commits
mailing list