[jboss-svn-commits] JBL Code SVN: r35748 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client: explorer and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Oct 26 13:28:00 EDT 2010
Author: eaa
Date: 2010-10-26 13:27:58 -0400 (Tue, 26 Oct 2010)
New Revision: 35748
Added:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/security/CapabilitiesManager.java
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/JBRMSEntryPoint.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/NavigationPanel.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/ruleeditor/ActionToolbar.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DiscussionWidget.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/MetaDataWidget.java
Log:
GUVNOR-680: Move capabilities logic outside ExplorerLayoutManager
- Created CapabilitiesManager. This class can be used to perform user's capabilities validation.
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/JBRMSEntryPoint.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/JBRMSEntryPoint.java 2010-10-26 16:30:00 UTC (rev 35747)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/JBRMSEntryPoint.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -18,10 +18,12 @@
import org.drools.guvnor.client.common.GenericCallback;
import org.drools.guvnor.client.explorer.ExplorerLayoutManager;
+import org.drools.guvnor.client.messages.Constants;
import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
import org.drools.guvnor.client.rpc.UserSecurityContext;
+import org.drools.guvnor.client.ruleeditor.GuidedEditorManager;
import org.drools.guvnor.client.security.Capabilities;
-import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.security.CapabilitiesManager;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
@@ -45,15 +47,18 @@
private LoggedInUserInfo loggedInUserInfo;
- public void onModuleLoad() {
+ public void onModuleLoad() {
//Field.setMsgTarget("side");
loggedInUserInfo = new LoggedInUserInfo();
loggedInUserInfo.setVisible(false);
checkLoggedIn();
}
- private Panel createMain(Capabilities caps) {
- return (new ExplorerLayoutManager(loggedInUserInfo, caps)).getBaseLayout();
+ private Panel createMain() {
+ if (Window.Location.getPath().contains("GuidedEditor.html")){
+ return (new GuidedEditorManager().getBaseLayout());
+ }
+ return (new ExplorerLayoutManager(loggedInUserInfo)).getBaseLayout();
}
/**
@@ -84,12 +89,15 @@
private void showMain() {
Window.setStatus(((Constants) GWT.create(Constants.class)).LoadingUserPermissions());
- RepositoryServiceFactory.getSecurityService().getUserCapabilities(new GenericCallback<Capabilities>() {
- public void onSuccess(Capabilities cp) {
+
+ CapabilitiesManager.getInstance().refreshAllowedCapabilities(new Command() {
+
+ public void execute() {
Window.setStatus(" ");
- RootLayoutPanel.get().add(createMain(cp));
+ RootLayoutPanel.get().add(createMain());
}
});
+
// Setup a history handler to reselect the associate menu item
final ValueChangeHandler<String> historyHandler = new ValueChangeHandler<String>() {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java 2010-10-26 16:30:00 UTC (rev 35747)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -17,7 +17,7 @@
package org.drools.guvnor.client.explorer;
import org.drools.guvnor.client.LoggedInUserInfo;
-import org.drools.guvnor.client.security.Capabilities;
+import org.drools.guvnor.client.security.CapabilitiesManager;
import org.drools.guvnor.client.util.TabOpener;
import com.google.gwt.dom.client.Style.Unit;
@@ -30,20 +30,15 @@
* This is the main part of the app that lays everything out.
*/
public class ExplorerLayoutManager {
- /**
- * These are used to decide what to display or not.
- */
- protected static Capabilities capabilities;
-
+
private TitlePanel titlePanel;
private NavigationPanel navigationStackLayoutPanel;
private DockLayoutPanel mainPanel;
private final ExplorerViewCenterPanel centertabbedPanel = new ExplorerViewCenterPanel();
- public ExplorerLayoutManager(LoggedInUserInfo uif,
- Capabilities caps) {
- Preferences.INSTANCE.loadPrefs( caps );
+ public ExplorerLayoutManager(LoggedInUserInfo uif) {
+ Preferences.INSTANCE.loadPrefs( CapabilitiesManager.getInstance().getCapabilities());
String tok = History.getToken();
@@ -51,7 +46,6 @@
//we use this to decide what to display.
BookmarkInfo bookmarkInfo = handleHistoryToken( tok );
- ExplorerLayoutManager.capabilities = caps;
if ( bookmarkInfo.isShowChrome() ) {
titlePanel = new TitlePanel( uif );
@@ -91,15 +85,6 @@
return mainPanel;
}
- public static boolean shouldShow(Integer... capability) {
- for ( Integer cap : capability ) {
- if ( capabilities.list.contains( cap ) ) {
- return true;
- }
- }
- return false;
- }
-
/**
* Parse the bookmark/history token (the bit after the "#" in the URL)
* to work out what we will display.
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java 2010-10-26 16:30:00 UTC (rev 35747)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -25,6 +25,7 @@
import org.drools.guvnor.client.rpc.PackageConfigData;
import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
import org.drools.guvnor.client.security.Capabilities;
+import org.drools.guvnor.client.security.CapabilitiesManager;
import org.drools.guvnor.client.util.Util;
import com.google.gwt.core.client.GWT;
@@ -238,7 +239,7 @@
inbox.setState( true );
root.addItem( inbox );
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
final TreeItem byStatus = new TreeItem( Util.getHeader( images.statusSmall(),
constants.ByStatus() ) );
itemWidgets.put( byStatus,
@@ -298,7 +299,7 @@
new GenericCallback<String[]>() {
public void onSuccess(String[] value) {
if ( value.length == 0 ) {
- if ( path.equals( "/" ) && ExplorerLayoutManager.shouldShow( Capabilities.SHOW_ADMIN ) ) {
+ if ( path.equals( "/" ) && CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_ADMIN ) ) {
RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
public void onSuccess(PackageConfigData[] result) {
if ( result.length == 1 ) {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/NavigationPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/NavigationPanel.java 2010-10-26 16:30:00 UTC (rev 35747)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/NavigationPanel.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -16,6 +16,7 @@
package org.drools.guvnor.client.explorer;
import org.drools.guvnor.client.security.Capabilities;
+import org.drools.guvnor.client.security.CapabilitiesManager;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.Command;
@@ -37,20 +38,20 @@
addCategoriesPanel();
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
addPackagesPanel();
}
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_QA ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_QA ) ) {
addQAPanel();
}
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_DEPLOYMENT,
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_DEPLOYMENT,
Capabilities.SHOW_DEPLOYMENT_NEW ) ) {
addDeploymentPanel();
}
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_ADMIN ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_ADMIN ) ) {
addAdminPanel();
}
@@ -73,7 +74,7 @@
DeploymentTree deploymentTreeItem = new DeploymentTree();
ScrollPanel deploymentTreeItemPanel = new ScrollPanel( deploymentTreeItem );
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
deploymentDockLayoutPanel.addNorth( DeploymentNewMenu.getMenu( deploymentTreeItem ),
2 );
}
@@ -102,7 +103,7 @@
final PackagesTree packagesTreeItem = new PackagesTree();
ScrollPanel packagesTreeItemPanel = new ScrollPanel( packagesTreeItem );
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
packageDockLayoutPanel.addNorth( PackagesNewMenu.getMenu( packagesTreeItem ),
2 );
}
@@ -125,7 +126,7 @@
BrowseTree categoriesTreeItem = new BrowseTree();
ScrollPanel categoriesTreeItemPanel = new ScrollPanel( categoriesTreeItem );
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
browseDockLayoutPanel.addNorth( RulesNewMenu.getMenu( categoriesTreeItem ),
2 );
}
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-10-26 16:30:00 UTC (rev 35747)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleModeller.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -47,6 +47,7 @@
import org.drools.guvnor.client.rpc.VerificationServiceAsync;
import org.drools.guvnor.client.ruleeditor.RuleViewer;
import org.drools.guvnor.client.security.Capabilities;
+import org.drools.guvnor.client.security.CapabilitiesManager;
import org.drools.guvnor.client.util.Format;
import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
import org.drools.ide.common.client.modeldriven.brl.ActionCallMethod;
@@ -284,7 +285,7 @@
}
private boolean showAttributes() {
- return ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW );
+ return CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_PACKAGE_VIEW );
}
public void refreshWidget() {
@@ -543,7 +544,7 @@
} );
}
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
choices.addItem( ".................." );
choices.addItem( constants.FreeFormDrl(),
"FF" );
@@ -822,7 +823,7 @@
}
}
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
choices.addItem( constants.AddFreeFormDrl(),
"FF" ); //NON-NLS
cmds.put( "FF",
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java 2010-10-26 16:30:00 UTC (rev 35747)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/ActionToolbar.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -42,6 +42,7 @@
import org.drools.guvnor.client.modeldriven.ui.RuleModelEditor;
import org.drools.guvnor.client.modeldriven.ui.RuleModeller;
import org.drools.guvnor.client.security.Capabilities;
+import org.drools.guvnor.client.security.CapabilitiesManager;
import org.drools.guvnor.client.util.Format;
import org.drools.guvnor.client.packages.PackageBuilderWidget;
import org.drools.guvnor.client.packages.WorkingSetManager;
@@ -254,7 +255,7 @@
}
private boolean shouldShowViewSource() {
- return ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW );
+ return CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_PACKAGE_VIEW );
}
private void doViewsource() {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DiscussionWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DiscussionWidget.java 2010-10-26 16:30:00 UTC (rev 35747)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/DiscussionWidget.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -31,6 +31,7 @@
import org.drools.guvnor.client.rpc.RuleAsset;
import org.drools.guvnor.client.rpc.ServerPushNotification;
import org.drools.guvnor.client.security.Capabilities;
+import org.drools.guvnor.client.security.CapabilitiesManager;
import org.drools.guvnor.client.util.Format;
import org.drools.guvnor.client.util.Util;
@@ -161,7 +162,7 @@
Button createNewComment = new Button( constants.AddADiscussionComment() );
hp.add( createNewComment );
- if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_ADMIN ) ) {
+ if ( CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_ADMIN ) ) {
Button adminClearAll = new Button( constants.EraseAllComments() );
hp.add( adminClearAll );
adminClearAll.addClickHandler( new ClickHandler() {
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/MetaDataWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/MetaDataWidget.java 2010-10-26 16:30:00 UTC (rev 35747)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/MetaDataWidget.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -24,6 +24,7 @@
import org.drools.guvnor.client.rpc.MetaData;
import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
import org.drools.guvnor.client.security.Capabilities;
+import org.drools.guvnor.client.security.CapabilitiesManager;
import org.drools.guvnor.client.util.Format;
import com.google.gwt.core.client.GWT;
@@ -285,7 +286,7 @@
}
private Widget packageEditor(final String packageName) {
- if ( this.readOnly || !ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
+ if ( this.readOnly || !CapabilitiesManager.getInstance().shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
return readOnlyText( packageName );
} else {
HorizontalPanel horiz = new HorizontalPanel();
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/security/CapabilitiesManager.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/security/CapabilitiesManager.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/security/CapabilitiesManager.java 2010-10-26 17:27:58 UTC (rev 35748)
@@ -0,0 +1,55 @@
+package org.drools.guvnor.client.security;
+
+import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
+
+import com.google.gwt.user.client.Command;
+
+/**
+ * The capabilities manager
+ * @author esteban.aliverti at gmail.com
+ *
+ */
+public class CapabilitiesManager {
+
+ private static CapabilitiesManager INSTANCE;
+
+ /**
+ * These are used to decide what to display or not.
+ */
+ private Capabilities capabilities;
+
+ private CapabilitiesManager(){
+
+ }
+
+ public static synchronized CapabilitiesManager getInstance(){
+ if (INSTANCE == null) INSTANCE = new CapabilitiesManager();
+ return INSTANCE;
+ }
+
+ public void refreshAllowedCapabilities(final Command command){
+ RepositoryServiceFactory.getSecurityService().getUserCapabilities(new GenericCallback<Capabilities>() {
+ public void onSuccess(Capabilities cp) {
+ capabilities = cp;
+ if (command != null){
+ command.execute();
+ }
+ }
+ });
+ }
+
+ public Capabilities getCapabilities() {
+ return this.capabilities;
+ }
+
+ public boolean shouldShow(Integer... capability) {
+ for ( Integer cap : capability ) {
+ if ( capabilities.list.contains( cap ) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+}
More information about the jboss-svn-commits
mailing list