[jboss-svn-commits] JBL Code SVN: r35525 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client: explorer and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 15 02:26:59 EDT 2010
Author: Rikkola
Date: 2010-10-15 02:26:59 -0400 (Fri, 15 Oct 2010)
New Revision: 35525
Added:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/HeaderHTML.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/HeaderHTML.ui.xml
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/TitlePanel.java
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/Util.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationTree.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/DeploymentTree.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/ExplorerViewCenterPanel.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/MultiKeyMap.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/images/Images.java
Log:
Some code cleaning around NavigationPanel
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/HeaderHTML.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/HeaderHTML.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/HeaderHTML.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2010 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.common;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+
+public class HeaderHTML extends Composite {
+
+ interface HeaderHTMLBinder
+ extends
+ UiBinder<Widget, HeaderHTML> {
+ }
+
+ private static HeaderHTMLBinder uiBinder = GWT.create( HeaderHTMLBinder.class );
+
+ @UiField
+ Label textLabel;
+
+ @UiField
+ Image image;
+
+ public HeaderHTML() {
+ initWidget( uiBinder.createAndBindUi( this ) );
+
+ }
+
+ public void setText(String text) {
+ textLabel.setText( text );
+ }
+
+ public void setImageResource(ImageResource imageResource) {
+ image.setResource( imageResource );
+ }
+}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/HeaderHTML.ui.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/HeaderHTML.ui.xml (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/HeaderHTML.ui.xml 2010-10-15 06:26:59 UTC (rev 35525)
@@ -0,0 +1,24 @@
+<!--
+ Copyright 2010 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.
+ -->
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+ xmlns:gwt='urn:import:com.google.gwt.user.client.ui' xmlns:guvnor='urn:import:org.drools.guvnor.client.common'>
+
+ <gwt:HorizontalPanel>
+ <gwt:Image ui:field="image"></gwt:Image>
+ <gwt:Label ui:field="textLabel"></gwt:Label>
+ </gwt:HorizontalPanel>
+</ui:UiBinder>
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/Util.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/Util.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/Util.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -1,4 +1,4 @@
-/**
+/*
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,29 +18,10 @@
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
-/*
- * 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.
- */
import com.google.gwt.user.client.ui.HTML;
-import com.google.gwt.user.client.ui.HasVerticalAlignment;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-
public class Util {
-
+
/**
* Get a string representation of the header that includes an image and some
* text.
@@ -49,10 +30,11 @@
* @param text the header text
* @return the header as a string
*/
- public static String getHeader(ImageResource image, String text) {
- return AbstractImagePrototype.create(image).getHTML() + " " + text;
+ public static String getHeader(ImageResource image,
+ String text) {
+ return AbstractImagePrototype.create( image ).getHTML() + " " + text;
}
-
+
/**
* Get a string representation of the header that includes an image and some
* text.
@@ -61,17 +43,14 @@
* @param text the header text
* @return the header as a string
*/
- public static HTML getHeaderHTML(ImageResource image, String text) {
- // Add the image and text to a horizontal panel
- HorizontalPanel hPanel = new HorizontalPanel();
- hPanel.setSpacing(0);
- hPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
- hPanel.add(new Image(image));
- HTML headerText = new HTML(text);
- headerText.setStyleName("cw-StackPanelHeader");
- hPanel.add(headerText);
+ public static HTML getHeaderHTML(ImageResource image,
+ String text) {
- // Return the HTML string for the panel
- return new HTML(hPanel.getElement().getString());
+ HeaderHTML headerHTML = new HeaderHTML();
+
+ headerHTML.setText( text );
+ headerHTML.setImageResource( image );
+
+ return new HTML( headerHTML.getElement().getString() );
}
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AbstractTree.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -1,7 +1,11 @@
package org.drools.guvnor.client.explorer;
+import java.util.HashMap;
+import java.util.Map;
+
import com.google.gwt.event.logical.shared.SelectionHandler;
import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
@@ -11,53 +15,66 @@
import org.drools.guvnor.client.ruleeditor.NewAssetWizard;
import org.drools.guvnor.client.rulelist.EditItemEvent;
-public abstract class AbstractTree implements SelectionHandler<TreeItem> {
- protected String name;
- protected ImageResource image;
+public abstract class AbstractTree extends Composite
+ implements
+ SelectionHandler<TreeItem> {
+ protected String name;
+ protected ImageResource image;
- protected ExplorerViewCenterPanel centertabbedPanel;
- protected Tree mainTree;
+ protected ExplorerViewCenterPanel centertabbedPanel;
+ protected final Tree mainTree;
- /**
- * Constructor.
- *
- * @param ExplorerViewCenterPanel
- * the centertabbedPanel
- */
- public AbstractTree(ExplorerViewCenterPanel centertabbedPanel) {
- this.centertabbedPanel = centertabbedPanel;
- }
+ protected Map<TreeItem, String> itemWidgets = new HashMap<TreeItem, String>();
- /**
- * Get a string representation of the header that includes an image and some
- * text.
- * @return the header as a string
- */
- public HTML getHeaderHTML() {
- return Util.getHeaderHTML(image, name);
- }
+ /**
+ * Constructor.
+ *
+ * @param ExplorerViewCenterPanel
+ * the centertabbedPanel
+ */
+ public AbstractTree(ExplorerViewCenterPanel centertabbedPanel) {
+ this.centertabbedPanel = centertabbedPanel;
- public void refreshTree() {
-
- }
-
- protected void launchWizard(String format, String title, boolean showCats) {
- NewAssetWizard pop = new NewAssetWizard(new EditItemEvent() {
- public void open(String key) {
- centertabbedPanel.openAsset(key);
- }
+ mainTree = getTree();
- public void open(MultiViewRow[] rows) {
- for (MultiViewRow row : rows) {
- centertabbedPanel.openAsset(row.uuid);
- }
- }
- }, showCats, format, title);
+ initWidget( mainTree );
+ }
- pop.show();
- }
-
- public Tree getTree() {
- return mainTree;
+ abstract Tree getTree();
+
+ /**
+ * Get a string representation of the header that includes an image and some
+ * text.
+ * @return the header as a string
+ */
+ public HTML getHeaderHTML() {
+ return Util.getHeaderHTML( image,
+ name );
}
+
+ public void refreshTree() {
+
+ }
+
+ protected void launchWizard(String format,
+ String title,
+ boolean showCats) {
+ NewAssetWizard pop = new NewAssetWizard( new EditItemEvent() {
+ public void open(String key) {
+ centertabbedPanel.openAsset( key );
+ }
+
+ public void open(MultiViewRow[] rows) {
+ for ( MultiViewRow row : rows ) {
+ centertabbedPanel.openAsset( row.uuid );
+ }
+ }
+ },
+ showCats,
+ format,
+ title );
+
+ pop.show();
+ }
+
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationTree.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/AdministrationTree.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -16,15 +16,13 @@
package org.drools.guvnor.client.explorer;
-import java.util.HashMap;
-import java.util.Map;
-
import org.drools.guvnor.client.admin.ArchivedAssetManager;
import org.drools.guvnor.client.admin.BackupManager;
import org.drools.guvnor.client.admin.CategoryManager;
import org.drools.guvnor.client.admin.LogViewer;
import org.drools.guvnor.client.admin.PermissionViewer;
import org.drools.guvnor.client.admin.RepoConfigManager;
+import org.drools.guvnor.client.admin.RuleVerifierManager;
import org.drools.guvnor.client.admin.StateManager;
import org.drools.guvnor.client.common.FormStylePopup;
import org.drools.guvnor.client.common.SmallLabel;
@@ -34,27 +32,27 @@
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.SelectionEvent;
import com.google.gwt.user.client.ui.Frame;
+import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
-import org.drools.guvnor.client.admin.RuleVerifierManager;
-
public class AdministrationTree extends AbstractTree {
- private static Constants constants = GWT.create( Constants.class );
- private static Images images = (Images) GWT.create( Images.class );
+ private static Constants constants = GWT.create( Constants.class );
+ private static Images images = (Images) GWT.create( Images.class );
- private Map<TreeItem, String> itemWidgets = new HashMap<TreeItem, String>();
-
public AdministrationTree(ExplorerViewCenterPanel tabbedPanel) {
super( tabbedPanel );
this.name = constants.Administration();
this.image = images.rules();
- mainTree = ExplorerNodeConfig.getAdminStructure( itemWidgets );
-
//Add Selection listener
mainTree.addSelectionHandler( this );
}
+ @Override
+ Tree getTree() {
+ return ExplorerNodeConfig.getAdminStructure( itemWidgets );
+ }
+
// Show the associated widget in the deck panel
public void onSelection(SelectionEvent<TreeItem> event) {
TreeItem item = event.getSelectedItem();
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/BrowseTree.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -38,203 +38,235 @@
import com.google.gwt.event.logical.shared.OpenHandler;
import com.google.gwt.event.logical.shared.SelectionEvent;
+public class BrowseTree extends AbstractTree
+ implements
+ OpenHandler<TreeItem> {
+ private static Constants constants = GWT.create( Constants.class );
+ private static Images images = (Images) GWT.create( Images.class );
-public class BrowseTree extends AbstractTree implements OpenHandler<TreeItem> {
- private static Constants constants = GWT.create(Constants.class);
- private static Images images = (Images) GWT.create(Images.class);
+ /** Table set up for the inboxes */
+ static {
+ TableConfig conf = new TableConfig();
+ conf.headers = new String[2];
+ conf.headers[0] = constants.Name();// "Name ";
+ conf.headers[1] = constants.Date();// "Date ";
+ conf.headerTypes = new String[2];
+ conf.headerTypes[0] = "class java.lang.String";
+ conf.headerTypes[1] = "class java.util.Calendar";
+ conf.rowsPerPage = 500;
+ AssetItemGrid.registerTableConf( conf,
+ ExplorerNodeConfig.RECENT_EDITED_ID );
+ AssetItemGrid.registerTableConf( conf,
+ ExplorerNodeConfig.RECENT_VIEWED_ID );
- private Map<TreeItem, String> itemWidgets = new HashMap<TreeItem, String>();
+ conf = new TableConfig();
+ conf.headers = new String[3];
+ conf.headers[0] = constants.Name();
+ conf.headers[1] = constants.Date();
+ conf.headers[2] = constants.From();
+ conf.headerTypes = new String[3];
+ conf.headerTypes[0] = "class java.lang.String";
+ conf.headerTypes[1] = "class java.util.Calendar";
+ conf.headerTypes[2] = "class java.lang.String";
+ conf.rowsPerPage = 500;
+ AssetItemGrid.registerTableConf( conf,
+ ExplorerNodeConfig.INCOMING_ID );
+ }
- /** Table set up for the inboxes */
- static {
- TableConfig conf = new TableConfig();
- conf.headers = new String[2];
- conf.headers[0] = constants.Name();// "Name ";
- conf.headers[1] = constants.Date();// "Date ";
- conf.headerTypes = new String[2];
- conf.headerTypes[0] = "class java.lang.String";
- conf.headerTypes[1] = "class java.util.Calendar";
- conf.rowsPerPage = 500;
- AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.RECENT_EDITED_ID);
- AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.RECENT_VIEWED_ID);
-
- conf = new TableConfig();
- conf.headers = new String[3];
- conf.headers[0] = constants.Name();
- conf.headers[1] = constants.Date();
- conf.headers[2] = constants.From();
- conf.headerTypes = new String[3];
- conf.headerTypes[0] = "class java.lang.String";
- conf.headerTypes[1] = "class java.util.Calendar";
- conf.headerTypes[2] = "class java.lang.String";
- conf.rowsPerPage = 500;
-
- AssetItemGrid.registerTableConf(conf, ExplorerNodeConfig.INCOMING_ID);
- }
-
public BrowseTree(ExplorerViewCenterPanel tabbedPanel) {
- super(tabbedPanel);
+ super( tabbedPanel );
this.name = constants.Browse();
this.image = images.ruleAsset();
-
- mainTree = new Tree();
- mainTree.setAnimationEnabled(true);
- ExplorerNodeConfig.setupBrowseTree(mainTree, itemWidgets);
- mainTree.addSelectionHandler(this);
- mainTree.addOpenHandler((OpenHandler<TreeItem>)this);
+
+ mainTree.setAnimationEnabled( true );
+ ExplorerNodeConfig.setupBrowseTree( mainTree,
+ itemWidgets );
+ mainTree.addSelectionHandler( this );
+ mainTree.addOpenHandler( (OpenHandler<TreeItem>) this );
}
+ @Override
+ protected Tree getTree() {
+ return new Tree();
+ }
+
public void refreshTree() {
- mainTree.clear();
- itemWidgets.clear();
- ExplorerNodeConfig.setupBrowseTree(mainTree, itemWidgets);
+ mainTree.clear();
+ itemWidgets.clear();
+ ExplorerNodeConfig.setupBrowseTree( mainTree,
+ itemWidgets );
}
-
+
// Show the associated widget in the deck panel
public void onSelection(SelectionEvent<TreeItem> event) {
TreeItem item = event.getSelectedItem();
- String widgetID = itemWidgets.get(item);
-
- if (widgetID.equals(ExplorerNodeConfig.FIND_ID)) {
+ String widgetID = itemWidgets.get( item );
+
+ if ( widgetID.equals( ExplorerNodeConfig.FIND_ID ) ) {
centertabbedPanel.openFind();
- } else if (widgetID.equals(ExplorerNodeConfig.INCOMING_ID) ||
- widgetID.equals(ExplorerNodeConfig.RECENT_EDITED_ID) ||
- widgetID.equals(ExplorerNodeConfig.RECENT_VIEWED_ID)) {
- openInbox(item.getText(), widgetID);
- } else if (widgetID.startsWith(ExplorerNodeConfig.STATES_ID)){
- openState(item.getText(), widgetID);
- } else if (widgetID.startsWith(ExplorerNodeConfig.CATEGORY_ID)){
- openCategory(item.getText(), widgetID);
+ } else if ( widgetID.equals( ExplorerNodeConfig.INCOMING_ID ) || widgetID.equals( ExplorerNodeConfig.RECENT_EDITED_ID ) || widgetID.equals( ExplorerNodeConfig.RECENT_VIEWED_ID ) ) {
+ openInbox( item.getText(),
+ widgetID );
+ } else if ( widgetID.startsWith( ExplorerNodeConfig.STATES_ID ) ) {
+ openState( item.getText(),
+ widgetID );
+ } else if ( widgetID.startsWith( ExplorerNodeConfig.CATEGORY_ID ) ) {
+ openCategory( item.getText(),
+ widgetID );
}
- }
+ }
- public void onOpen(OpenEvent<TreeItem> event) {
- final TreeItem node = event.getTarget();
- if (ExplorerNodeConfig.STATES_ROOT_ID.equals(itemWidgets.get(node))) {
- removeStateIDs(itemWidgets);
- node.removeItems();
- ExplorerNodeConfig.setupStatesStructure(node, itemWidgets);
- } else if (ExplorerNodeConfig.CATEGORY_ROOT_ID.equals(itemWidgets.get(node))) {
- removeCategoryIDs(itemWidgets);
- node.removeItems();
- ExplorerNodeConfig.setupCategoriesStructure(node, itemWidgets);
- }
- }
-
- private void removeStateIDs(Map<TreeItem, String> itemWidgets) {
- Iterator<TreeItem> it = itemWidgets.keySet().iterator();
- while(it.hasNext()) {
- TreeItem item = (TreeItem)it.next();
- String id = itemWidgets.get(item);
- if(id.startsWith(ExplorerNodeConfig.STATES_ID + "-")) {
- it.remove();
- }
- }
- }
-
- private void removeCategoryIDs(Map<TreeItem, String> itemWidgets) {
- Iterator<TreeItem> it = itemWidgets.keySet().iterator();
- while(it.hasNext()) {
- TreeItem item = (TreeItem)it.next();
- String id = itemWidgets.get(item);
- if(id.startsWith(ExplorerNodeConfig.CATEGORY_ID + "-")) {
- it.remove();
- }
- }
- }
-
+ public void onOpen(OpenEvent<TreeItem> event) {
+ final TreeItem node = event.getTarget();
+ if ( ExplorerNodeConfig.STATES_ROOT_ID.equals( itemWidgets.get( node ) ) ) {
+ removeStateIDs( itemWidgets );
+ node.removeItems();
+ ExplorerNodeConfig.setupStatesStructure( node,
+ itemWidgets );
+ } else if ( ExplorerNodeConfig.CATEGORY_ROOT_ID.equals( itemWidgets.get( node ) ) ) {
+ removeCategoryIDs( itemWidgets );
+ node.removeItems();
+ ExplorerNodeConfig.setupCategoriesStructure( node,
+ itemWidgets );
+ }
+ }
+
+ private void removeStateIDs(Map<TreeItem, String> itemWidgets) {
+ Iterator<TreeItem> it = itemWidgets.keySet().iterator();
+ while ( it.hasNext() ) {
+ TreeItem item = (TreeItem) it.next();
+ String id = itemWidgets.get( item );
+ if ( id.startsWith( ExplorerNodeConfig.STATES_ID + "-" ) ) {
+ it.remove();
+ }
+ }
+ }
+
+ private void removeCategoryIDs(Map<TreeItem, String> itemWidgets) {
+ Iterator<TreeItem> it = itemWidgets.keySet().iterator();
+ while ( it.hasNext() ) {
+ TreeItem item = (TreeItem) it.next();
+ String id = itemWidgets.get( item );
+ if ( id.startsWith( ExplorerNodeConfig.CATEGORY_ID + "-" ) ) {
+ it.remove();
+ }
+ }
+ }
+
/**
* Show the inbox of the given name.
*/
- private void openInbox(String title, final String widgetID) {
- if (!centertabbedPanel.showIfOpen(widgetID)) {
- AssetItemGrid g = new AssetItemGrid(createEditEvent(), widgetID, new AssetItemGridDataLoader() {
- public void loadData(int startRow, int numberOfRows, GenericCallback<TableDataResult> cb) {
- RepositoryServiceFactory.getService().loadInbox(widgetID, cb);
- }
- });
- centertabbedPanel.addTab(title, g, widgetID);
+ private void openInbox(String title,
+ final String widgetID) {
+ if ( !centertabbedPanel.showIfOpen( widgetID ) ) {
+ AssetItemGrid g = new AssetItemGrid( createEditEvent(),
+ widgetID,
+ new AssetItemGridDataLoader() {
+ public void loadData(int startRow,
+ int numberOfRows,
+ GenericCallback<TableDataResult> cb) {
+ RepositoryServiceFactory.getService().loadInbox( widgetID,
+ cb );
+ }
+ } );
+ centertabbedPanel.addTab( title,
+ g,
+ widgetID );
}
}
/**
* open a state or category !
*/
- private void openState(String title, String widgetID) {
- if (!centertabbedPanel.showIfOpen(widgetID)) {
- final String stateName = widgetID.substring(widgetID.indexOf("-") + 1);
- final AssetItemGrid list = new AssetItemGrid(createEditEvent(),
- AssetItemGrid.RULE_LIST_TABLE_ID,
- new AssetItemGridDataLoader() {
- public void loadData(int skip, int numberOfRows, GenericCallback cb) {
- RepositoryServiceFactory.getService().
- loadRuleListForState(stateName, skip,
- numberOfRows, AssetItemGrid.RULE_LIST_TABLE_ID, cb);
-
- }
- },
- null);
- final ServerPushNotification push = new ServerPushNotification() {
+ private void openState(String title,
+ String widgetID) {
+ if ( !centertabbedPanel.showIfOpen( widgetID ) ) {
+ final String stateName = widgetID.substring( widgetID.indexOf( "-" ) + 1 );
+ final AssetItemGrid list = new AssetItemGrid( createEditEvent(),
+ AssetItemGrid.RULE_LIST_TABLE_ID,
+ new AssetItemGridDataLoader() {
+ public void loadData(int skip,
+ int numberOfRows,
+ GenericCallback cb) {
+ RepositoryServiceFactory.getService().loadRuleListForState( stateName,
+ skip,
+ numberOfRows,
+ AssetItemGrid.RULE_LIST_TABLE_ID,
+ cb );
+
+ }
+ },
+ null );
+ final ServerPushNotification push = new ServerPushNotification() {
public void messageReceived(PushResponse response) {
- if (response.messageType.equals("statusChange") && (response.message).equals(stateName)) {
- list.refreshGrid();
- }
+ if ( response.messageType.equals( "statusChange" ) && (response.message).equals( stateName ) ) {
+ list.refreshGrid();
+ }
}
};
- PushClient.instance().subscribe(push);
- list.addUnloadListener(new Command() {
+ PushClient.instance().subscribe( push );
+ list.addUnloadListener( new Command() {
public void execute() {
- PushClient.instance().unsubscribe(push);
+ PushClient.instance().unsubscribe( push );
}
- });
+ } );
- centertabbedPanel.addTab(constants.Status() + title, list, widgetID);
+ centertabbedPanel.addTab( constants.Status() + title,
+ list,
+ widgetID );
}
}
/**
* open a category
*/
- private void openCategory(String title, String widgetID) {
- if (!centertabbedPanel.showIfOpen(widgetID)) {
- final String categoryName = widgetID.substring(widgetID.indexOf("-") + 1);
- final AssetItemGrid list = new AssetItemGrid(createEditEvent(),
- AssetItemGrid.RULE_LIST_TABLE_ID,
- new AssetItemGridDataLoader() {
- public void loadData(int skip, int numberOfRows, GenericCallback cb) {
- RepositoryServiceFactory.getService().
- loadRuleListForCategories(categoryName, skip, numberOfRows,
- AssetItemGrid.RULE_LIST_TABLE_ID, cb);
- }
- },
- GWT.getModuleBaseURL() + "feed/category?name=" + categoryName + "&viewUrl=" + getSelfURL());
- final ServerPushNotification push = new ServerPushNotification() {
+ private void openCategory(String title,
+ String widgetID) {
+ if ( !centertabbedPanel.showIfOpen( widgetID ) ) {
+ final String categoryName = widgetID.substring( widgetID.indexOf( "-" ) + 1 );
+ final AssetItemGrid list = new AssetItemGrid( createEditEvent(),
+ AssetItemGrid.RULE_LIST_TABLE_ID,
+ new AssetItemGridDataLoader() {
+ public void loadData(int skip,
+ int numberOfRows,
+ GenericCallback cb) {
+ RepositoryServiceFactory.getService().loadRuleListForCategories( categoryName,
+ skip,
+ numberOfRows,
+ AssetItemGrid.RULE_LIST_TABLE_ID,
+ cb );
+ }
+ },
+ GWT.getModuleBaseURL() + "feed/category?name=" + categoryName + "&viewUrl=" + getSelfURL() );
+ final ServerPushNotification push = new ServerPushNotification() {
public void messageReceived(PushResponse response) {
- if (response.messageType.equals("categoryChange") && response.message.equals(categoryName)) {
- list.refreshGrid();
- }
+ if ( response.messageType.equals( "categoryChange" ) && response.message.equals( categoryName ) ) {
+ list.refreshGrid();
+ }
}
};
- PushClient.instance().subscribe(push);
- list.addUnloadListener(new Command() {
+ PushClient.instance().subscribe( push );
+ list.addUnloadListener( new Command() {
public void execute() {
- PushClient.instance().unsubscribe(push);
+ PushClient.instance().unsubscribe( push );
}
- });
+ } );
- centertabbedPanel.addTab((constants.CategoryColon()) + title, list, widgetID);
+ centertabbedPanel.addTab( (constants.CategoryColon()) + title,
+ list,
+ widgetID );
}
}
-
+
private EditItemEvent createEditEvent() {
return new EditItemEvent() {
public void open(String uuid) {
- centertabbedPanel.openAsset(uuid);
+ centertabbedPanel.openAsset( uuid );
}
public void open(MultiViewRow[] rows) {
- for ( MultiViewRow row: rows) {
+ for ( MultiViewRow row : rows ) {
centertabbedPanel.openAsset( row.uuid );
}
}
@@ -247,8 +279,9 @@
*/
public static String getSelfURL() {
String selfURL = Window.Location.getHref();
- if (selfURL.contains("#")) {
- selfURL = selfURL.substring(0, selfURL.indexOf("#"));
+ if ( selfURL.contains( "#" ) ) {
+ selfURL = selfURL.substring( 0,
+ selfURL.indexOf( "#" ) );
}
return selfURL;
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/DeploymentTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/DeploymentTree.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/DeploymentTree.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -33,72 +33,78 @@
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
+public class DeploymentTree extends AbstractTree
+ implements
+ OpenHandler<TreeItem> {
+ private static Constants constants = GWT.create( Constants.class );
+ private static Images images = (Images) GWT.create( Images.class );
-public class DeploymentTree extends AbstractTree implements OpenHandler<TreeItem> {
- private static Constants constants = GWT.create(Constants.class);
- private static Images images = (Images) GWT.create(Images.class);
+ private boolean deploymentPackagesLoaded = false;
- private Map<TreeItem, String> itemWidgets = new HashMap<TreeItem, String>();
-
- private boolean deploymentPackagesLoaded = false;
-
public DeploymentTree(ExplorerViewCenterPanel tabbedPanel) {
- super(tabbedPanel);
+ super( tabbedPanel );
this.name = constants.PackageSnapshots();
this.image = images.deploy();
-
- mainTree = new Tree();
- mainTree.setAnimationEnabled(true);
- ExplorerNodeConfig.setupDeploymentTree(mainTree, itemWidgets);
- mainTree.addSelectionHandler(this);
- mainTree.addOpenHandler((OpenHandler<TreeItem>)this);
- }
+ mainTree.setAnimationEnabled( true );
+ ExplorerNodeConfig.setupDeploymentTree( mainTree,
+ itemWidgets );
+ mainTree.addSelectionHandler( this );
+ mainTree.addOpenHandler( (OpenHandler<TreeItem>) this );
+ }
+
+ @Override
+ Tree getTree() {
+ return new Tree();
+ }
+
public void refreshTree() {
- mainTree.clear();
- itemWidgets.clear();
- ExplorerNodeConfig.setupDeploymentTree(mainTree, itemWidgets);
+ mainTree.clear();
+ itemWidgets.clear();
+ ExplorerNodeConfig.setupDeploymentTree( mainTree,
+ itemWidgets );
}
-
+
public void onSelection(SelectionEvent<TreeItem> event) {
TreeItem item = event.getSelectedItem();
-
- if (item.getUserObject() instanceof Object[]) {
+
+ if ( item.getUserObject() instanceof Object[] ) {
Object[] o = (Object[]) item.getUserObject();
- final String snapName = ((SnapshotInfo)o[0]).name;
- PackageConfigData conf = (PackageConfigData)o[1];
- RepositoryServiceFactory.getService().listSnapshots(conf.name, new GenericCallback<SnapshotInfo[]>() {
- public void onSuccess(SnapshotInfo[] a) {
- for(SnapshotInfo snap : a) {
- if (snap.name.equals(snapName)) {
- centertabbedPanel.openSnapshot(snap);
- return;
- }
- }
- }
- });
+ final String snapName = ((SnapshotInfo) o[0]).name;
+ PackageConfigData conf = (PackageConfigData) o[1];
+ RepositoryServiceFactory.getService().listSnapshots( conf.name,
+ new GenericCallback<SnapshotInfo[]>() {
+ public void onSuccess(SnapshotInfo[] a) {
+ for ( SnapshotInfo snap : a ) {
+ if ( snap.name.equals( snapName ) ) {
+ centertabbedPanel.openSnapshot( snap );
+ return;
+ }
+ }
+ }
+ } );
}
}
-
- public void onOpen(OpenEvent<TreeItem> event) {
- final TreeItem node = event.getTarget();
- if (ExplorerNodeConfig.PACKAGE_SNAPSHOTS.equals(itemWidgets.get(node))) {
- return;
- }
- final PackageConfigData conf = (PackageConfigData) node.getUserObject();
- if (conf != null) {
- RepositoryServiceFactory.getService().listSnapshots(conf.name,
- new GenericCallback<SnapshotInfo[]>() {
- public void onSuccess(SnapshotInfo[] snaps) {
- node.removeItems();
- for (final SnapshotInfo snapInfo : snaps) {
- TreeItem snap = new TreeItem(snapInfo.name);
- //snap.setTooltip(snapInfo.comment);
- snap.setUserObject(new Object[]{snapInfo, conf});
- node.addItem(snap);
- }
- }
- });
- }
- }
+
+ public void onOpen(OpenEvent<TreeItem> event) {
+ final TreeItem node = event.getTarget();
+ if ( ExplorerNodeConfig.PACKAGE_SNAPSHOTS.equals( itemWidgets.get( node ) ) ) {
+ return;
+ }
+ final PackageConfigData conf = (PackageConfigData) node.getUserObject();
+ if ( conf != null ) {
+ RepositoryServiceFactory.getService().listSnapshots( conf.name,
+ new GenericCallback<SnapshotInfo[]>() {
+ public void onSuccess(SnapshotInfo[] snaps) {
+ node.removeItems();
+ for ( final SnapshotInfo snapInfo : snaps ) {
+ TreeItem snap = new TreeItem( snapInfo.name );
+ //snap.setTooltip(snapInfo.comment);
+ snap.setUserObject( new Object[]{snapInfo, conf} );
+ node.addItem( snap );
+ }
+ }
+ } );
+ }
+ }
}
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-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerLayoutManager.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -19,19 +19,12 @@
import org.drools.guvnor.client.LoggedInUserInfo;
import org.drools.guvnor.client.security.Capabilities;
+import com.google.gwt.dom.client.Style.Unit;
+import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.DockLayoutPanel;
-import com.google.gwt.user.client.ui.DockPanel;
-import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.SplitLayoutPanel;
-import com.google.gwt.user.client.ui.StackLayoutPanel;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DeferredCommand;
-import com.google.gwt.user.client.History;
-import com.google.gwt.dom.client.Style.Unit;
-
/**
* This is the main part of the app that lays everything out.
*/
@@ -39,167 +32,63 @@
/**
* These are used to decide what to display or not.
*/
- protected static Capabilities capabilities;
+ protected static Capabilities capabilities;
- private DockPanel titlePanel;
- private StackLayoutPanel navigationStackLayoutPanel;
- private ExplorerViewCenterPanel centertabbedPanel;
- private DockLayoutPanel mainPanel;
+ 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,
+ Capabilities caps) {
+ Preferences.INSTANCE.loadPrefs( caps );
String tok = History.getToken();
-
//we use this to decide what to display.
- BookmarkInfo bi = handleHistoryToken(tok);
+ BookmarkInfo bookmarkInfo = handleHistoryToken( tok );
ExplorerLayoutManager.capabilities = caps;
-
-
- if (bi.showChrome) {
- setupTitlePanel(uif);
+
+ if ( bookmarkInfo.isShowChrome() ) {
+ titlePanel = new TitlePanel( uif );
}
- setupExplorerViewCenterPanel();
- setupNavigationPanels();
- setupMainPanel(bi);
-
+ navigationStackLayoutPanel = new NavigationPanel( centertabbedPanel );
+ setupMainPanel( bookmarkInfo );
+
//Open default widgets
- if (bi.loadAsset) {
- centertabbedPanel.openAsset(bi.assetId);
+ if ( bookmarkInfo.isLoadAsset() ) {
+ centertabbedPanel.openAsset( bookmarkInfo.getAssetId() );
}
centertabbedPanel.openFind();
}
-
+
/**
- * Create the title bar at the top of the application.
+ * Create the main panel.
*
- * @param LoggedInUserInfo uif
*/
- private void setupTitlePanel(LoggedInUserInfo uif) {
- titlePanel = new DockPanel();
- titlePanel.setVerticalAlignment(DockPanel.ALIGN_MIDDLE);
- titlePanel.add(new HTML("<div class='header'><img src='header_logo.gif' /></div>"), DockPanel.WEST);
- titlePanel.add(uif, DockPanel.EAST);
- titlePanel.setStyleName("header");
- titlePanel.setWidth("100%");
- }
-
- /**
- * Create the navigation panel for the west area.
- *
- */
- private void setupNavigationPanels() {
- navigationStackLayoutPanel = new StackLayoutPanel(Unit.EM);
+ private void setupMainPanel(BookmarkInfo bi) {
+ mainPanel = new DockLayoutPanel( Unit.EM );
- //Browse
- DockLayoutPanel browseDockLayoutPanel = new DockLayoutPanel(Unit.EM);
- BrowseTree categoriesTreeItem = new BrowseTree(centertabbedPanel);
- ScrollPanel categoriesTreeItemPanel = new ScrollPanel(categoriesTreeItem.getTree());
-
- if (ExplorerLayoutManager.shouldShow(Capabilities.SHOW_CREATE_NEW_ASSET)) {
- browseDockLayoutPanel.addNorth(RulesNewMenu.getMenu(categoriesTreeItem),2);
+ if ( bi.isShowChrome() ) {
+ mainPanel.addNorth( titlePanel,
+ 4 );
}
- browseDockLayoutPanel.add(categoriesTreeItemPanel);
-
- navigationStackLayoutPanel.add(browseDockLayoutPanel, categoriesTreeItem.getHeaderHTML(), 2);
-
-
- //Knowledge Bases (Packages)
- if (shouldShow(Capabilities.SHOW_PACKAGE_VIEW)) {
- DockLayoutPanel packageDockLayoutPanel = new DockLayoutPanel(Unit.EM);
- final PackagesTree packagesTreeItem = new PackagesTree(centertabbedPanel);
- ScrollPanel packagesTreeItemPanel = new ScrollPanel(packagesTreeItem.getTree());
-
- if (ExplorerLayoutManager.shouldShow(Capabilities.SHOW_CREATE_NEW_ASSET)) {
- packageDockLayoutPanel.addNorth(PackagesNewMenu.getMenu(packagesTreeItem),2);
- }
- packageDockLayoutPanel.add(packagesTreeItemPanel);
-
- navigationStackLayoutPanel.add(packageDockLayoutPanel, packagesTreeItem.getHeaderHTML(), 2);
-
- //lazy loaded to easy startup wait time.
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- packagesTreeItem.loadPackageList();
- }
- });
- }
-
- //QA
- if (shouldShow(Capabilities.SHOW_QA)) {
- DockLayoutPanel qaDockLayoutPanel = new DockLayoutPanel(Unit.EM);
- QATree qaTreeItem = new QATree(centertabbedPanel);
- ScrollPanel qaTreeItemPanel = new ScrollPanel(qaTreeItem.getTree());
-
- qaDockLayoutPanel.add(qaTreeItemPanel);
-
- navigationStackLayoutPanel.add(qaDockLayoutPanel, qaTreeItem.getHeaderHTML(), 2);
- }
-
- //Deployment(Package snapshots)
- if (shouldShow(Capabilities.SHOW_DEPLOYMENT, Capabilities.SHOW_DEPLOYMENT_NEW)) {
- DockLayoutPanel deploymentDockLayoutPanel = new DockLayoutPanel(Unit.EM);
- DeploymentTree deploymentTreeItem = new DeploymentTree(centertabbedPanel);
- ScrollPanel deploymentTreeItemPanel = new ScrollPanel(deploymentTreeItem.getTree());
-
- if (ExplorerLayoutManager.shouldShow(Capabilities.SHOW_CREATE_NEW_ASSET)) {
- deploymentDockLayoutPanel.addNorth(DeploymentNewMenu.getMenu(deploymentTreeItem),2);
- }
-
- deploymentDockLayoutPanel.add(deploymentTreeItemPanel);
-
- navigationStackLayoutPanel.add(deploymentDockLayoutPanel, deploymentTreeItem.getHeaderHTML(), 2);
- }
-
- //Admin
- if (shouldShow(Capabilities.SHOW_ADMIN)) {
- DockLayoutPanel adminDockLayoutPanel = new DockLayoutPanel(Unit.EM);
- AdministrationTree deploymentTreeItem = new AdministrationTree(centertabbedPanel);
- ScrollPanel adminTreeItemPanel = new ScrollPanel(deploymentTreeItem.getTree());
-
- adminDockLayoutPanel.add(adminTreeItemPanel);
-
- navigationStackLayoutPanel.add(adminDockLayoutPanel, deploymentTreeItem.getHeaderHTML(), 2);
- }
-
- //accordion.add(new ProcessServerPanel("Process Server", centertabbedPanel));
-
+ SplitLayoutPanel centerPanel = new SplitLayoutPanel();
+ centerPanel.addWest( navigationStackLayoutPanel,
+ 250 );
+ centerPanel.add( centertabbedPanel );
+ mainPanel.add( centerPanel );
}
- /**
- * Create the explorer view tabbed panel
- *
- */
- private void setupExplorerViewCenterPanel() {
- centertabbedPanel = new ExplorerViewCenterPanel();
- }
-
- /**
- * Create the main panel.
- *
- */
- private void setupMainPanel(BookmarkInfo bi) {
- mainPanel = new DockLayoutPanel(Unit.EM);
-
- if (bi.showChrome) {
- mainPanel.addNorth(titlePanel, 4);
- }
- SplitLayoutPanel centerPanel = new SplitLayoutPanel();
- centerPanel.addWest(navigationStackLayoutPanel, 250);
- centerPanel.add(centertabbedPanel.getPanel());
- mainPanel.add(centerPanel);
- }
-
public Panel getBaseLayout() {
return mainPanel;
}
public static boolean shouldShow(Integer... capability) {
- for (Integer cap : capability) {
- if (capabilities.list.contains(cap)) {
+ for ( Integer cap : capability ) {
+ if ( capabilities.list.contains( cap ) ) {
return true;
}
}
@@ -211,30 +100,54 @@
* to work out what we will display.
*/
static BookmarkInfo handleHistoryToken(String tok) {
- if (tok == null) return new BookmarkInfo();
- BookmarkInfo bi = new BookmarkInfo();
- if (tok.startsWith("asset=")) { //NON-NLS
- String uuid = null;
- //URLDecoder is not supported in GWT. We decode ampersand (&) here by ourself.
- if(tok.indexOf("%26nochrome") >= 0) {
- uuid = tok.substring(6).split("%26nochrome")[0]; //NON-NLS
- } else {
- uuid = tok.substring(6).split("&nochrome")[0]; //NON-NLS
- }
- bi.loadAsset = true;
- bi.assetId = uuid;
+ if ( tok == null ) return new BookmarkInfo();
+ BookmarkInfo bi = new BookmarkInfo();
+ if ( tok.startsWith( "asset=" ) ) { //NON-NLS
+ String uuid = null;
+ //URLDecoder is not supported in GWT. We decode ampersand (&) here by ourself.
+ if ( tok.indexOf( "%26nochrome" ) >= 0 ) {
+ uuid = tok.substring( 6 ).split( "%26nochrome" )[0]; //NON-NLS
+ } else {
+ uuid = tok.substring( 6 ).split( "&nochrome" )[0]; //NON-NLS
+ }
+ bi.setLoadAsset( true );
+ bi.setAssetId( uuid );
}
- if (tok.contains("nochrome") || tok.contains("nochrome==true")) {
- bi.showChrome = false;
+ if ( tok.contains( "nochrome" ) || tok.contains( "nochrome==true" ) ) {
+ bi.setShowChrome( false );
}
- return bi;
+ return bi;
}
public static class BookmarkInfo {
- String assetId;
- boolean showChrome = true;
- boolean loadAsset = false;
+ private String assetId;
+ private boolean showChrome = true;
+ private boolean loadAsset = false;
+
+ void setShowChrome(boolean showChrome) {
+ this.showChrome = showChrome;
+ }
+
+ boolean isShowChrome() {
+ return showChrome;
+ }
+
+ void setLoadAsset(boolean loadAsset) {
+ this.loadAsset = loadAsset;
+ }
+
+ boolean isLoadAsset() {
+ return loadAsset;
+ }
+
+ void setAssetId(String assetId) {
+ this.assetId = assetId;
+ }
+
+ String getAssetId() {
+ return assetId;
+ }
}
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerViewCenterPanel.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -50,7 +50,7 @@
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.Timer;
-import com.google.gwt.user.client.ui.Button;
+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.Label;
@@ -63,73 +63,29 @@
* This is the tab panel manager.
* @author Fernando Meyer, Michael Neale
*/
-public class ExplorerViewCenterPanel {
- private Constants constants = ((Constants)GWT.create(Constants.class));
- private static Images images = (Images)GWT.create(Images.class);
+public class ExplorerViewCenterPanel extends Composite {
+ private Constants constants = ((Constants) GWT.create( Constants.class ));
+ private static Images images = (Images) GWT.create( Images.class );
- final TabLayoutPanel tp;
+ private final TabLayoutPanel tabLayoutPanel;
- private MultiKeyMap<Panel> openedTabs = new MultiKeyMap<Panel>();
- private static int id = 0;
+ private MultiKeyMap<Panel> openedTabs = new MultiKeyMap<Panel>();
+ private static int id = 0;
/** to keep track of what is dirty, filthy */
- private Map<String, GuvnorEditor> openedAssetEditors = new HashMap<String, GuvnorEditor>();
+ private Map<String, GuvnorEditor> openedAssetEditors = new HashMap<String, GuvnorEditor>();
private Map<String, PackageEditor> openedPackageEditors = new HashMap<String, PackageEditor>();
-
- private Map<Panel, String[]> itemWidgets = new HashMap<Panel, String[]>();
+ private Map<Panel, String[]> itemWidgets = new HashMap<Panel, String[]>();
+
//private Button closeAllButton;
public ExplorerViewCenterPanel() {
- tp = new TabLayoutPanel(2, Unit.EM);
-
- //TODO: Dirtyable does not work.
- //listener to try and stop people from forgetting to save...
-/* tp.addListener( new TabPanelListenerAdapter() {
- @Override
- public boolean doBeforeRemove(Container self,
- final Component component) {
-
- if ( openedAssetEditors.containsKey( component.getId() ) ) {
-
- GuvnorEditor rv = openedAssetEditors.get( component.getId() );
- if ( rv.isDirty() ) {
- component.show();
- return Window.confirm( constants.AreYouSureCloseWarningUnsaved() );
- } else {
- return true;
- }
- }
- return true;
- }
- } );*/
-
- addCloseAllButton();
+ tabLayoutPanel = new TabLayoutPanel( 2,
+ Unit.EM );
+ initWidget( tabLayoutPanel );
}
- //TODO:
- private void addCloseAllButton() {
-/* closeAllButton = new Button( constants.CloseAllItems() );
- closeAllButton.addListener( new ButtonListenerAdapter() {
- @Override
- public void onClick(Button button,
- EventObject e) {
- if ( Window.confirm( constants.AreYouSureYouWantToCloseOpenItems() ) ) {
- tp.clear();
- openedAssetEditors.clear();
- openedPackageEditors.clear();
- openedTabs.clear();
- openFind();
- }
- }
- } );
- tp.addButton( closeAllButton );*/
- }
-
- public TabLayoutPanel getPanel() {
- return tp;
- }
-
/**
* Add a new tab. Should only do this if have checked showIfOpen to avoid dupes being opened.
* @param tabname The displayed tab name.
@@ -139,9 +95,9 @@
public void addTab(final String tabname,
Widget widget,
final String key) {
- addTab(tabname,
- widget,
- new String[]{key});
+ addTab( tabname,
+ widget,
+ new String[]{key} );
}
/**
@@ -153,152 +109,165 @@
public void addTab(final String tabname,
Widget widget,
final String[] keys) {
- final String panelId = (keys.length == 1 ? keys[0] + id++ : Arrays.toString(keys) + id++);
-
+ final String panelId = (keys.length == 1 ? keys[0] + id++ : Arrays.toString( keys ) + id++);
+
ScrollPanel localTP = new ScrollPanel();
- localTP.add(widget);
- tp.add(localTP, newClosableLabel(localTP, tabname));
- tp.selectTab(localTP);
+ localTP.add( widget );
+ tabLayoutPanel.add( localTP,
+ newClosableLabel( localTP,
+ tabname ) );
+ tabLayoutPanel.selectTab( localTP );
//TODO: Dirtyable
-/* localTP.ad( new PanelListenerAdapter() {
- public void onDestroy(Component component) {
- Panel p = openedTabs.remove( keys );
- if ( p != null ) {
- p.destroy();
+ /* localTP.ad( new PanelListenerAdapter() {
+ public void onDestroy(Component component) {
+ Panel p = openedTabs.remove( keys );
+ if ( p != null ) {
+ p.destroy();
+ }
+ openedAssetEditors.remove( panelId );
+ openedPackageEditors.remove( tabname );
+ }
+ } );
+ */
+ if ( widget instanceof GuvnorEditor ) {
+ this.openedAssetEditors.put( panelId,
+ (GuvnorEditor) widget );
+ } else if ( widget instanceof PackageEditor ) {
+ this.openedPackageEditors.put( tabname,
+ (PackageEditor) widget );
+ }
+
+ openedTabs.put( keys,
+ localTP );
+ itemWidgets.put( localTP,
+ keys );
+ }
+
+ private Widget newClosableLabel(final Panel panel,
+ final String title) {
+ final HorizontalPanel hPanel = new HorizontalPanel();
+ final Label label = new Label( title );
+ DOM.setStyleAttribute( label.getElement(),
+ "whiteSpace",
+ "nowrap" );
+ ImageButton closeBtn = new ImageButton( images.close().getURL() );
+ //Button closeBtn = new Button("x");
+ closeBtn.addClickHandler( new ClickHandler() {
+ public void onClick(ClickEvent arg0) {
+ int widgetIndex = tabLayoutPanel.getWidgetIndex( panel );
+ if ( widgetIndex == tabLayoutPanel.getSelectedIndex() ) {
+ tabLayoutPanel.selectTab( widgetIndex - 1 );
}
- openedAssetEditors.remove( panelId );
- openedPackageEditors.remove( tabname );
+ tabLayoutPanel.remove( widgetIndex );
+ String[] keys = itemWidgets.remove( panel );
+ openedTabs.remove( keys );
}
} );
-*/
- if (widget instanceof GuvnorEditor) {
- this.openedAssetEditors.put(panelId, (GuvnorEditor)widget);
- } else if (widget instanceof PackageEditor) {
- this.openedPackageEditors.put( tabname,(PackageEditor)widget);
- }
- openedTabs.put(keys, localTP);
- itemWidgets.put(localTP, keys);
+ hPanel.add( label );
+ hPanel.add( new HTML( "   " ) );
+ hPanel.add( closeBtn );
+ return hPanel;
}
-
- private Widget newClosableLabel(final Panel panel, final String title) {
- final HorizontalPanel hPanel = new HorizontalPanel();
- final Label label = new Label(title);
- DOM.setStyleAttribute(label.getElement(), "whiteSpace", "nowrap");
- ImageButton closeBtn = new ImageButton(images.close().getURL());
- //Button closeBtn = new Button("x");
- closeBtn.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent arg0) {
- int widgetIndex = tp.getWidgetIndex(panel);
- if (widgetIndex == tp.getSelectedIndex()) {
- tp.selectTab(widgetIndex - 1);
- }
- tp.remove(widgetIndex);
- String[] keys = itemWidgets.remove(panel);
- openedTabs.remove(keys);
- }
- });
- hPanel.add(label);
- hPanel.add(new HTML("   "));
- hPanel.add(closeBtn);
- return hPanel;
- }
-
/**
* Will open if existing. If not it will return false;
*/
public boolean showIfOpen(String key) {
- if (openedTabs.containsKey(key)) {
+ if ( openedTabs.containsKey( key ) ) {
LoadingPopup.close();
- Panel tpi = (Panel)openedTabs.get(key);
- tp.selectTab(tpi);
+ Panel tpi = (Panel) openedTabs.get( key );
+ tabLayoutPanel.selectTab( tpi );
return true;
- }
+ }
return false;
}
public void close(String key) {
- //tp.remove( key + id );
- Panel tpi = openedTabs.remove(key);
-
- int widgetIndex = tp.getWidgetIndex(tpi);
- if (widgetIndex == tp.getSelectedIndex()) {
- tp.selectTab(widgetIndex - 1);
+ Panel tpi = openedTabs.remove( key );
+
+ int widgetIndex = tabLayoutPanel.getWidgetIndex( tpi );
+ if ( widgetIndex == tabLayoutPanel.getSelectedIndex() ) {
+ tabLayoutPanel.selectTab( widgetIndex - 1 );
}
-
- tp.remove(widgetIndex);
- itemWidgets.remove(tpi);
+
+ tabLayoutPanel.remove( widgetIndex );
+ itemWidgets.remove( tpi );
}
/**
* Open an asset if it is not already open.
*/
- public void openAsset(final String uuid) {
- if (uuid.contains("<")) {
- return;
- }
- History.newItem("asset=" + uuid); // NON-NLS
+ public void openAsset(final String uuid) {
+ if ( uuid.contains( "<" ) ) {
+ return;
+ }
+ History.newItem( "asset=" + uuid ); // NON-NLS
- if (!showIfOpen(uuid)) {
+ if ( !showIfOpen( uuid ) ) {
- final boolean[] loading = {true};
+ final boolean[] loading = {true};
- Timer t = new Timer() {
- public void run() {
- if (loading[0]) {
- LoadingPopup.showMessage(constants.LoadingAsset());
- }
- }
- };
- t.schedule(200);
+ Timer t = new Timer() {
+ public void run() {
+ if ( loading[0] ) {
+ LoadingPopup.showMessage( constants.LoadingAsset() );
+ }
+ }
+ };
+ t.schedule( 200 );
- RepositoryServiceFactory.getService().loadRuleAsset(uuid, new GenericCallback<RuleAsset>() {
- public void onSuccess(final RuleAsset a) {
- SuggestionCompletionCache.getInstance().doAction(a.metaData.packageName, new Command() {
- public void execute() {
- loading[0] = false;
- EditItemEvent edit = new EditItemEvent() {
- public void open(String key) {
- openAsset(key);
- }
+ RepositoryServiceFactory.getService().loadRuleAsset( uuid,
+ new GenericCallback<RuleAsset>() {
+ public void onSuccess(final RuleAsset a) {
+ SuggestionCompletionCache.getInstance().doAction( a.metaData.packageName,
+ new Command() {
+ public void execute() {
+ loading[0] = false;
+ EditItemEvent edit = new EditItemEvent() {
+ public void open(String key) {
+ openAsset( key );
+ }
- public void open(MultiViewRow[] rows) {
- for (MultiViewRow row : rows) {
- openAsset(row.uuid);
- }
- }
- };
- RuleViewer rv = new RuleViewer(a, edit);
- addTab(a.metaData.name, rv, uuid);
- rv.setCloseCommand(new Command() {
- public void execute() {
- close(uuid);
- }
- });
+ public void open(MultiViewRow[] rows) {
+ for ( MultiViewRow row : rows ) {
+ openAsset( row.uuid );
+ }
+ }
+ };
+ RuleViewer rv = new RuleViewer( a,
+ edit );
+ addTab( a.metaData.name,
+ rv,
+ uuid );
+ rv.setCloseCommand( new Command() {
+ public void execute() {
+ close( uuid );
+ }
+ } );
- // When model is saved update the package view if it is opened.
- if (a.metaData.format.equals(AssetFormats.MODEL)) {
- Command command =new Command() {
- public void execute() {
- PackageEditor packageEditor = openedPackageEditors.get(a.metaData.packageName);
- if (packageEditor != null) {
- packageEditor.reload();
- }
- }
- };
- rv.setCheckedInCommand(command);
- rv.setArchiveCommand(command);
- }
+ // When model is saved update the package view if it is opened.
+ if ( a.metaData.format.equals( AssetFormats.MODEL ) ) {
+ Command command = new Command() {
+ public void execute() {
+ PackageEditor packageEditor = openedPackageEditors.get( a.metaData.packageName );
+ if ( packageEditor != null ) {
+ packageEditor.reload();
+ }
+ }
+ };
+ rv.setCheckedInCommand( command );
+ rv.setArchiveCommand( command );
+ }
- LoadingPopup.close();
- }
- });
- }
- });
- }
- }
+ LoadingPopup.close();
+ }
+ } );
+ }
+ } );
+ }
+ }
public void openAssets(MultiViewRow[] rows) {
@@ -306,9 +275,9 @@
final String[] uuids = new String[rows.length];
final String[] names = new String[rows.length];
- for (int i = 0; i < rows.length; i++) {
+ for ( int i = 0; i < rows.length; i++ ) {
// Check if any of these assets are already opened.
- if (showIfOpen(rows[i].uuid)) {
+ if ( showIfOpen( rows[i].uuid ) ) {
blockingAssetName = rows[i].name;
break;
}
@@ -316,69 +285,76 @@
names[i] = rows[i].name;
}
- if (blockingAssetName != null) {
- FormStylePopup popup = new FormStylePopup("images/information.gif", //NON-NLS
- Format.format( constants.Asset0IsAlreadyOpenPleaseCloseItBeforeOpeningMultiview(),
- blockingAssetName));
+ if ( blockingAssetName != null ) {
+ FormStylePopup popup = new FormStylePopup( "images/information.gif", //NON-NLS
+ Format.format( constants.Asset0IsAlreadyOpenPleaseCloseItBeforeOpeningMultiview(),
+ blockingAssetName ) );
popup.show();
return;
}
- MultiViewEditor multiview = new MultiViewEditor(rows,
- new EditItemEvent() {
- public void open(String key) {
- openAsset(key);
- }
+ MultiViewEditor multiview = new MultiViewEditor( rows,
+ new EditItemEvent() {
+ public void open(String key) {
+ openAsset( key );
+ }
public void open(MultiViewRow[] rows) {
- for (MultiViewRow row : rows) {
- openAsset(row.uuid);
+ for ( MultiViewRow row : rows ) {
+ openAsset( row.uuid );
}
}
} );
- multiview.setCloseCommand(new Command() {
+ multiview.setCloseCommand( new Command() {
public void execute() {
- close(Arrays.toString(uuids));
+ close( Arrays.toString( uuids ) );
}
- });
+ } );
- addTab(Arrays.toString(names),
- multiview,
- uuids );
+ addTab( Arrays.toString( names ),
+ multiview,
+ uuids );
}
/**
* Open a package editor if it is not already open.
*/
- public void openPackageEditor(final String uuid, final Command refPackageList) {
+ public void openPackageEditor(final String uuid,
+ final Command refPackageList) {
- if (!showIfOpen(uuid)) {
- LoadingPopup.showMessage(constants.LoadingPackageInformation());
- RepositoryServiceFactory.getService().loadPackageConfig(uuid, new GenericCallback<PackageConfigData>() {
- public void onSuccess(PackageConfigData conf) {
- PackageEditor ed = new PackageEditor(conf, new Command() {
- public void execute() {
- close(uuid);
- }
- }, refPackageList, new EditItemEvent() {
- public void open(String uuid) {
- openAsset(uuid);
- }
+ if ( !showIfOpen( uuid ) ) {
+ LoadingPopup.showMessage( constants.LoadingPackageInformation() );
+ RepositoryServiceFactory.getService().loadPackageConfig( uuid,
+ new GenericCallback<PackageConfigData>() {
+ public void onSuccess(PackageConfigData conf) {
+ PackageEditor ed = new PackageEditor( conf,
+ new Command() {
+ public void execute() {
+ close( uuid );
+ }
+ },
+ refPackageList,
+ new EditItemEvent() {
+ public void open(String uuid) {
+ openAsset( uuid );
+ }
- public void open(MultiViewRow[] rows) {
- for (MultiViewRow row : rows) {
- openAsset(row.uuid);
- }
- }
- });
- addTab(conf.name, ed, conf.uuid);
- LoadingPopup.close();
- }
- });
- }
- }
+ public void open(MultiViewRow[] rows) {
+ for ( MultiViewRow row : rows ) {
+ openAsset( row.uuid );
+ }
+ }
+ } );
+ addTab( conf.name,
+ ed,
+ conf.uuid );
+ LoadingPopup.close();
+ }
+ } );
+ }
+ }
public void openFind() {
if ( !showIfOpen( "FIND" ) ) { //NON-NLS
@@ -399,27 +375,30 @@
}
}
- public void openSnapshot(final SnapshotInfo snap) {
- // make this refresh the 'snap'
+ public void openSnapshot(final SnapshotInfo snap) {
+ // make this refresh the 'snap'
- if (!showIfOpen(snap.name + snap.uuid)) {
- LoadingPopup.showMessage(constants.LoadingSnapshot());
- RepositoryServiceFactory.getService().loadPackageConfig(snap.uuid,
- new GenericCallback<PackageConfigData>() {
- public void onSuccess(PackageConfigData conf) {
- addTab(Format.format(constants.SnapshotLabel(),
- snap.name), new SnapshotView(snap, conf,
- new Command() {
- public void execute() {
- close(snap.name + snap.uuid);
- }
- }, ExplorerViewCenterPanel.this), snap.name
- + snap.uuid);
- LoadingPopup.close();
- }
- });
+ if ( !showIfOpen( snap.name + snap.uuid ) ) {
+ LoadingPopup.showMessage( constants.LoadingSnapshot() );
+ RepositoryServiceFactory.getService().loadPackageConfig( snap.uuid,
+ new GenericCallback<PackageConfigData>() {
+ public void onSuccess(PackageConfigData conf) {
+ addTab( Format.format( constants.SnapshotLabel(),
+ snap.name ),
+ new SnapshotView( snap,
+ conf,
+ new Command() {
+ public void execute() {
+ close( snap.name + snap.uuid );
+ }
+ },
+ ExplorerViewCenterPanel.this ),
+ snap.name + snap.uuid );
+ LoadingPopup.close();
+ }
+ } );
- }
- }
+ }
+ }
}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/MultiKeyMap.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/MultiKeyMap.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/MultiKeyMap.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -1,4 +1,4 @@
-/**
+/*
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
Added: 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 (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/NavigationPanel.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2010 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.explorer;
+
+import org.drools.guvnor.client.security.Capabilities;
+
+import com.google.gwt.dom.client.Style.Unit;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+import com.google.gwt.user.client.ui.DockLayoutPanel;
+import com.google.gwt.user.client.ui.ScrollPanel;
+import com.google.gwt.user.client.ui.StackLayoutPanel;
+
+/**
+ * Navigation panel for the west area.
+ *
+ * @author rikkola
+ *
+ */
+public class NavigationPanel extends StackLayoutPanel {
+
+ private final ExplorerViewCenterPanel centertabbedPanel;
+
+ public NavigationPanel(ExplorerViewCenterPanel centertabbedPanel) {
+ super( Unit.EM );
+ this.centertabbedPanel = centertabbedPanel;
+
+ addCategoriesPanel();
+
+ if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_PACKAGE_VIEW ) ) {
+ addPackagesPanel();
+ }
+
+ if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_QA ) ) {
+ addQAPanel();
+ }
+
+ if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_DEPLOYMENT,
+ Capabilities.SHOW_DEPLOYMENT_NEW ) ) {
+ addDeploymentPanel();
+ }
+
+ if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_ADMIN ) ) {
+ addAdminPanel();
+ }
+
+ }
+
+ private void addAdminPanel() {
+ DockLayoutPanel adminDockLayoutPanel = new DockLayoutPanel( Unit.EM );
+ AdministrationTree deploymentTreeItem = new AdministrationTree( centertabbedPanel );
+ ScrollPanel adminTreeItemPanel = new ScrollPanel( deploymentTreeItem );
+
+ adminDockLayoutPanel.add( adminTreeItemPanel );
+
+ add( adminDockLayoutPanel,
+ deploymentTreeItem.getHeaderHTML(),
+ 2 );
+ }
+
+ private void addDeploymentPanel() {
+ DockLayoutPanel deploymentDockLayoutPanel = new DockLayoutPanel( Unit.EM );
+ DeploymentTree deploymentTreeItem = new DeploymentTree( centertabbedPanel );
+ ScrollPanel deploymentTreeItemPanel = new ScrollPanel( deploymentTreeItem );
+
+ if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
+ deploymentDockLayoutPanel.addNorth( DeploymentNewMenu.getMenu( deploymentTreeItem ),
+ 2 );
+ }
+
+ deploymentDockLayoutPanel.add( deploymentTreeItemPanel );
+
+ add( deploymentDockLayoutPanel,
+ deploymentTreeItem.getHeaderHTML(),
+ 2 );
+ }
+
+ private void addQAPanel() {
+ DockLayoutPanel qaDockLayoutPanel = new DockLayoutPanel( Unit.EM );
+ QATree qaTreeItem = new QATree( centertabbedPanel );
+ ScrollPanel qaTreeItemPanel = new ScrollPanel( qaTreeItem );
+
+ qaDockLayoutPanel.add( qaTreeItemPanel );
+
+ add( qaDockLayoutPanel,
+ qaTreeItem.getHeaderHTML(),
+ 2 );
+ }
+
+ private void addPackagesPanel() {
+ DockLayoutPanel packageDockLayoutPanel = new DockLayoutPanel( Unit.EM );
+ final PackagesTree packagesTreeItem = new PackagesTree( centertabbedPanel );
+ ScrollPanel packagesTreeItemPanel = new ScrollPanel( packagesTreeItem );
+
+ if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
+ packageDockLayoutPanel.addNorth( PackagesNewMenu.getMenu( packagesTreeItem ),
+ 2 );
+ }
+ packageDockLayoutPanel.add( packagesTreeItemPanel );
+
+ add( packageDockLayoutPanel,
+ packagesTreeItem.getHeaderHTML(),
+ 2 );
+
+ //lazy loaded to easy startup wait time.
+ DeferredCommand.addCommand( new Command() {
+ public void execute() {
+ packagesTreeItem.loadPackageList();
+ }
+ } );
+ }
+
+ private void addCategoriesPanel() {
+ DockLayoutPanel browseDockLayoutPanel = new DockLayoutPanel( Unit.EM );
+ BrowseTree categoriesTreeItem = new BrowseTree( centertabbedPanel );
+ ScrollPanel categoriesTreeItemPanel = new ScrollPanel( categoriesTreeItem );
+
+ if ( ExplorerLayoutManager.shouldShow( Capabilities.SHOW_CREATE_NEW_ASSET ) ) {
+ browseDockLayoutPanel.addNorth( RulesNewMenu.getMenu( categoriesTreeItem ),
+ 2 );
+ }
+ browseDockLayoutPanel.add( categoriesTreeItemPanel );
+
+ add( browseDockLayoutPanel,
+ categoriesTreeItem.getHeaderHTML(),
+ 2 );
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesTree.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -42,19 +42,16 @@
import com.google.gwt.user.client.ui.TreeItem;
public class PackagesTree extends AbstractTree {
- private static Constants constants = GWT.create( Constants.class );
- private static Images images = (Images) GWT.create( Images.class );
+ private static Constants constants = GWT.create( Constants.class );
+ private static Images images = (Images) GWT.create( Images.class );
- private Map<TreeItem, String> itemWidgets = new HashMap<TreeItem, String>();
+ private boolean packagesLoaded = false;
- private boolean packagesLoaded = false;
-
public PackagesTree(ExplorerViewCenterPanel tabbedPanel) {
super( tabbedPanel );
this.name = constants.KnowledgeBases();
this.image = images.packages();
- mainTree = new Tree();
mainTree.setAnimationEnabled( true );
//lazy loaded to easy startup wait time.
//setupPackagesTree(this.centertabbedPanel);
@@ -71,6 +68,11 @@
*/
}
+ @Override
+ Tree getTree() {
+ return new Tree();
+ }
+
public void loadPackageList() {
if ( !packagesLoaded ) {
setupPackagesTree( this.centertabbedPanel );
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/QATree.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -20,13 +20,13 @@
import java.util.Iterator;
import java.util.Map;
+import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.OpenEvent;
import com.google.gwt.event.logical.shared.OpenHandler;
import com.google.gwt.event.logical.shared.SelectionEvent;
-
import org.drools.guvnor.client.common.GenericCallback;
import org.drools.guvnor.client.common.Util;
import org.drools.guvnor.client.images.Images;
@@ -39,134 +39,143 @@
import org.drools.guvnor.client.rulelist.EditItemEvent;
import org.drools.guvnor.client.util.Format;
-public class QATree extends AbstractTree implements OpenHandler<TreeItem> {
- private static Constants constants = GWT.create(Constants.class);
- private static Images images = (Images) GWT.create(Images.class);
+public class QATree extends AbstractTree
+ implements
+ OpenHandler<TreeItem> {
+ private static Constants constants = GWT.create( Constants.class );
+ private static Images images = (Images) GWT.create( Images.class );
- private Map<TreeItem, String> itemWidgets = new HashMap<TreeItem, String>();
-
public QATree(ExplorerViewCenterPanel tabbedPanel) {
- super(tabbedPanel);
+ super( tabbedPanel );
this.name = constants.QA1();
this.image = images.analyze();
-
- mainTree = ExplorerNodeConfig.getQAStructure(itemWidgets);
//Add Selection listener
- mainTree.addSelectionHandler(this);
- mainTree.addOpenHandler((OpenHandler<TreeItem>)this);
+ mainTree.addSelectionHandler( this );
+ mainTree.addOpenHandler( (OpenHandler<TreeItem>) this );
}
-
+
+ @Override
+ Tree getTree() {
+ return ExplorerNodeConfig.getQAStructure( itemWidgets );
+ }
+
public void onSelection(SelectionEvent<TreeItem> event) {
TreeItem item = event.getSelectedItem();
-
- if (item.getUserObject() instanceof PackageConfigData) {
- PackageConfigData pc = (PackageConfigData) item.getUserObject();
- String id = itemWidgets.get(item);
-
- if (ExplorerNodeConfig.TEST_SCENARIOS_ID.equals(id)) {
- if (!centertabbedPanel.showIfOpen("scenarios" + pc.uuid)) {
- final EditItemEvent edit = new EditItemEvent() {
- public void open(String key) {
- centertabbedPanel.openAsset(key);
- }
- public void open(MultiViewRow[] rows) {
- for (MultiViewRow row : rows) {
- centertabbedPanel.openAsset(row.uuid);
- }
- }
- };
+ if ( item.getUserObject() instanceof PackageConfigData ) {
+ PackageConfigData pc = (PackageConfigData) item.getUserObject();
+ String id = itemWidgets.get( item );
- String m = Format.format(constants.ScenariosForPackage(),
- pc.name);
- centertabbedPanel.addTab(m, new ScenarioPackageView(
- pc.uuid, pc.name, edit, centertabbedPanel),
- "scenarios" + pc.uuid);
- }
- } else if (ExplorerNodeConfig.ANALYSIS_ID.equals(id)) {
- if (!centertabbedPanel.showIfOpen("analysis" + pc.uuid)) { //NON-NLS
+ if ( ExplorerNodeConfig.TEST_SCENARIOS_ID.equals( id ) ) {
+ if ( !centertabbedPanel.showIfOpen( "scenarios" + pc.uuid ) ) {
final EditItemEvent edit = new EditItemEvent() {
public void open(String key) {
- centertabbedPanel.openAsset(key);
+ centertabbedPanel.openAsset( key );
}
public void open(MultiViewRow[] rows) {
- for (MultiViewRow row : rows) {
- centertabbedPanel.openAsset(row.uuid);
+ for ( MultiViewRow row : rows ) {
+ centertabbedPanel.openAsset( row.uuid );
}
}
};
-
- String m = Format.format(constants.AnalysisForPackage(),
- pc.name);
- centertabbedPanel.addTab(m,
- new AnalysisView(pc.uuid,
- pc.name,
- edit),
- "analysis" + pc.uuid);
+
+ String m = Format.format( constants.ScenariosForPackage(),
+ pc.name );
+ centertabbedPanel.addTab( m,
+ new ScenarioPackageView( pc.uuid,
+ pc.name,
+ edit,
+ centertabbedPanel ),
+ "scenarios" + pc.uuid );
}
- }
+ } else if ( ExplorerNodeConfig.ANALYSIS_ID.equals( id ) ) {
+ if ( !centertabbedPanel.showIfOpen( "analysis" + pc.uuid ) ) { //NON-NLS
+ final EditItemEvent edit = new EditItemEvent() {
+ public void open(String key) {
+ centertabbedPanel.openAsset( key );
+ }
+
+ public void open(MultiViewRow[] rows) {
+ for ( MultiViewRow row : rows ) {
+ centertabbedPanel.openAsset( row.uuid );
+ }
+ }
+ };
+
+ String m = Format.format( constants.AnalysisForPackage(),
+ pc.name );
+ centertabbedPanel.addTab( m,
+ new AnalysisView( pc.uuid,
+ pc.name,
+ edit ),
+ "analysis" + pc.uuid );
+ }
+ }
}
- }
-
- public void onOpen(OpenEvent<TreeItem> event) {
- final TreeItem node = event.getTarget();
- if (ExplorerNodeConfig.TEST_SCENARIOS_ROOT_ID.equals(itemWidgets.get(node))) {
+ }
+
+ public void onOpen(OpenEvent<TreeItem> event) {
+ final TreeItem node = event.getTarget();
+ if ( ExplorerNodeConfig.TEST_SCENARIOS_ROOT_ID.equals( itemWidgets.get( node ) ) ) {
RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
public void onSuccess(PackageConfigData[] conf) {
node.removeItems();
- removeTestScenarioIDs(itemWidgets);
+ removeTestScenarioIDs( itemWidgets );
for ( int i = 0; i < conf.length; i++ ) {
final PackageConfigData c = conf[i];
- TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
+ TreeItem pkg = new TreeItem( Util.getHeader( images.packages(),
+ c.name ) );
- node.addItem(pkg);
- pkg.setUserObject(c);
- itemWidgets.put(pkg, ExplorerNodeConfig.TEST_SCENARIOS_ID);
+ node.addItem( pkg );
+ pkg.setUserObject( c );
+ itemWidgets.put( pkg,
+ ExplorerNodeConfig.TEST_SCENARIOS_ID );
}
//scenarios.removeItem(scenarios.getChild(0));
}
} );
- } else if (ExplorerNodeConfig.ANALYSIS_ROOT_ID.equals(itemWidgets.get(node))) {
- RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
- public void onSuccess(PackageConfigData[] conf) {
- node.removeItems();
- removeAnalysisIDs(itemWidgets);
- for ( int i = 0; i < conf.length; i++ ) {
- final PackageConfigData c = conf[i];
- TreeItem pkg = new TreeItem(Util.getHeader(images.packages(), c.name));
+ } else if ( ExplorerNodeConfig.ANALYSIS_ROOT_ID.equals( itemWidgets.get( node ) ) ) {
+ RepositoryServiceFactory.getService().listPackages( new GenericCallback<PackageConfigData[]>() {
+ public void onSuccess(PackageConfigData[] conf) {
+ node.removeItems();
+ removeAnalysisIDs( itemWidgets );
+ for ( int i = 0; i < conf.length; i++ ) {
+ final PackageConfigData c = conf[i];
+ TreeItem pkg = new TreeItem( Util.getHeader( images.packages(),
+ c.name ) );
- node.addItem(pkg);
- pkg.setUserObject(c);
- itemWidgets.put(pkg, ExplorerNodeConfig.ANALYSIS_ID);
- }
- }
- } );
- }
- }
-
- private void removeTestScenarioIDs(Map<TreeItem, String> itemWidgets) {
- Iterator<TreeItem> it = itemWidgets.keySet().iterator();
- while(it.hasNext()) {
- TreeItem item = (TreeItem)it.next();
- String id = itemWidgets.get(item);
- if(ExplorerNodeConfig.TEST_SCENARIOS_ID.equals(id)) {
- it.remove();
- }
- }
- }
-
-
- private void removeAnalysisIDs(Map<TreeItem, String> itemWidgets) {
- Iterator<TreeItem> it = itemWidgets.keySet().iterator();
- while(it.hasNext()) {
- TreeItem item = (TreeItem)it.next();
- String id = itemWidgets.get(item);
- if(ExplorerNodeConfig.ANALYSIS_ID.equals(id)) {
- it.remove();
- }
- }
- }
+ node.addItem( pkg );
+ pkg.setUserObject( c );
+ itemWidgets.put( pkg,
+ ExplorerNodeConfig.ANALYSIS_ID );
+ }
+ }
+ } );
+ }
+ }
+
+ private void removeTestScenarioIDs(Map<TreeItem, String> itemWidgets) {
+ Iterator<TreeItem> it = itemWidgets.keySet().iterator();
+ while ( it.hasNext() ) {
+ TreeItem item = (TreeItem) it.next();
+ String id = itemWidgets.get( item );
+ if ( ExplorerNodeConfig.TEST_SCENARIOS_ID.equals( id ) ) {
+ it.remove();
+ }
+ }
+ }
+
+ private void removeAnalysisIDs(Map<TreeItem, String> itemWidgets) {
+ Iterator<TreeItem> it = itemWidgets.keySet().iterator();
+ while ( it.hasNext() ) {
+ TreeItem item = (TreeItem) it.next();
+ String id = itemWidgets.get( item );
+ if ( ExplorerNodeConfig.ANALYSIS_ID.equals( id ) ) {
+ it.remove();
+ }
+ }
+ }
}
Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/TitlePanel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/TitlePanel.java (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/TitlePanel.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2010 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.explorer;
+
+import org.drools.guvnor.client.LoggedInUserInfo;
+
+import com.google.gwt.user.client.ui.DockPanel;
+import com.google.gwt.user.client.ui.HTML;
+
+/**
+ * The title bar at the top of the application.
+ *
+ * @author rikkola
+ *
+ */
+public class TitlePanel extends DockPanel {
+
+ public TitlePanel(LoggedInUserInfo uif) {
+ setVerticalAlignment( DockPanel.ALIGN_MIDDLE );
+ add( new HTML( "<div class='header'><img src='header_logo.gif' /></div>" ),
+ DockPanel.WEST );
+ add( uif,
+ DockPanel.EAST );
+ setStyleName( "header" );
+ setWidth( "100%" );
+ }
+}
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/images/Images.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/images/Images.java 2010-10-15 05:42:54 UTC (rev 35524)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/images/Images.java 2010-10-15 06:26:59 UTC (rev 35525)
@@ -1,4 +1,4 @@
-/**
+/*
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
More information about the jboss-svn-commits
mailing list