[jboss-svn-commits] JBL Code SVN: r20848 - in labs/jbossrules/trunk/drools-guvnor: src/main/java/com/google/gwt and 13 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jun 30 16:58:23 EDT 2008
Author: arhan
Date: 2008-06-30 16:58:23 -0400 (Mon, 30 Jun 2008)
New Revision: 20848
Added:
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/Generator.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/GeneratorContext.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/TreeLogger.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/UnableToCompleteException.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/CompilationUnitProvider.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/HasMetaData.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JArrayType.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JClassType.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JConstructor.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JField.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JMethod.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JPackage.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JParameterizedType.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JType.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/NotFoundException.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/TypeOracle.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/rebind/
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/rebind/EditorLauncherGenerator.java
Modified:
labs/jbossrules/trunk/drools-guvnor/build.properties
labs/jbossrules/trunk/drools-guvnor/build.xml
labs/jbossrules/trunk/drools-guvnor/pom.xml
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/DefaultContentUploadEditor.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/DecisionTableXLSWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/factmodel/FactModelWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/ModelAttachmentFileWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/ScenarioWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DSLRuleEditor.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DefaultRuleContentWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleFlowUploadWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetItemGrid.java
Log:
GSOC2008: making content editors pluggable:
- EditorLauncherGenerator is used to generate EditorLauncher
- all the content editors shold have a common interface to provide the metadata for EditorLauncher generation at the gwt-compile process
- gwt-user.jar is required
- in build.properties, gwt.platform property has to be set to the GWT platform version, i.e. linux, windows, mac
- in order to amend the dependency to gwt-dev-{platfor}.jar, the required classes are stubbed in Guvnor code base.
Modified: labs/jbossrules/trunk/drools-guvnor/build.properties
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/build.properties 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/build.properties 2008-06-30 20:58:23 UTC (rev 20848)
@@ -1,2 +1,4 @@
#this is needed to point to your version of GWT
-gwt.home=/usr/local/share/java/gwt
\ No newline at end of file
+gwt.home=/home/ant/lib/gwt-linux-1.4.62
+gwt.platform=linux
+
Modified: labs/jbossrules/trunk/drools-guvnor/build.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/build.xml 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/build.xml 2008-06-30 20:58:23 UTC (rev 20848)
@@ -17,7 +17,7 @@
<gwt:compile outDir="src/main/webapp"
gwtHome="${gwt.home}"
classBase="org.drools.guvnor.Guvnor"
- sourceclasspath="src/main/java; ../drools-compiler/src/main/java; ../lib/gwtext-2.0.1.jar"
+ sourceclasspath=" ${gwt.home}/gwt-dev-${gwt.platform}.jar; src/main/java; ../drools-compiler/src/main/java; ../lib/gwtext-2.0.1.jar; target/classes "
/>
</target>
Modified: labs/jbossrules/trunk/drools-guvnor/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/pom.xml 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/pom.xml 2008-06-30 20:58:23 UTC (rev 20848)
@@ -87,6 +87,11 @@
<artifactId>gwt-servlet</artifactId>
</dependency>
<dependency>
+ <groupId>com.google.gwt</groupId>
+ <artifactId>gwt-user</artifactId>
+ <version>1.4.62</version>
+ </dependency>
+ <dependency>
<groupId>com.gwtext</groupId>
<artifactId>gwtext</artifactId>
</dependency>
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/Generator.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/Generator.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/Generator.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext;
+
+/**
+ *
+ */
+public class Generator {
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/GeneratorContext.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/GeneratorContext.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/GeneratorContext.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,15 @@
+package com.google.gwt.core.ext;
+
+import com.google.gwt.core.ext.typeinfo.TypeOracle;
+
+import java.io.PrintWriter;
+
+/**
+ *
+ */
+public interface GeneratorContext {
+
+ public TypeOracle getTypeOracle();
+
+ public PrintWriter tryCreate(TreeLogger logger, String packageName, String generatedClassName);
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/TreeLogger.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/TreeLogger.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/TreeLogger.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext;
+
+/**
+ *
+ */
+public interface TreeLogger {
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/UnableToCompleteException.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/UnableToCompleteException.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/UnableToCompleteException.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext;
+
+/**
+ *
+ */
+public class UnableToCompleteException extends Throwable {
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/CompilationUnitProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/CompilationUnitProvider.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/CompilationUnitProvider.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,29 @@
+package com.google.gwt.core.ext.typeinfo;
+
+import com.google.gwt.core.ext.UnableToCompleteException;
+
+import java.util.Comparator;
+
+/**
+ *
+ */
+public interface CompilationUnitProvider {
+
+ Comparator LOCATION_COMPARATOR = new Comparator() {
+ public int compare(Object o1, Object o2) {
+ String loc1 = ((CompilationUnitProvider) o1).getLocation();
+ String loc2 = ((CompilationUnitProvider) o2).getLocation();
+ return loc1.compareTo(loc2);
+ }
+ };
+
+ long getLastModified() throws UnableToCompleteException;
+
+ String getLocation();
+
+ String getPackageName();
+
+ char[] getSource() throws UnableToCompleteException;
+
+ boolean isTransient();
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/HasMetaData.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/HasMetaData.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/HasMetaData.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,21 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public interface HasMetaData {
+ /**
+ * Adds additional metadata.
+ */
+ void addMetaData(String tagName, String[] values);
+
+ /**
+ * Gets each list of metadata for the specified tag name.
+ */
+ String[][] getMetaData(String tagName);
+
+ /**
+ * Gets the name of available metadata tags.
+ */
+ String[] getMetaDataTags();
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JArrayType.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JArrayType.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JArrayType.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,8 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class JArrayType {
+
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JClassType.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JClassType.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JClassType.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,257 @@
+package com.google.gwt.core.ext.typeinfo;
+
+import com.google.gwt.core.ext.UnableToCompleteException;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Type representing a Java class or interface type.
+ */
+public class JClassType extends JType implements HasMetaData {
+
+ public JClassType(TypeOracle oracle, CompilationUnitProvider cup,
+ JPackage declaringPackage, JClassType enclosingType, boolean isLocalType,
+ String name, int declStart, int declEnd, int bodyStart, int bodyEnd,
+ boolean isInterface) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public void addImplementedInterface(JClassType intf) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public void addMetaData(String tagName, String[] values) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public void addModifierBits(int bits) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JConstructor findConstructor(JType[] paramTypes) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JField findField(String name) {throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JMethod findMethod(String name, JType[] paramTypes) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType findNestedType(String typeName) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public int getBodyEnd() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public int getBodyStart() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public CompilationUnitProvider getCompilationUnit() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JConstructor getConstructor(JType[] paramTypes)
+ throws NotFoundException {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JConstructor[] getConstructors() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType getEnclosingType() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JField getField(String name) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JField[] getFields() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType[] getImplementedInterfaces() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public String getJNISignature() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public String[][] getMetaData(String tagName) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public String[] getMetaDataTags() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JMethod getMethod(String name, JType[] paramTypes)
+ throws NotFoundException {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JMethod[] getMethods() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public String getName() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType getNestedType(String typeName) throws NotFoundException {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType[] getNestedTypes() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public TypeOracle getOracle() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JMethod[] getOverloads(String name) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JMethod[] getOverridableMethods() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JPackage getPackage() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public String getQualifiedSourceName() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public String getSimpleSourceName() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType[] getSubtypes() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType getSuperclass() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public String getTypeHash() throws UnableToCompleteException {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isAbstract() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JArrayType isArray() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isAssignableFrom(JClassType possibleSubtype) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isAssignableTo(JClassType possibleSupertype) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType isClass() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isDefaultInstantiable() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JClassType isInterface() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isLocalType() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isMemberType() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JParameterizedType isParameterized() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public JPrimitiveType isPrimitive() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isPrivate() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isProtected() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isPublic() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public boolean isStatic() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public void setSuperclass(JClassType type) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ public String toString() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ protected int getModifierBits() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ void addConstructor(JConstructor ctor) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ void addField(JField field) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ void addMethod(JMethod method) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ void addNestedType(JClassType type) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ JClassType findNestedTypeImpl(String[] typeName, int index) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ void notifySuperTypes() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+ void removeFromSupertypes() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+
+
+ public String getParameterizedQualifiedSourceName() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JConstructor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JConstructor.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JConstructor.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class JConstructor {
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JField.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JField.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JField.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class JField {
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JMethod.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JMethod.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JMethod.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class JMethod {
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JPackage.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JPackage.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JPackage.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,11 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class JPackage {
+
+ public String getName() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JParameterizedType.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JParameterizedType.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JParameterizedType.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class JParameterizedType {
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class JPrimitiveType {
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JType.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JType.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/JType.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,10 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public abstract class JType {
+ public JClassType isClassOrInterface() {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/NotFoundException.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/NotFoundException.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/NotFoundException.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,7 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class NotFoundException extends Throwable{
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/TypeOracle.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/TypeOracle.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/com/google/gwt/core/ext/typeinfo/TypeOracle.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,10 @@
+package com.google.gwt.core.ext.typeinfo;
+
+/**
+ *
+ */
+public class TypeOracle {
+ public JClassType getType(String typeName) {
+ throw new RuntimeException("not to be used for JavaScript compilation");
+ }
+}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml 2008-06-30 20:58:23 UTC (rev 20848)
@@ -20,5 +20,8 @@
<servlet path="/webdav" class="org.drools.guvnor.server.files.WebdavServlet"/>
<servlet path="/api" class="org.drools.guvnor.server.files.RestAPIServlet"/>
+ <generate-with class="org.drools.guvnor.rebind.EditorLauncherGenerator">
+ <when-type-assignable class="org.drools.guvnor.client.ruleeditor.EditorLauncher"/>
+ </generate-with>
</module>
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/DefaultContentUploadEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/DefaultContentUploadEditor.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/DefaultContentUploadEditor.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -1,17 +1,15 @@
package org.drools.guvnor.client.common;
+import com.google.gwt.user.client.ui.HTML;
import org.drools.guvnor.client.packages.AssetAttachmentFileWidget;
import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.ruleeditor.Editor;
import org.drools.guvnor.client.ruleeditor.RuleViewer;
-import com.google.gwt.user.client.ui.HTML;
+public class DefaultContentUploadEditor extends AssetAttachmentFileWidget implements Editor {
-public class DefaultContentUploadEditor extends AssetAttachmentFileWidget {
-
- public DefaultContentUploadEditor(
- RuleAsset asset, RuleViewer viewer) {
- super( asset,
- viewer );
+ public DefaultContentUploadEditor(RuleAsset asset, RuleViewer viewer) {
+ super( asset, viewer );
super.addDescription(new HTML("<small><i>Upload new version...</i></small>"));
}
@@ -23,4 +21,12 @@
return "decision-Table-upload";
}
+
+ public String getWrapperClass() {
+ return null;
+ }
+
+ public String getAssetFormat() {
+ return null;
+ }
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/DecisionTableXLSWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/DecisionTableXLSWidget.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/DecisionTableXLSWidget.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -16,24 +16,21 @@
*/
-
+import com.google.gwt.user.client.ui.HTML;
import org.drools.guvnor.client.packages.AssetAttachmentFileWidget;
import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.ruleeditor.Editor;
import org.drools.guvnor.client.ruleeditor.RuleViewer;
-import com.google.gwt.user.client.ui.HTML;
-
/**
* This widget deals with XLS files in "classic" decision tables.
*
* @author Michael Neale
*/
-public class DecisionTableXLSWidget extends AssetAttachmentFileWidget {
+public class DecisionTableXLSWidget extends AssetAttachmentFileWidget implements Editor {
- public DecisionTableXLSWidget(
- RuleAsset asset, RuleViewer viewer) {
- super( asset,
- viewer );
+ public DecisionTableXLSWidget(RuleAsset asset, RuleViewer viewer) {
+ super( asset, viewer );
super.addDescription(new HTML("<small><i>This is a decision table in a spreadsheet (XLS). Typically they contain many rules in one sheet.</i></small>"));
}
@@ -44,7 +41,13 @@
public String getOverallStyleName() {
return "decision-Table-upload";
}
-
+ public String getWrapperClass() {
+ return null;
+ }
+
+ public String getAssetFormat() {
+ return null;
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -1,77 +1,46 @@
package org.drools.guvnor.client.decisiontable;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.guvnor.client.common.FormStylePopup;
-import org.drools.guvnor.client.common.ImageButton;
-import org.drools.guvnor.client.common.PrettyFormLayout;
-import org.drools.guvnor.client.common.SmallLabel;
-import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.guvnor.client.modeldriven.brl.ISingleFieldConstraint;
-import org.drools.guvnor.client.modeldriven.dt.ActionCol;
-import org.drools.guvnor.client.modeldriven.dt.ActionInsertFactCol;
-import org.drools.guvnor.client.modeldriven.dt.ActionSetFieldCol;
-import org.drools.guvnor.client.modeldriven.dt.AttributeCol;
-import org.drools.guvnor.client.modeldriven.dt.ConditionCol;
-import org.drools.guvnor.client.modeldriven.dt.DTColumnConfig;
-import org.drools.guvnor.client.modeldriven.dt.GuidedDecisionTable;
-import org.drools.guvnor.client.modeldriven.ui.ActionValueEditor;
-import org.drools.guvnor.client.packages.SuggestionCompletionCache;
-import org.drools.guvnor.client.rpc.RuleAsset;
-import org.drools.guvnor.client.ruleeditor.SaveEventListener;
-
import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.KeyboardListener;
-import com.google.gwt.user.client.ui.KeyboardListenerAdapter;
-import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.*;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.SortDir;
-import com.gwtext.client.data.ArrayReader;
-import com.gwtext.client.data.FieldDef;
-import com.gwtext.client.data.GroupingStore;
-import com.gwtext.client.data.MemoryProxy;
-import com.gwtext.client.data.Record;
-import com.gwtext.client.data.RecordDef;
-import com.gwtext.client.data.SortState;
-import com.gwtext.client.data.Store;
-import com.gwtext.client.data.StringFieldDef;
+import com.gwtext.client.data.*;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.Toolbar;
import com.gwtext.client.widgets.ToolbarMenuButton;
import com.gwtext.client.widgets.Window;
import com.gwtext.client.widgets.form.FieldSet;
import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.grid.BaseColumnConfig;
-import com.gwtext.client.widgets.grid.CellMetadata;
-import com.gwtext.client.widgets.grid.ColumnConfig;
-import com.gwtext.client.widgets.grid.ColumnModel;
-import com.gwtext.client.widgets.grid.GridPanel;
-import com.gwtext.client.widgets.grid.GroupingView;
-import com.gwtext.client.widgets.grid.Renderer;
+import com.gwtext.client.widgets.grid.*;
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
import com.gwtext.client.widgets.grid.event.GridColumnListenerAdapter;
import com.gwtext.client.widgets.menu.BaseItem;
import com.gwtext.client.widgets.menu.Item;
import com.gwtext.client.widgets.menu.Menu;
import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter;
+import org.drools.guvnor.client.common.FormStylePopup;
+import org.drools.guvnor.client.common.ImageButton;
+import org.drools.guvnor.client.common.PrettyFormLayout;
+import org.drools.guvnor.client.common.SmallLabel;
+import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.guvnor.client.modeldriven.brl.ISingleFieldConstraint;
+import org.drools.guvnor.client.modeldriven.dt.*;
+import org.drools.guvnor.client.modeldriven.ui.ActionValueEditor;
+import org.drools.guvnor.client.packages.SuggestionCompletionCache;
+import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.ruleeditor.Editor;
+import org.drools.guvnor.client.ruleeditor.SaveEventListener;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
/**
* This is the new guided decision table editor for the web.
* @author Michael Neale
*/
-public class GuidedDecisionTableWidget extends Composite implements SaveEventListener {
+public class GuidedDecisionTableWidget extends Composite implements SaveEventListener, Editor {
private GuidedDecisionTable dt;
private VerticalPanel layout;
@@ -914,4 +883,11 @@
}
+ public String getWrapperClass() {
+ return null;
+ }
+
+ public String getAssetFormat() {
+ return null;
+ }
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/factmodel/FactModelWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/factmodel/FactModelWidget.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/factmodel/FactModelWidget.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -1,38 +1,25 @@
package org.drools.guvnor.client.factmodel;
-import java.util.ArrayList;
-
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.*;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+import com.gwtext.client.widgets.form.FormPanel;
import org.drools.guvnor.client.common.FormStylePopup;
import org.drools.guvnor.client.common.ImageButton;
import org.drools.guvnor.client.common.SmallLabel;
import org.drools.guvnor.client.rpc.RuleAsset;
import org.drools.guvnor.client.rpc.RuleContentText;
import org.drools.guvnor.client.ruleeditor.DefaultRuleContentWidget;
+import org.drools.guvnor.client.ruleeditor.Editor;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ChangeListener;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.FlexTable;
-import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.HasHorizontalAlignment;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.KeyboardListener;
-import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
-import com.gwtext.client.widgets.form.FormPanel;
+import java.util.ArrayList;
/**
* The editor for fact models (drl declared types).
*
* @author Michael Neale
*/
-public class FactModelWidget extends Composite {
+public class FactModelWidget extends Composite implements Editor {
private RuleAsset asset;
private VerticalPanel layout;
@@ -301,4 +288,11 @@
}
+ public String getWrapperClass() {
+ return null;
+ }
+
+ public String getAssetFormat() {
+ return null;
+ }
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -16,43 +16,18 @@
*/
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.drools.guvnor.client.common.DirtyableComposite;
-import org.drools.guvnor.client.common.DirtyableFlexTable;
-import org.drools.guvnor.client.common.DirtyableHorizontalPane;
-import org.drools.guvnor.client.common.DirtyableVerticalPane;
-import org.drools.guvnor.client.common.ErrorPopup;
-import org.drools.guvnor.client.common.FormStylePopup;
-import org.drools.guvnor.client.common.ImageButton;
-import org.drools.guvnor.client.common.SmallLabel;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.*;
+import org.drools.guvnor.client.common.*;
import org.drools.guvnor.client.modeldriven.HumanReadable;
import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.guvnor.client.modeldriven.brl.ActionInsertFact;
-import org.drools.guvnor.client.modeldriven.brl.ActionInsertLogicalFact;
-import org.drools.guvnor.client.modeldriven.brl.ActionRetractFact;
-import org.drools.guvnor.client.modeldriven.brl.ActionSetField;
-import org.drools.guvnor.client.modeldriven.brl.ActionUpdateField;
-import org.drools.guvnor.client.modeldriven.brl.CompositeFactPattern;
-import org.drools.guvnor.client.modeldriven.brl.DSLSentence;
-import org.drools.guvnor.client.modeldriven.brl.FactPattern;
-import org.drools.guvnor.client.modeldriven.brl.IAction;
-import org.drools.guvnor.client.modeldriven.brl.IPattern;
-import org.drools.guvnor.client.modeldriven.brl.RuleAttribute;
-import org.drools.guvnor.client.modeldriven.brl.RuleModel;
+import org.drools.guvnor.client.modeldriven.brl.*;
import org.drools.guvnor.client.packages.SuggestionCompletionCache;
import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.ruleeditor.Editor;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.ChangeListener;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.Widget;
+import java.util.Iterator;
+import java.util.List;
/**
* This is the parent widget that contains the model based rule builder.
@@ -60,7 +35,7 @@
* @author Michael Neale
*
*/
-public class RuleModeller extends DirtyableComposite {
+public class RuleModeller extends DirtyableComposite implements Editor {
private DirtyableFlexTable layout;
private SuggestionCompletionEngine completions;
@@ -518,9 +493,7 @@
/**
* This adds the widget to the UI, also adding the remove icon.
*/
- private Widget wrapLHSWidget(final RuleModel model,
- int i,
- Widget w) {
+ private Widget wrapLHSWidget(final RuleModel model, int i, Widget w) {
DirtyableHorizontalPane horiz = new DirtyableHorizontalPane();
Image remove = new ImageButton("images/delete_item_small.gif");
@@ -573,5 +546,11 @@
}
+ public String getWrapperClass() {
+ return null;
+ }
+ public String getAssetFormat() {
+ return null;
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/ModelAttachmentFileWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/ModelAttachmentFileWidget.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/packages/ModelAttachmentFileWidget.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -16,8 +16,8 @@
*/
-
import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.ruleeditor.Editor;
import org.drools.guvnor.client.ruleeditor.RuleViewer;
/**
@@ -28,7 +28,7 @@
* @author Fernando Meyer
*/
-public class ModelAttachmentFileWidget extends AssetAttachmentFileWidget {
+public class ModelAttachmentFileWidget extends AssetAttachmentFileWidget implements Editor {
public ModelAttachmentFileWidget(RuleAsset asset, RuleViewer viewer) {
@@ -43,7 +43,14 @@
public String getOverallStyleName() {
return "editable-Surface";
}
-
+
+ public String getWrapperClass() {
+ return null;
+ }
+
+ public String getAssetFormat() {
+ return null;
+ }
}
/*Composite {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/ScenarioWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/ScenarioWidget.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/ScenarioWidget.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -1,33 +1,13 @@
package org.drools.guvnor.client.qa;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.guvnor.client.common.DirtyableComposite;
-import org.drools.guvnor.client.common.DirtyableFlexTable;
-import org.drools.guvnor.client.common.ErrorPopup;
-import org.drools.guvnor.client.common.FormStylePopup;
-import org.drools.guvnor.client.common.GenericCallback;
-import org.drools.guvnor.client.common.ImageButton;
-import org.drools.guvnor.client.common.LoadingPopup;
-import org.drools.guvnor.client.common.SmallLabel;
-import org.drools.guvnor.client.common.ValueChanged;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.*;
+import org.drools.guvnor.client.common.*;
import org.drools.guvnor.client.modeldriven.DropDownData;
import org.drools.guvnor.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.guvnor.client.modeldriven.testing.ExecutionTrace;
-import org.drools.guvnor.client.modeldriven.testing.FactData;
-import org.drools.guvnor.client.modeldriven.testing.FieldData;
-import org.drools.guvnor.client.modeldriven.testing.Fixture;
-import org.drools.guvnor.client.modeldriven.testing.RetractFact;
-import org.drools.guvnor.client.modeldriven.testing.Scenario;
-import org.drools.guvnor.client.modeldriven.testing.VerifyFact;
-import org.drools.guvnor.client.modeldriven.testing.VerifyField;
-import org.drools.guvnor.client.modeldriven.testing.VerifyRuleFired;
+import org.drools.guvnor.client.modeldriven.testing.*;
import org.drools.guvnor.client.modeldriven.ui.ActionValueEditor;
import org.drools.guvnor.client.modeldriven.ui.ConstraintValueEditor;
import org.drools.guvnor.client.packages.SuggestionCompletionCache;
@@ -35,30 +15,11 @@
import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
import org.drools.guvnor.client.rpc.RuleAsset;
import org.drools.guvnor.client.rpc.ScenarioRunResult;
+import org.drools.guvnor.client.ruleeditor.Editor;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DeferredCommand;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ChangeListener;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.FlexTable;
-import com.google.gwt.user.client.ui.Grid;
-import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.HasHorizontalAlignment;
-import com.google.gwt.user.client.ui.HasVerticalAlignment;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.KeyboardListener;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.ScrollPanel;
-import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
+import java.util.*;
-public class ScenarioWidget extends Composite {
+public class ScenarioWidget extends Composite implements Editor {
private ListBox availableRules;
private SuggestionCompletionEngine sce;
@@ -577,9 +538,13 @@
}
+ public String getWrapperClass() {
+ return null;
+ }
-
-
+ public String getAssetFormat() {
+ return null;
+ }
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DSLRuleEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DSLRuleEditor.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DSLRuleEditor.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -42,7 +42,7 @@
* @author michael neale
*/
-public class DSLRuleEditor extends DirtyableComposite {
+public class DSLRuleEditor extends DirtyableComposite implements Editor{
private TextArea text;
final private RuleContentText data;
@@ -165,4 +165,11 @@
this.data.content = text.getText();
}
+ public String getWrapperClass() {
+ return null;
+ }
+
+ public String getAssetFormat() {
+ return null;
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DefaultRuleContentWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DefaultRuleContentWidget.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DefaultRuleContentWidget.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -29,7 +29,7 @@
* This is the default rule editor widget (just text editor based) - more to come later.
* @author michael neale
*/
-public class DefaultRuleContentWidget extends DirtyableComposite {
+public class DefaultRuleContentWidget extends DirtyableComposite implements Editor {
private TextArea text;
final private RuleContentText data;
@@ -88,4 +88,11 @@
this.data.content = text.getText();
}
+ public String getWrapperClass() {
+ return null;
+ }
+
+ public String getAssetFormat() {
+ return null;
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -15,8 +15,6 @@
* limitations under the License.
*/
-
-
import java.util.HashMap;
import java.util.Map;
@@ -45,17 +43,24 @@
*
* @author Michael Neale
*/
+
+public interface EditorLauncher {
+ public Widget getEditorViewer(RuleAsset asset, RuleViewer viewer);
+ public String getAssetFormatIcon(String format);
+}
+
+/*
public class EditorLauncher {
public static final Map TYPE_IMAGES = getTypeImages();
- /**
+ */
+/**
* This will return the appropriate viewer for the asset.
*
- * TODO: the method to be changed in order to make the editors pluggable
- * TODO: look at http://gwtreflection.sourceforge.net/
*/
+/*
public static Widget getEditorViewer(RuleAsset asset,
RuleViewer viewer) {
//depending on the format, load the appropriate editor
@@ -105,10 +110,12 @@
return result;
}
- /**
+ */
+/**
* Get the icon name (not the path), including the extension, for the appropriate
* asset format.
*/
+/*
public static String getAssetFormatIcon(String format) {
String result = (String) TYPE_IMAGES.get( format );
if (result == null) {
@@ -123,4 +130,4 @@
-}
\ No newline at end of file
+}*/
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleFlowUploadWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleFlowUploadWidget.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleFlowUploadWidget.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -27,7 +27,7 @@
*
* @author Michael Neale
*/
-public class RuleFlowUploadWidget extends AssetAttachmentFileWidget {
+public class RuleFlowUploadWidget extends AssetAttachmentFileWidget implements Editor {
public RuleFlowUploadWidget(
RuleAsset asset, RuleViewer viewer) {
@@ -44,7 +44,12 @@
public String getOverallStyleName() {
return "decision-Table-upload";
}
-
+ public String getWrapperClass() {
+ return null;
+ }
+ public String getAssetFormat() {
+ return null;
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -16,31 +16,14 @@
*/
-
-import org.drools.guvnor.client.common.AssetFormats;
-import org.drools.guvnor.client.common.DirtyableComposite;
-import org.drools.guvnor.client.common.ErrorPopup;
-import org.drools.guvnor.client.common.FormStylePopup;
-import org.drools.guvnor.client.common.GenericCallback;
-import org.drools.guvnor.client.common.LoadingPopup;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.ui.*;
+import org.drools.guvnor.client.common.*;
import org.drools.guvnor.client.packages.SuggestionCompletionCache;
import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
import org.drools.guvnor.client.rpc.RuleAsset;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DisclosurePanel;
-import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.HasHorizontalAlignment;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.HorizontalSplitPanel;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.VerticalSplitPanel;
-import com.google.gwt.user.client.ui.Widget;
-
/**
* The main layout parent/controller the rule viewer.
*
@@ -67,9 +50,7 @@
}
/**
- * @param UUID The resource to open.
- * @param format The type of resource (may determine what editor is used).
- * @param name The name to be displayed.
+ * @param asset The rule asset to open.
* @param historicalReadOnly true if this is a read only view for historical purposes.
*/
public RuleViewer(RuleAsset asset, boolean historicalReadOnly) {
@@ -98,10 +79,10 @@
private void doWidgets() {
layout.clear();
+ //editor = EditorLauncher.getEditorViewer(asset, this);
+ EditorLauncher editorLauncher = (EditorLauncher) GWT.create(EditorLauncher.class);
+ editor = editorLauncher.getEditorViewer(asset, this);
- editor = EditorLauncher.getEditorViewer(asset, this);
-
-
//the action widgets (checkin/close etc).
toolbar = new ActionToolbar( asset,
new Command() {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetItemGrid.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetItemGrid.java 2008-06-30 20:16:06 UTC (rev 20847)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rulelist/AssetItemGrid.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -30,6 +30,7 @@
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.core.client.GWT;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.data.ArrayReader;
import com.gwtext.client.data.FieldDef;
@@ -245,7 +246,11 @@
public String render(Object value,
CellMetadata cellMetadata, Record record,
int rowIndex, int colNum, Store store) {
- String fmtIcon = "images/" + EditorLauncher.getAssetFormatIcon(record.getAsString("format"));
+
+ EditorLauncher editorLauncher = (EditorLauncher) GWT.create(EditorLauncher.class);
+
+ //String fmtIcon = "images/" + EditorLauncher.getAssetFormatIcon(record.getAsString("format"));
+ String fmtIcon = "images/" + editorLauncher.getAssetFormatIcon(record.getAsString("format"));
String desc = record.getAsString("Description");
if (desc == null) {
desc = "";
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/rebind/EditorLauncherGenerator.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/rebind/EditorLauncherGenerator.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/rebind/EditorLauncherGenerator.java 2008-06-30 20:58:23 UTC (rev 20848)
@@ -0,0 +1,198 @@
+package org.drools.guvnor.rebind;
+/*
+ * Copyright 2008 JBoss Inc
+ *
+ * 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.
+ */
+
+
+
+import com.google.gwt.core.ext.Generator;
+import com.google.gwt.core.ext.GeneratorContext;
+import com.google.gwt.core.ext.TreeLogger;
+import com.google.gwt.core.ext.UnableToCompleteException;
+import com.google.gwt.core.ext.typeinfo.JMethod;
+import com.google.gwt.core.ext.typeinfo.JClassType;
+import com.google.gwt.core.ext.typeinfo.TypeOracle;
+import com.google.gwt.user.rebind.ClassSourceFileComposerFactory;
+import com.google.gwt.user.rebind.SourceWriter;
+
+import java.io.FileInputStream;
+import java.io.PrintWriter;
+import java.io.IOException;
+import java.util.Properties;
+
+/**
+ * EditorLauncherGenerator generates the EditorLauncher implementation in order to
+ * simplify implementation of new content editors
+ */
+public class EditorLauncherGenerator extends Generator {
+
+ private static final String CLASS_SUFFIX = "Gen";
+ public static final String EDITORS_LIST = "guvnor-editors.properties";
+
+ SourceWriter sourceWriter;
+
+ /**
+ * runs generation process
+ *
+ * @param logger
+ * @param context
+ * @param typeName
+ * @return
+ * @throws UnableToCompleteException
+ */
+ public String generate(TreeLogger logger, GeneratorContext context, String typeName)
+ throws UnableToCompleteException {
+ String generatedClassQualifiedName = createClass(logger, context, typeName);
+ if (generatedClassQualifiedName == null) {
+ throw new UnableToCompleteException();
+ }
+ return generatedClassQualifiedName;
+ }
+
+ private String createClass(TreeLogger logger, GeneratorContext context, String typeName) {
+ try {
+ TypeOracle typeOracle = context.getTypeOracle();
+ JClassType originalType = typeOracle.getType(typeName);
+ String packageName = originalType.getPackage().getName();
+
+ System.err.println(packageName);
+
+ String originalClassName = originalType.getSimpleSourceName();
+ String generatedClassName = originalClassName + CLASS_SUFFIX;
+
+ if (sourceWriter == null) {
+ sourceWriter = getSourceWriter(logger, context,
+ originalType, packageName, generatedClassName);
+ }
+
+ if (sourceWriter != null) {
+ writeClass(logger, originalType, sourceWriter);
+ }
+
+
+ return originalType.getParameterizedQualifiedSourceName() + CLASS_SUFFIX;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+ //TODO: read a configuration file with the registered content editors and generate the correct code
+ private void writeClass(TreeLogger logger, JClassType originalType, SourceWriter sourceWriter) {
+ JMethod[] methods = originalType.getMethods();
+ sourceWriter.indent();
+
+ sourceWriter.println(
+ "\n" +
+ " public final Map TYPE_IMAGES = new HashMap(){\n" +
+ " {\n" +
+ " put( AssetFormats.DRL, \"technical_rule_assets.gif\" );\n" +
+ " put( AssetFormats.DSL, \"dsl.gif\" );\n" +
+ " put( AssetFormats.FUNCTION, \"function_assets.gif\" );\n" +
+ " put( AssetFormats.MODEL, \"model_asset.gif\" );\n" +
+ " put( AssetFormats.DECISION_SPREADSHEET_XLS, \"spreadsheet_small.gif\" );\n" +
+ " put( AssetFormats.BUSINESS_RULE, \"business_rule.gif\" );\n" +
+ " put( AssetFormats.DSL_TEMPLATE_RULE, \"business_rule.gif\" );\n" +
+ " put( AssetFormats.RULE_FLOW_RF, \"ruleflow_small.gif\" );\n" +
+ " put( AssetFormats.TEST_SCENARIO, \"test_manager.gif\");\n" +
+ " put( AssetFormats.ENUMERATION, \"enumeration.gif\");\n" +
+ " put( AssetFormats.DECISION_TABLE_GUIDED, \"gdst.gif\");\n" +
+ " }\n" +
+ " };" +
+ "\n" +
+ "public Widget getEditorViewer(RuleAsset asset, RuleViewer viewer) {\n" +
+ " if ( asset.metaData.format.equals( AssetFormats.BUSINESS_RULE ) ) {\n" +
+ " return new RuleValidatorWrapper( new RuleModeller( asset ), asset);\n" +
+ " } else if ( asset.metaData.format.equals( AssetFormats.DSL_TEMPLATE_RULE ) ) {\n" +
+ " return new RuleValidatorWrapper(new DSLRuleEditor( asset ), asset);\n" +
+ " } else if ( asset.metaData.format.equals( AssetFormats.MODEL ) ) {\n" +
+ " return new ModelAttachmentFileWidget( asset, viewer );\n" +
+ " } else if (asset.metaData.format.equals( AssetFormats.DECISION_SPREADSHEET_XLS )){\n" +
+ " return new RuleValidatorWrapper(new DecisionTableXLSWidget( asset, viewer ), asset);\n" +
+ " } else if (asset.metaData.format.equals( AssetFormats.RULE_FLOW_RF )) {\n" +
+ " return new RuleFlowUploadWidget(asset, viewer);\n" +
+ " } else if (asset.metaData.format.equals( AssetFormats.DRL )) {\n" +
+ " return new RuleValidatorWrapper(new DefaultRuleContentWidget( asset ), asset);\n" +
+ " } else if (asset.metaData.format.equals( AssetFormats.ENUMERATION )) {\n" +
+ " return new RuleValidatorWrapper(new DefaultRuleContentWidget( asset ), asset);\n" +
+ " } else if (asset.metaData.format.equals(AssetFormats.TEST_SCENARIO)) {\n" +
+ " return new ScenarioWidget(asset);\n" +
+ " } else if (asset.metaData.format.equals(AssetFormats.DECISION_TABLE_GUIDED)) {\n" +
+ " return new RuleValidatorWrapper(new GuidedDecisionTableWidget(asset), asset);\n" +
+ " } else if (asset.metaData.format.equals(AssetFormats.DRL_MODEL)) {\n" +
+ " return new RuleValidatorWrapper(new FactModelWidget(asset), asset);\n" +
+ " } else {\n" +
+ " return new DefaultContentUploadEditor( asset, viewer );\n" +
+ " }\n" +
+ "}" +
+ "\n" +
+ "public String getAssetFormatIcon(String format) {\n" +
+ " String result = (String) TYPE_IMAGES.get( format );\n" +
+ " if (result == null) {\n" +
+ " return \"rule_asset.gif\";\n" +
+ " } else {\n" +
+ " return result;\n" +
+ " }\n" +
+ "}"
+ );
+
+ /*for (int i = 0; i < methods.length; i++) {
+ JMethod method = methods[i];
+ JType returnType = method.getReturnType();
+ JParameter[] parameters = method.getParameters();
+ List ps = Arrays.asList(parameters);
+
+ sourceWriter.println();
+ sourceWriter.println("public " + returnType.getQualifiedSourceName() + " " +
+ method.getName() + "(" + ps.toString().substring(1, ps.toString().length() - 1) + ") {");
+ sourceWriter.indent();
+ sourceWriter.println("return null;");
+ sourceWriter.println("}");
+ sourceWriter.outdent();
+ }*/
+ sourceWriter.commit(logger);
+ }
+
+ private SourceWriter getSourceWriter(TreeLogger logger,
+ GeneratorContext context,
+ JClassType originalType,
+ String packageName,
+ String generatedClassName) {
+
+ ClassSourceFileComposerFactory classFactory =
+ new ClassSourceFileComposerFactory(packageName, generatedClassName);
+
+ classFactory.addImport("org.drools.guvnor.client.common.AssetFormats");
+ classFactory.addImport("org.drools.guvnor.client.common.DefaultContentUploadEditor");
+ classFactory.addImport("org.drools.guvnor.client.decisiontable.DecisionTableXLSWidget");
+ classFactory.addImport("org.drools.guvnor.client.decisiontable.GuidedDecisionTableWidget");
+ classFactory.addImport("org.drools.guvnor.client.factmodel.FactModelWidget");
+ classFactory.addImport("org.drools.guvnor.client.modeldriven.ui.RuleModeller");
+ classFactory.addImport("org.drools.guvnor.client.packages.ModelAttachmentFileWidget");
+ classFactory.addImport("org.drools.guvnor.client.qa.ScenarioWidget");
+ classFactory.addImport("org.drools.guvnor.client.rpc.RuleAsset");
+ classFactory.addImport("org.drools.guvnor.client.rpc.RuleContentText");
+ classFactory.addImport("com.google.gwt.user.client.ui.Widget");
+ classFactory.addImport("java.util.HashMap");
+ classFactory.addImport("java.util.Map");
+
+ classFactory.addImplementedInterface(originalType.getName());
+ PrintWriter printWriter = context.tryCreate(logger, packageName, generatedClassName);
+ return classFactory.createSourceWriter(context, printWriter);
+ }
+
+
+}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list