[jboss-svn-commits] JBL Code SVN: r35885 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor: client/rpc and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Nov 5 14:00:15 EDT 2010
Author: eaa
Date: 2010-11-05 14:00:15 -0400 (Fri, 05 Nov 2010)
New Revision: 35885
Added:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModellerConfiguration.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/StandaloneGuidedEditorInvocationParameters.java
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/rpc/StandaloneGuidedEditorService.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/StandaloneGuidedEditorServiceAsync.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/GuidedEditorManager.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/StandaloneGuidedEditorServiceImplementation.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/BRLRuleAssetProvider.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/NewRuleAssetProvider.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/RuleAssetProvider.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/UUIDRuleAssetProvider.java
Log:
GUVNOR-681: Create a new top component to display and run the Guided Editor (RuleModeller) and all the things it needs in a "standalone" way
- LHS, RHS and attributes visibility are no longer defined in the assets' metadata. A new class (RuleModellerConfiguration) was created for this purpose.
- RuleAssetProvider, and its implementations, were refactored.
- A new class (StandaloneGuidedEditorInvocationParameters) was created to pass invocations parameters from server to client side.
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 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -96,21 +96,22 @@
implements
RuleModelEditor {
- private DirtyableFlexTable layout;
- private RuleModel model;
- private Constants constants = ((Constants) GWT.create( Constants.class ));
- private boolean showingOptions = false;
- private int currentLayoutRow = 0;
- private String packageName;
- private RuleAsset asset;
- private ModellerWidgetFactory widgetFactory;
+ private DirtyableFlexTable layout;
+ private RuleModel model;
+ private Constants constants = ((Constants) GWT.create( Constants.class ));
+ private RuleModellerConfiguration configuration = RuleModellerConfiguration.getInstance();
+ private boolean showingOptions = false;
+ private int currentLayoutRow = 0;
+ private String packageName;
+ private RuleAsset asset;
+ private ModellerWidgetFactory widgetFactory;
- private List<RuleModellerWidget> lhsWidgets = new ArrayList<RuleModellerWidget>();
- private List<RuleModellerWidget> rhsWidgets = new ArrayList<RuleModellerWidget>();
+ private List<RuleModellerWidget> lhsWidgets = new ArrayList<RuleModellerWidget>();
+ private List<RuleModellerWidget> rhsWidgets = new ArrayList<RuleModellerWidget>();
- private boolean hasModifiedWidgets;
+ private boolean hasModifiedWidgets;
- private final Command onWidgetModifiedCommand = new Command() {
+ private final Command onWidgetModifiedCommand = new Command() {
public void execute() {
hasModifiedWidgets = true;
@@ -278,14 +279,7 @@
}
public boolean showRHS(){
- for ( RuleMetadata at : this.model.metadataList ) {
- if ( at.attributeName.equals( RuleMetadata.HIDE_RHS_IN_EDITOR ) ) {
- if (at.value != null && Boolean.parseBoolean(at.value)){
- return false;
- }
- }
- }
- return true;
+ return !this.configuration.isHideRHS();
}
/** return true if we should not allow unfrozen editing of the RHS */
@@ -294,14 +288,7 @@
}
public boolean showLHS(){
- for ( RuleMetadata at : this.model.metadataList ) {
- if ( at.attributeName.equals( RuleMetadata.HIDE_LHS_IN_EDITOR ) ) {
- if (at.value != null && Boolean.parseBoolean(at.value)){
- return false;
- }
- }
- }
- return true;
+ return !this.configuration.isHideLHS();
}
/** return true if we should not allow unfrozen editing of the LHS */
@@ -314,14 +301,7 @@
return false;
}
- for ( RuleMetadata at : this.model.metadataList ) {
- if ( at.attributeName.equals( RuleMetadata.HIDE_ATTRIBUTES_IN_EDITOR ) ) {
- if (at.value != null && Boolean.parseBoolean(at.value)){
- return false;
- }
- }
- }
- return true;
+ return !this.configuration.isHideAttributes();
}
public void refreshWidget() {
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModellerConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModellerConfiguration.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModellerConfiguration.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2005 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.
+ */
+
+package org.drools.guvnor.client.modeldriven.ui;
+
+/**
+ * Configuration singleton class for RuleModeller.
+ * @author esteban.aliverti
+ */
+public class RuleModellerConfiguration {
+ private static RuleModellerConfiguration INSTANCE;
+
+ private RuleModellerConfiguration(){
+
+ }
+
+ private boolean hideLHS;
+ private boolean hideRHS;
+ private boolean hideAttributes;
+
+ public synchronized static RuleModellerConfiguration getInstance(){
+ if (INSTANCE == null){
+ INSTANCE = new RuleModellerConfiguration();
+ }
+ return INSTANCE;
+ }
+
+ public boolean isHideAttributes() {
+ return hideAttributes;
+ }
+
+ public void setHideAttributes(boolean hideAttributes) {
+ this.hideAttributes = hideAttributes;
+ }
+
+ public boolean isHideLHS() {
+ return hideLHS;
+ }
+
+ public void setHideLHS(boolean hideLHS) {
+ this.hideLHS = hideLHS;
+ }
+
+ public boolean isHideRHS() {
+ return hideRHS;
+ }
+
+ public void setHideRHS(boolean hideRHS) {
+ this.hideRHS = hideRHS;
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/StandaloneGuidedEditorService.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/StandaloneGuidedEditorService.java 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/StandaloneGuidedEditorService.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -20,6 +20,7 @@
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.google.gwt.user.client.rpc.SerializationException;
+import org.drools.guvnor.client.ruleeditor.standalone.StandaloneGuidedEditorInvocationParameters;
/**
*
@@ -32,8 +33,7 @@
RemoteService {
- RuleAsset[] loadRuleAssetsFromSession() throws DetailedSerializationException;
-
+ StandaloneGuidedEditorInvocationParameters getInvocationParameters() throws DetailedSerializationException;
String[] getAsstesDRL(String[] assetsUids) throws SerializationException;
String[] getAsstesBRL(String[] assetsUids) throws SerializationException;
void removeAssets(String[] assetsUUIDs);
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/StandaloneGuidedEditorServiceAsync.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/StandaloneGuidedEditorServiceAsync.java 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/StandaloneGuidedEditorServiceAsync.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -17,6 +17,7 @@
package org.drools.guvnor.client.rpc;
import com.google.gwt.user.client.rpc.AsyncCallback;
+import org.drools.guvnor.client.ruleeditor.standalone.StandaloneGuidedEditorInvocationParameters;
/**
*
@@ -25,7 +26,7 @@
*/
public interface StandaloneGuidedEditorServiceAsync {
- void loadRuleAssetsFromSession(AsyncCallback<RuleAsset[]> asyncCallback);
+ void getInvocationParameters(AsyncCallback<StandaloneGuidedEditorInvocationParameters> asyncCallback);
void getAsstesDRL(String[] assetsUids, AsyncCallback<String[]> asyncCallback);
void getAsstesBRL(String[] assetsUids, AsyncCallback<String[]> asyncCallback);
void removeAssets(String[] assetsUUIDs, AsyncCallback<Void> asyncCallback);
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/GuidedEditorManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/GuidedEditorManager.java 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/GuidedEditorManager.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -19,8 +19,10 @@
import java.util.List;
import org.drools.guvnor.client.common.AssetFormats;
import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.modeldriven.ui.RuleModellerConfiguration;
import org.drools.guvnor.client.rpc.StandaloneGuidedEditorService;
import org.drools.guvnor.client.rpc.StandaloneGuidedEditorServiceAsync;
+import org.drools.guvnor.client.ruleeditor.standalone.StandaloneGuidedEditorInvocationParameters;
import org.drools.guvnor.client.ruleeditor.toolbar.StandaloneGuidedEditorIndividualActionToolbarButtonsConfigurationProvider;
import org.drools.ide.common.client.modeldriven.brl.RuleModel;
@@ -66,40 +68,57 @@
//The package must exist (because we need at least a model to work with)
//To make things easier (to me), the category must exist too.
- standaloneGuidedEditorService.loadRuleAssetsFromSession(new GenericCallback<RuleAsset[]>() {
+ standaloneGuidedEditorService.getInvocationParameters(new GenericCallback<StandaloneGuidedEditorInvocationParameters>() {
- public void onSuccess(final RuleAsset[] assets) {
- GuidedEditorManager.this.assetsUids = new String[assets.length];
+ public void onSuccess(final StandaloneGuidedEditorInvocationParameters parameters) {
+ GuidedEditorManager.this.assetsUids = new String[parameters.getAssetsToBeEdited().length];
//no assets? This is an error!
- if (assets.length == 0){
+ if (parameters.getAssetsToBeEdited().length == 0){
Window.alert(constants.NoRulesFound());
return;
}
//we need to store the uids of each asset.
- for (int i = 0; i < assets.length; i++) {
- RuleAsset ruleAsset = assets[i];
+ for (int i = 0; i < parameters.getAssetsToBeEdited().length; i++) {
+ RuleAsset ruleAsset = parameters.getAssetsToBeEdited()[i];
GuidedEditorManager.this.assetsUids[i] = ruleAsset.uuid;
}
//Load SCE and create a MultiViewEditor for the assets.
//We take the package from the first asset (because all the assets
//must belong to the same package)
- SuggestionCompletionCache.getInstance().loadPackage(assets[0].metaData.packageName, new Command() {
+ SuggestionCompletionCache.getInstance().loadPackage(parameters.getAssetsToBeEdited()[0].metaData.packageName, new Command() {
public void execute() {
+
+// Set<String> validFacts = new HashSet<String>();
+// validFacts.add("LoanApplication");
+//
+// SuggestionCompletionCache.getInstance().applyFactFilter(assets[0].metaData.packageName, new SetFactTypeFilter(validFacts), new Command() {
+//
+// public void execute() {
+// throw new UnsupportedOperationException("Not supported yet.");
+// }
+// });
+
LoadingPopup.close();
//For each asset we need to create a MultiViewRow
List<MultiViewRow> rows = new ArrayList<MultiViewRow>();
- for (RuleAsset ruleAsset : assets) {
+ for (RuleAsset ruleAsset : parameters.getAssetsToBeEdited()) {
MultiViewRow row = new MultiViewRow();
row.uuid = ruleAsset.uuid;
- row.name = ((RuleModel)ruleAsset.content).name;
+ row.name = ruleAsset.metaData.name;
+ //row.name = ((RuleModel)ruleAsset.content).name;
row.format = AssetFormats.BUSINESS_RULE;
rows.add(row);
}
+ //Configure RuleModeller
+ RuleModellerConfiguration ruleModellerConfiguration = RuleModellerConfiguration.getInstance();
+ ruleModellerConfiguration.setHideLHS(parameters.isHideLHS());
+ ruleModellerConfiguration.setHideRHS(parameters.isHideRHS());
+ ruleModellerConfiguration.setHideAttributes(parameters.isHideAttributes());
//Create the editor
editor = new MultiViewEditor(rows.toArray(new MultiViewRow[rows.size()]), new EditItemEvent() {
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/StandaloneGuidedEditorInvocationParameters.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/StandaloneGuidedEditorInvocationParameters.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/standalone/StandaloneGuidedEditorInvocationParameters.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2005 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.
+ */
+
+package org.drools.guvnor.client.ruleeditor.standalone;
+
+import java.io.Serializable;
+import org.drools.guvnor.client.rpc.RuleAsset;
+
+/**
+ * This class contains all the parameters passed in the invocation of the
+ * standalone guided editor.
+ * This object is used to pass those parameters from server to client side.
+ * @author esteban.aliverti
+ */
+public class StandaloneGuidedEditorInvocationParameters implements Serializable {
+
+ static final long serialVersionUID = 520L;
+
+ private RuleAsset[] assetsToBeEdited;
+
+ private boolean hideLHS;
+ private boolean hideRHS;
+ private boolean hideAttributes;
+
+ public RuleAsset[] getAssetsToBeEdited() {
+ return assetsToBeEdited;
+ }
+
+ public void setAssetsToBeEdited(RuleAsset[] assetsToBeEdited) {
+ this.assetsToBeEdited = assetsToBeEdited;
+ }
+
+ public boolean isHideAttributes() {
+ return hideAttributes;
+ }
+
+ public void setHideAttributes(boolean hideAttributes) {
+ this.hideAttributes = hideAttributes;
+ }
+
+ public boolean isHideLHS() {
+ return hideLHS;
+ }
+
+ public void setHideLHS(boolean hideLHS) {
+ this.hideLHS = hideLHS;
+ }
+
+ public boolean isHideRHS() {
+ return hideRHS;
+ }
+
+ public void setHideRHS(boolean hideRHS) {
+ this.hideRHS = hideRHS;
+ }
+
+
+}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/StandaloneGuidedEditorServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/StandaloneGuidedEditorServiceImplementation.java 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/StandaloneGuidedEditorServiceImplementation.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -17,19 +17,16 @@
import com.google.gwt.user.client.rpc.SerializationException;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
-import java.util.ArrayList;
-import java.util.List;
import javax.servlet.http.HttpSession;
-import org.drools.guvnor.client.common.AssetFormats;
import org.drools.guvnor.client.rpc.DetailedSerializationException;
import org.drools.guvnor.client.rpc.RuleAsset;
import org.drools.guvnor.client.rpc.StandaloneGuidedEditorService;
+import org.drools.guvnor.client.ruleeditor.standalone.StandaloneGuidedEditorInvocationParameters;
import org.drools.guvnor.server.guidededitor.BRLRuleAssetProvider;
import org.drools.guvnor.server.guidededitor.NewRuleAssetProvider;
import org.drools.guvnor.server.guidededitor.RuleAssetProvider;
import org.drools.guvnor.server.guidededitor.UUIDRuleAssetProvider;
import org.drools.guvnor.server.util.LoggingHelper;
-import org.drools.ide.common.client.modeldriven.brl.RuleMetadata;
import org.drools.ide.common.client.modeldriven.brl.RuleModel;
import org.drools.ide.common.server.util.BRLPersistence;
import org.drools.repository.RulesRepository;
@@ -50,7 +47,6 @@
@In
public RulesRepository repository;
private static final long serialVersionUID = 520l;
- private static final LoggingHelper log = LoggingHelper.getLogger(StandaloneGuidedEditorServiceImplementation.class);
public RulesRepository getRulesRepository() {
return this.repository;
@@ -60,6 +56,43 @@
return RepositoryServiceServlet.getService();
}
+
+ public StandaloneGuidedEditorInvocationParameters getInvocationParameters() throws DetailedSerializationException{
+
+ //Get the parameters from the session
+ HttpSession session = this.getThreadLocalRequest().getSession();
+
+ boolean hideLHSInEditor = false;
+ Object attribute = session.getAttribute(GuidedEditorServlet.GUIDED_EDITOR_SERVLET_PARAMETERS.GE_HIDE_RULE_LHS_PARAMETER_NAME.getParameterName());
+ if (attribute != null){
+ hideLHSInEditor = Boolean.parseBoolean(attribute.toString());
+ }
+
+ boolean hideRHSInEditor = false;
+ attribute = session.getAttribute(GuidedEditorServlet.GUIDED_EDITOR_SERVLET_PARAMETERS.GE_HIDE_RULE_RHS_PARAMETER_NAME.getParameterName());
+ if (attribute != null){
+ hideRHSInEditor = Boolean.parseBoolean(attribute.toString());
+ }
+
+ boolean hideAttributesInEditor = false;
+ attribute = session.getAttribute(GuidedEditorServlet.GUIDED_EDITOR_SERVLET_PARAMETERS.GE_HIDE_RULE_ATTRIBUTES_PARAMETER_NAME.getParameterName());
+ if (attribute != null){
+ hideAttributesInEditor = Boolean.parseBoolean(attribute.toString());
+ }
+
+
+ StandaloneGuidedEditorInvocationParameters parameters = new StandaloneGuidedEditorInvocationParameters();
+
+ parameters.setAssetsToBeEdited(this.loadRuleAssetsFromSession());
+
+ parameters.setHideLHS(hideLHSInEditor);
+ parameters.setHideRHS(hideRHSInEditor);
+ parameters.setHideAttributes(hideAttributesInEditor);
+
+
+ return parameters;
+ }
+
/**
* To open the Guided Editor as standalone, you should be gone through
* GuidedEditorServlet first. This servlet put all the POST parameters into
@@ -70,7 +103,7 @@
* @return
* @throws DetailedSerializationException
*/
- public RuleAsset[] loadRuleAssetsFromSession() throws DetailedSerializationException{
+ private RuleAsset[] loadRuleAssetsFromSession() throws DetailedSerializationException{
//Get the parameters from the session
HttpSession session = this.getThreadLocalRequest().getSession();
@@ -87,43 +120,18 @@
}
String ruleName = (String)session.getAttribute(GuidedEditorServlet.GUIDED_EDITOR_SERVLET_PARAMETERS.GE_RULE_PARAMETER_NAME.getParameterName());
-
-
- boolean hideLHSInEditor = false;
- attribute = session.getAttribute(GuidedEditorServlet.GUIDED_EDITOR_SERVLET_PARAMETERS.GE_HIDE_RULE_LHS_PARAMETER_NAME.getParameterName());
- if (attribute != null){
- hideLHSInEditor = Boolean.parseBoolean(attribute.toString());
- }
-
- boolean hideRHSInEditor = false;
- attribute = session.getAttribute(GuidedEditorServlet.GUIDED_EDITOR_SERVLET_PARAMETERS.GE_HIDE_RULE_RHS_PARAMETER_NAME.getParameterName());
- if (attribute != null){
- hideRHSInEditor = Boolean.parseBoolean(attribute.toString());
- }
-
- boolean hideAttributesInEditor = false;
- attribute = session.getAttribute(GuidedEditorServlet.GUIDED_EDITOR_SERVLET_PARAMETERS.GE_HIDE_RULE_ATTRIBUTES_PARAMETER_NAME.getParameterName());
- if (attribute != null){
- hideAttributesInEditor = Boolean.parseBoolean(attribute.toString());
- }
-
-
RuleAssetProvider provider;
- Object data;
if (createNewAsset){
- provider = new NewRuleAssetProvider();
- data = ruleName;
+ provider = new NewRuleAssetProvider(packageName,categoryName,ruleName);
}else if (assetsUUIDs != null){
- provider = new UUIDRuleAssetProvider();
- data = assetsUUIDs;
+ provider = new UUIDRuleAssetProvider(assetsUUIDs);
}else if (initialBRL != null){
- provider = new BRLRuleAssetProvider();
- data = initialBRL;
+ provider = new BRLRuleAssetProvider(packageName,categoryName,initialBRL);
}else{
throw new IllegalStateException();
}
- return provider.getRuleAssets(packageName, categoryName, data, hideLHSInEditor, hideRHSInEditor, hideAttributesInEditor);
+ return provider.getRuleAssets();
}
@@ -146,7 +154,7 @@
}
/**
- * Returns the DRL source code of the given assets.
+ * Returns the BRL source code of the given assets.
* @param assetsUUIDs
* @return
* @throws SerializationException
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/BRLRuleAssetProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/BRLRuleAssetProvider.java 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/BRLRuleAssetProvider.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -23,8 +23,6 @@
import org.drools.guvnor.client.rpc.RuleAsset;
import org.drools.guvnor.server.RepositoryServiceServlet;
import org.drools.guvnor.server.ServiceImplementation;
-import org.drools.guvnor.server.util.LoggingHelper;
-import org.drools.ide.common.client.modeldriven.brl.RuleMetadata;
import org.drools.ide.common.client.modeldriven.brl.RuleModel;
import org.drools.ide.common.server.util.BRXMLPersistence;
@@ -36,23 +34,24 @@
*/
public class BRLRuleAssetProvider implements RuleAssetProvider {
- private static final LoggingHelper log = LoggingHelper.getLogger(BRLRuleAssetProvider.class);
+ private String packageName;
+ private String categoryName;
+ private String[] initialBRLs;
- public RuleAsset[] getRuleAssets(String packageName, String categoryName, Object initialBRLs, Boolean hideLHSInEditor, Boolean hideRHSInEditor, Boolean hideAttributesInEditor) throws DetailedSerializationException {
+ public BRLRuleAssetProvider(String packageName, String categoryName, String[] initialBRLs) {
+ this.packageName = packageName;
+ this.categoryName = categoryName;
+ this.initialBRLs = initialBRLs;
+ }
+
+ public RuleAsset[] getRuleAssets() throws DetailedSerializationException {
- //initialBRLs must be a String[] containing the brl code
- if (!(initialBRLs instanceof String[])){
- throw new IllegalArgumentException("Expected String[] and not "+initialBRLs.getClass().getName());
- }
+ List<RuleModel> models = new ArrayList<RuleModel>(initialBRLs.length);
+ List<RuleAsset> assets = new ArrayList<RuleAsset>(initialBRLs.length);
- String[] brls = (String[])initialBRLs;
-
- List<RuleModel> models = new ArrayList<RuleModel>(brls.length);
- List<RuleAsset> assets = new ArrayList<RuleAsset>(brls.length);
-
//We wan't to avoid inconsistent states, that is why we first unmarshal
//each brl and then (if nothing fails) create each rule
- for (String brl : brls) {
+ for (String brl : initialBRLs) {
//convert the BRL to RuleModel
models.add(BRXMLPersistence.getInstance().unmarshal(brl));
}
@@ -60,7 +59,7 @@
//no unmarshal errors, it's time to create the rules
try{
for (RuleModel ruleModel : models) {
- assets.add(this.createRuleAssetFromRuleModel(packageName, categoryName, ruleModel, hideLHSInEditor, hideRHSInEditor, hideAttributesInEditor));
+ assets.add(this.createRuleAssetFromRuleModel(ruleModel));
}
} catch (Exception e){
//if something failed, delete the generated assets
@@ -81,16 +80,10 @@
/**
* Creates a new RuleAsset from a RuleModel. The name of the RuleAsset will
* be the original name plus a unique number.
- * @param packageName
- * @param categoryName
- * @param model
- * @param hideLHSInEditor
- * @param hideRHSInEditor
- * @param hideAttributesInEditor
* @return
* @throws DetailedSerializationException
*/
- private RuleAsset createRuleAssetFromRuleModel(String packageName, String categoryName, RuleModel model, Boolean hideLHSInEditor, Boolean hideRHSInEditor, Boolean hideAttributesInEditor) throws DetailedSerializationException {
+ private RuleAsset createRuleAssetFromRuleModel(RuleModel model) throws DetailedSerializationException {
try {
//creates a new empty rule with a unique name (this is because
@@ -99,9 +92,6 @@
RuleAsset newRule = this.getService().loadRuleAsset(ruleUUID);
//update its content and persist
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_LHS_IN_EDITOR, hideLHSInEditor.toString()));
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_RHS_IN_EDITOR, hideRHSInEditor.toString()));
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_ATTRIBUTES_IN_EDITOR, hideAttributesInEditor.toString()));
newRule.content = model;
ruleUUID = this.getService().checkinVersion(newRule);
@@ -110,8 +100,8 @@
}
return this.getService().loadRuleAsset(ruleUUID);
+
} catch (Exception ex) {
- log.error("Unable to create Rule: " + ex.getMessage());
throw new DetailedSerializationException("Unable to create Rule",
ex.getMessage());
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/NewRuleAssetProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/NewRuleAssetProvider.java 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/NewRuleAssetProvider.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -16,19 +16,11 @@
package org.drools.guvnor.server.guidededitor;
import com.google.gwt.user.client.rpc.SerializationException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import org.drools.guvnor.client.common.AssetFormats;
import org.drools.guvnor.client.rpc.DetailedSerializationException;
import org.drools.guvnor.client.rpc.RuleAsset;
import org.drools.guvnor.server.RepositoryServiceServlet;
import org.drools.guvnor.server.ServiceImplementation;
-import org.drools.guvnor.server.util.LoggingHelper;
-import org.drools.ide.common.client.modeldriven.brl.RuleMetadata;
-import org.drools.ide.common.client.modeldriven.brl.RuleModel;
-import org.drools.ide.common.server.util.BRXMLPersistence;
/**
* Creates a new RuleAsset.
@@ -36,41 +28,28 @@
*/
public class NewRuleAssetProvider implements RuleAssetProvider {
- private static final LoggingHelper log = LoggingHelper.getLogger(NewRuleAssetProvider.class);
+ private String packageName;
+ private String categoryName;
+ private String ruleName;
- public RuleAsset[] getRuleAssets(String packageName, String categoryName, Object ruleName, Boolean hideLHSInEditor, Boolean hideRHSInEditor, Boolean hideAttributesInEditor) throws DetailedSerializationException {
+ public NewRuleAssetProvider(String packageName, String categoryName, String ruleName) {
+ this.packageName = packageName;
+ this.categoryName = categoryName;
+ this.ruleName = ruleName;
+ }
+
+ public RuleAsset[] getRuleAssets() throws DetailedSerializationException {
try {
- //ruleName must be a String
- if (!(ruleName instanceof String)) {
- throw new IllegalArgumentException("Expected String and not " + ruleName.getClass().getName());
- }
-
- String name = (String) ruleName;
-
//creates a new empty rule with a unique name (this is because
//multiple clients could be opening the same rule at the same time)
- String ruleUUID = this.getService().createNewRule(name, "created by standalone guided editor", categoryName, packageName, AssetFormats.BUSINESS_RULE);
+ String ruleUUID = this.getService().createNewRule(ruleName, "created by standalone guided editor", categoryName, packageName, AssetFormats.BUSINESS_RULE);
RuleAsset newRule = this.getService().loadRuleAsset(ruleUUID);
- //update its content and persist
- RuleModel model = (RuleModel) newRule.content;
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_LHS_IN_EDITOR, hideLHSInEditor.toString()));
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_RHS_IN_EDITOR, hideRHSInEditor.toString()));
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_ATTRIBUTES_IN_EDITOR, hideAttributesInEditor.toString()));
- ruleUUID = this.getService().checkinVersion(newRule);
-
- if (ruleUUID == null) {
- throw new IllegalStateException("Failed checking int the new version");
- }
-
- newRule = this.getService().loadRuleAsset(ruleUUID);
-
return new RuleAsset[]{newRule};
} catch (SerializationException ex) {
throw new DetailedSerializationException("Error creating rule asset", ex.getMessage());
}
-
}
private ServiceImplementation getService() {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/RuleAssetProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/RuleAssetProvider.java 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/RuleAssetProvider.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -26,6 +26,6 @@
*/
public interface RuleAssetProvider {
- RuleAsset[] getRuleAssets(String packageName, String categoryName, Object data, Boolean hideLHSInEditor, Boolean hideRHSInEditor, Boolean hideAttributesInEditor) throws DetailedSerializationException ;
+ RuleAsset[] getRuleAssets() throws DetailedSerializationException ;
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/UUIDRuleAssetProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/UUIDRuleAssetProvider.java 2010-11-05 15:54:32 UTC (rev 35884)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/guidededitor/UUIDRuleAssetProvider.java 2010-11-05 18:00:15 UTC (rev 35885)
@@ -20,9 +20,6 @@
import org.drools.guvnor.client.rpc.RuleAsset;
import org.drools.guvnor.server.RepositoryServiceServlet;
import org.drools.guvnor.server.ServiceImplementation;
-import org.drools.guvnor.server.util.LoggingHelper;
-import org.drools.ide.common.client.modeldriven.brl.RuleMetadata;
-import org.drools.ide.common.client.modeldriven.brl.RuleModel;
/**
* Creates a new RuleAsset.
@@ -30,34 +27,22 @@
*/
public class UUIDRuleAssetProvider implements RuleAssetProvider {
- private static final LoggingHelper log = LoggingHelper.getLogger(UUIDRuleAssetProvider.class);
+ private String[] assetsUUIDs;
- public RuleAsset[] getRuleAssets(String packageName, String categoryName, Object assetsUUIDs, Boolean hideLHSInEditor, Boolean hideRHSInEditor, Boolean hideAttributesInEditor) throws DetailedSerializationException {
+ public UUIDRuleAssetProvider(String[] assetsUUIDs) {
+ this.assetsUUIDs = assetsUUIDs;
+ }
+
+ public RuleAsset[] getRuleAssets() throws DetailedSerializationException {
try {
- //assetsUUIDs must be a String[]
- if (!(assetsUUIDs instanceof String[])) {
- throw new IllegalArgumentException("Expected String[] and not " + assetsUUIDs.getClass().getName());
- }
- String[] uuids = (String[]) assetsUUIDs;
- RuleAsset[] assets = new RuleAsset[uuids.length];
+ RuleAsset[] assets = new RuleAsset[assetsUUIDs.length];
- for (int i = 0; i < uuids.length; i++) {
- String uuid = uuids[i];
+ for (int i = 0; i < assetsUUIDs.length; i++) {
+ String uuid = assetsUUIDs[i];
assets[i] = this.getService().loadRuleAsset(uuid);
}
- //update its content and reload
- for (int i = 0; i < assets.length; i++) {
- RuleAsset ruleAsset = assets[i];
- RuleModel model = (RuleModel) ruleAsset.content;
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_LHS_IN_EDITOR, hideLHSInEditor.toString()));
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_RHS_IN_EDITOR, hideRHSInEditor.toString()));
- model.updateMetadata(new RuleMetadata(RuleMetadata.HIDE_ATTRIBUTES_IN_EDITOR, hideAttributesInEditor.toString()));
- String ruleUUID = this.getService().checkinVersion(ruleAsset);
- assets[i] = this.getService().loadRuleAsset(ruleUUID);
- }
-
return assets;
} catch (SerializationException ex) {
throw new DetailedSerializationException("Error creating rule asset", ex.getMessage());
@@ -69,4 +54,5 @@
private ServiceImplementation getService() {
return RepositoryServiceServlet.getService();
}
+
}
More information about the jboss-svn-commits
mailing list