[jboss-svn-commits] JBL Code SVN: r31785 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Feb 23 04:32:49 EST 2010
Author: Rikkola
Date: 2010-02-23 04:32:48 -0500 (Tue, 23 Feb 2010)
New Revision: 31785
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/PackageBuilderWidget.java
Log:
GUVNOR-112 : Add line numbers in DRL Editor
-Fixed a bug if one row had two strings with same value. For example: Person( name == "Toni" && name == "Toni" ), freezes the editor.
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/PackageBuilderWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/PackageBuilderWidget.java 2010-02-23 09:28:35 UTC (rev 31784)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/PackageBuilderWidget.java 2010-02-23 09:32:48 UTC (rev 31785)
@@ -28,6 +28,7 @@
import org.drools.guvnor.client.common.InfoPopup;
import org.drools.guvnor.client.common.LoadingPopup;
import org.drools.guvnor.client.rpc.BuilderResult;
+import org.drools.guvnor.client.rpc.BuilderResultLine;
import org.drools.guvnor.client.rpc.PackageConfigData;
import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
import org.drools.guvnor.client.rpc.SnapshotInfo;
@@ -305,8 +306,8 @@
category,
enableCategorySelector,
customSelector,
- new GenericCallback<BuilderResult[]>() {
- public void onSuccess(BuilderResult[] result) {
+ new GenericCallback<BuilderResult>() {
+ public void onSuccess(BuilderResult result) {
LoadingPopup.close();
if ( result == null ) {
showSuccessfulBuild( buildResults );
@@ -393,9 +394,9 @@
text = "<span style='color:green'>" + text + "</span>";
} else {
- String[] keywords = {"rule", "when", "then", "end", "true", "false", "accumulate", "collect", "from", "null", "over", "lock-on-active", "date-effective", "date-expires", "no-loop", "auto-focus", "activation-group", "agenda-group",
- "ruleflow-group", "entry-point", "duration", "package", "import", "dialect", "salience", "enabled", "attributes", "extend", "template", "query", "declare", "function", "global", "eval", "exists", "forall", "action", "reverse",
- "result", "end", "init"};
+ String[] keywords = {"rule", "when", "then", "end", "accumulate", "collect", "from", "null", "over", "lock-on-active", "date-effective", "date-expires", "no-loop", "auto-focus", "activation-group", "agenda-group", "ruleflow-group",
+ "entry-point", "duration", "package", "import", "dialect", "salience", "enabled", "attributes", "extend", "template", "query", "declare", "function", "global", "eval", "exists", "forall", "action", "reverse", "result", "end",
+ "init"};
for ( String keyword : keywords ) {
if ( text.contains( keyword ) ) {
@@ -421,13 +422,22 @@
while ( stringStart >= 0 ) {
int stringEnd = text.indexOf( character,
stringStart + 1 );
+ if ( stringEnd < 0 ) {
+ stringStart = -1;
+ break;
+ }
+
String oldString = text.substring( stringStart,
stringEnd + 1 );
- String newString = "<span style='color:green;>" + oldString + "</span>";
- text = text.replace( oldString,
- newString );
+ String newString = "<span style='color:green;'>" + oldString + "</span>";
+ String beginning = text.substring( 0,
+ stringStart );
+ String end = text.substring( stringEnd + 1 );
+
+ text = beginning + newString + end;
+
int searchStart = stringStart + newString.length() + 1;
if ( searchStart < text.length() ) {
@@ -477,14 +487,14 @@
/**
* This is called in the unhappy event of there being errors.
*/
- public static void showBuilderErrors(BuilderResult[] results,
+ public static void showBuilderErrors(BuilderResult results,
Panel buildResults,
final EditItemEvent editEvent) {
buildResults.clear();
- Object[][] data = new Object[results.length][4];
- for ( int i = 0; i < results.length; i++ ) {
- BuilderResult res = results[i];
+ Object[][] data = new Object[results.lines.length][4];
+ for ( int i = 0; i < results.lines.length; i++ ) {
+ BuilderResultLine res = results.lines[i];
data[i][0] = res.uuid;
data[i][1] = res.assetName;
data[i][2] = res.assetFormat;
More information about the jboss-svn-commits
mailing list