diff --git a/drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/vfs/IdentityFactory.java b/drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/vfs/IdentityFactory.java index d6847d1a36e..d01d21cb630 100644 --- a/drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/vfs/IdentityFactory.java +++ b/drools-wb-jcr2vfs-migration/drools-wb-jcr2vfs-migration-core/src/main/java/org/drools/workbench/jcr2vfsmigration/vfs/IdentityFactory.java @@ -18,6 +18,7 @@ import java.util.Collections; import java.util.List; +import java.util.Map; import javax.annotation.PostConstruct; import javax.enterprise.inject.Produces; import javax.inject.Singleton; @@ -34,18 +35,41 @@ public class IdentityFactory { public void onStartup() { identity = new Identity() { + @Override public String getName() { return "jcr2vfs-migration"; } + @Override public List getRoles() { return Collections.emptyList(); } + @Override public boolean hasRole( Role role ) { return true; } + @Override + public Map getProperties() { + return Collections.emptyMap(); + } + + @Override + public void aggregateProperty( String name, + String value ) { + } + + @Override + public void removeProperty( String name ) { + } + + @Override + public String getProperty( String name, + String defaultValue ) { + return null; + } + }; } diff --git a/drools-wb-rest/src/test/java/org/kie/workbench/common/services/rest/TestIdentityFactory.java b/drools-wb-rest/src/test/java/org/kie/workbench/common/services/rest/TestIdentityFactory.java index 086a408c99e..5ff26bdc752 100644 --- a/drools-wb-rest/src/test/java/org/kie/workbench/common/services/rest/TestIdentityFactory.java +++ b/drools-wb-rest/src/test/java/org/kie/workbench/common/services/rest/TestIdentityFactory.java @@ -25,6 +25,7 @@ import javax.inject.Singleton; import java.util.Collections; import java.util.List; +import java.util.Map; @Singleton @Alternative @@ -36,18 +37,41 @@ public class TestIdentityFactory { public void onStartup() { identity = new Identity() { + @Override public String getName() { - return "jcr2vfs-migration"; + return "userName"; } + @Override public List getRoles() { return Collections.emptyList(); } + @Override public boolean hasRole( Role role ) { return true; } + @Override + public Map getProperties() { + return Collections.emptyMap(); + } + + @Override + public void aggregateProperty( String name, + String value ) { + } + + @Override + public void removeProperty( String name ) { + } + + @Override + public String getProperty( String name, + String defaultValue ) { + return null; + } + }; } diff --git a/drools-wb-screens/drools-wb-drl-text-editor/drools-wb-drl-text-editor-backend/src/test/java/org/drools/workbench/screens/drltext/backend/server/TestIdentityFactory.java b/drools-wb-screens/drools-wb-drl-text-editor/drools-wb-drl-text-editor-backend/src/test/java/org/drools/workbench/screens/drltext/backend/server/TestIdentityFactory.java index f6c7227aa17..64d62e0e6a0 100644 --- a/drools-wb-screens/drools-wb-drl-text-editor/drools-wb-drl-text-editor-backend/src/test/java/org/drools/workbench/screens/drltext/backend/server/TestIdentityFactory.java +++ b/drools-wb-screens/drools-wb-drl-text-editor/drools-wb-drl-text-editor-backend/src/test/java/org/drools/workbench/screens/drltext/backend/server/TestIdentityFactory.java @@ -16,14 +16,15 @@ package org.drools.workbench.screens.drltext.backend.server; -import org.uberfire.security.Identity; -import org.uberfire.security.Role; - +import java.util.Collections; +import java.util.List; +import java.util.Map; import javax.annotation.PostConstruct; import javax.enterprise.inject.Produces; import javax.inject.Singleton; -import java.util.Collections; -import java.util.List; + +import org.uberfire.security.Identity; +import org.uberfire.security.Role; @Singleton public class TestIdentityFactory { @@ -34,18 +35,41 @@ public class TestIdentityFactory { public void onStartup() { identity = new Identity() { + @Override public String getName() { - return "jcr2vfs-migration"; + return "userName"; } + @Override public List getRoles() { return Collections.emptyList(); } + @Override public boolean hasRole( Role role ) { return true; } + @Override + public Map getProperties() { + return Collections.emptyMap(); + } + + @Override + public void aggregateProperty( String name, + String value ) { + } + + @Override + public void removeProperty( String name ) { + } + + @Override + public String getProperty( String name, + String defaultValue ) { + return null; + } + }; } diff --git a/drools-wb-screens/drools-wb-dtable-xls-editor/drools-wb-dtable-xls-editor-backend/src/test/java/org/drools/workbench/screens/dtablexls/backend/server/TestIdentityFactory.java b/drools-wb-screens/drools-wb-dtable-xls-editor/drools-wb-dtable-xls-editor-backend/src/test/java/org/drools/workbench/screens/dtablexls/backend/server/TestIdentityFactory.java index 97f0da0548a..32488147751 100644 --- a/drools-wb-screens/drools-wb-dtable-xls-editor/drools-wb-dtable-xls-editor-backend/src/test/java/org/drools/workbench/screens/dtablexls/backend/server/TestIdentityFactory.java +++ b/drools-wb-screens/drools-wb-dtable-xls-editor/drools-wb-dtable-xls-editor-backend/src/test/java/org/drools/workbench/screens/dtablexls/backend/server/TestIdentityFactory.java @@ -16,14 +16,15 @@ package org.drools.workbench.screens.dtablexls.backend.server; -import org.uberfire.security.Identity; -import org.uberfire.security.Role; - +import java.util.Collections; +import java.util.List; +import java.util.Map; import javax.annotation.PostConstruct; import javax.enterprise.inject.Produces; import javax.inject.Singleton; -import java.util.Collections; -import java.util.List; + +import org.uberfire.security.Identity; +import org.uberfire.security.Role; @Singleton public class TestIdentityFactory { @@ -34,18 +35,41 @@ public class TestIdentityFactory { public void onStartup() { identity = new Identity() { + @Override public String getName() { - return "jcr2vfs-migration"; + return "userName"; } + @Override public List getRoles() { return Collections.emptyList(); } + @Override public boolean hasRole( Role role ) { return true; } + @Override + public Map getProperties() { + return Collections.emptyMap(); + } + + @Override + public void aggregateProperty( String name, + String value ) { + } + + @Override + public void removeProperty( String name ) { + } + + @Override + public String getProperty( String name, + String defaultValue ) { + return null; + } + }; } diff --git a/drools-wb-webapp/pom.xml b/drools-wb-webapp/pom.xml index 41acfc0d78f..5228800865c 100644 --- a/drools-wb-webapp/pom.xml +++ b/drools-wb-webapp/pom.xml @@ -394,6 +394,11 @@ + + org.uberfire + uberfire-js + + org.uberfire uberfire-security-api @@ -577,7 +582,7 @@ gwt-maven-plugin org.drools.workbench.FastCompiledDroolsWorkbench - INFO + DEBUG @@ -655,6 +660,7 @@ org.kie.commons:kie-nio2-model + org.uberfire:uberfire-js org.uberfire:uberfire-security-api org.uberfire:uberfire-security-client org.uberfire:uberfire-client-api @@ -664,7 +670,7 @@ org.drools.workbench.DroolsWorkbench/DroolsWorkbench.html - -Xmx2048m -XX:MaxPermSize=256m + -Xmx2048m -XX:MaxPermSize=256m -Xss1M org.jboss.errai.cdi.server.gwt.JettyLauncher diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/DroolsWorkbenchEntryPoint.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/DroolsWorkbenchEntryPoint.java index d9888ceee13..76c2f8c0ccc 100644 --- a/drools-wb-webapp/src/main/java/org/drools/workbench/client/DroolsWorkbenchEntryPoint.java +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/DroolsWorkbenchEntryPoint.java @@ -137,7 +137,7 @@ public void execute( final String term ) { .endMenu() .build(); - menubar.aggregateWorkbenchMenus( menus ); + menubar.addMenus( menus ); } private List getPerspectives() { diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/AppNavBar.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/AppNavBar.java new file mode 100644 index 00000000000..775ad3544c4 --- /dev/null +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/AppNavBar.java @@ -0,0 +1,29 @@ +package org.drools.workbench.client.navbar; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + +import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.Widget; +import org.uberfire.client.workbench.Header; +import org.uberfire.client.workbench.widgets.menu.WorkbenchMenuBarPresenter; + +import static java.lang.Integer.*; + +@ApplicationScoped +public class AppNavBar + extends Composite implements Header { + + @Inject + private WorkbenchMenuBarPresenter menuBarPresenter; + + @Override + public Widget asWidget() { + return menuBarPresenter.getView().asWidget(); + } + + @Override + public int getOrder() { + return 0; + } +} diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaPresenter.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaPresenter.java new file mode 100644 index 00000000000..584c2b38ef1 --- /dev/null +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaPresenter.java @@ -0,0 +1,48 @@ +/* + * Copyright 2012 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.workbench.client.navbar; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + +import com.google.gwt.user.client.ui.IsWidget; +import com.google.gwt.user.client.ui.Widget; +import org.uberfire.client.workbench.Header; + +import static java.lang.Integer.*; + +@ApplicationScoped +public class ComplementNavAreaPresenter implements Header { + + public interface View extends IsWidget { + + } + + @Inject + public View view; + + @Override + public int getOrder() { + return MAX_VALUE; + } + + @Override + public Widget asWidget() { + return view.asWidget(); + } + +} \ No newline at end of file diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaView.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaView.java new file mode 100644 index 00000000000..1aa34ff3441 --- /dev/null +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaView.java @@ -0,0 +1,72 @@ +/* + * Copyright 2012 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.workbench.client.navbar; + +import javax.annotation.PostConstruct; +import javax.inject.Inject; + +import com.google.gwt.core.client.GWT; +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.FlowPanel; +import com.google.gwt.user.client.ui.Image; +import com.google.gwt.user.client.ui.Panel; +import com.google.gwt.user.client.ui.RequiresResize; +import org.drools.workbench.client.resources.AppResource; +import org.uberfire.client.workbench.widgets.menu.PespectiveContextMenusPresenter; + +/** + * A stand-alone (i.e. devoid of Workbench dependencies) View + */ +public class ComplementNavAreaView + extends Composite + implements RequiresResize, + ComplementNavAreaPresenter.View { + + interface ViewBinder + extends + UiBinder { + + } + + private static ViewBinder uiBinder = GWT.create( ViewBinder.class ); + + @UiField(provided = true) + public Image logo; + + @UiField + public FlowPanel contextMenuArea; + + @Inject + private PespectiveContextMenusPresenter contextMenu; + + @PostConstruct + public void init() { + logo = new Image( AppResource.INSTANCE.images().logo() ); + initWidget( uiBinder.createAndBindUi( this ) ); + contextMenuArea.add( contextMenu.getView() ); + } + + @Override + public void onResize() { + int height = getParent().getOffsetHeight(); + int width = getParent().getOffsetWidth(); +// panel.setPixelSize( width, height ); + } + +} \ No newline at end of file diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaView.ui.xml b/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaView.ui.xml new file mode 100644 index 00000000000..b56db61195b --- /dev/null +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/navbar/ComplementNavAreaView.ui.xml @@ -0,0 +1,62 @@ + + + + + + + + + .contextArea { + height: 47px !important; + } + + .logo { + float: left; + margin-left: 20px; + } + + .search { + float: right; + margin-right: 20px; + margin-top: 7px; + } + + .contextMenu { + display: inline-block; + margin-left: 20px; + margin-top: 7px; + } + + .searchForm { + margin-bottom: 0px !important; + } + + + + + + + + + + + + + + \ No newline at end of file diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/perspectives/AdministrationPerspective.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/perspectives/AdministrationPerspective.java index 36683d78edc..d96ee5dfcc7 100644 --- a/drools-wb-webapp/src/main/java/org/drools/workbench/client/perspectives/AdministrationPerspective.java +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/perspectives/AdministrationPerspective.java @@ -15,6 +15,10 @@ */ package org.drools.workbench.client.perspectives; +import javax.annotation.PostConstruct; +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + import com.google.gwt.event.logical.shared.CloseEvent; import com.google.gwt.event.logical.shared.CloseHandler; import com.google.gwt.user.client.ui.PopupPanel; @@ -26,11 +30,13 @@ import org.uberfire.client.annotations.WorkbenchToolBar; import org.uberfire.client.editors.repository.clone.CloneRepositoryForm; import org.uberfire.client.editors.repository.create.CreateRepositoryForm; -import org.uberfire.mvp.Command; import org.uberfire.client.mvp.PlaceManager; -import org.uberfire.workbench.model.Position; +import org.uberfire.mvp.Command; +import org.uberfire.mvp.impl.DefaultPlaceRequest; import org.uberfire.workbench.model.PanelDefinition; +import org.uberfire.workbench.model.PanelType; import org.uberfire.workbench.model.PerspectiveDefinition; +import org.uberfire.workbench.model.Position; import org.uberfire.workbench.model.impl.PanelDefinitionImpl; import org.uberfire.workbench.model.impl.PartDefinitionImpl; import org.uberfire.workbench.model.impl.PerspectiveDefinitionImpl; @@ -39,14 +45,8 @@ import org.uberfire.workbench.model.toolbar.ToolBar; import org.uberfire.workbench.model.toolbar.impl.DefaultToolBar; import org.uberfire.workbench.model.toolbar.impl.DefaultToolBarItem; -import org.uberfire.mvp.impl.DefaultPlaceRequest; -import javax.annotation.PostConstruct; -import javax.enterprise.context.ApplicationScoped; -import javax.inject.Inject; - -import static org.uberfire.workbench.model.toolbar.IconType.DOWNLOAD_ALT; -import static org.uberfire.workbench.model.toolbar.IconType.FOLDER_CLOSE_ALT; +import static org.uberfire.workbench.model.toolbar.IconType.*; /** * A Perspective for Administrators @@ -66,12 +66,12 @@ public class AdministrationPerspective { @Inject private IOCBeanManager iocManager; - private Command newRepoCommand = null; + private Command newRepoCommand = null; private Command cloneRepoCommand = null; private PerspectiveDefinition perspective; - private Menus menus; - private ToolBar toolBar; + private Menus menus; + private ToolBar toolBar; @PostConstruct public void init() { @@ -133,45 +133,46 @@ public void onClose( CloseEvent event ) { } private void buildPerspective() { - this.perspective = new PerspectiveDefinitionImpl(); + this.perspective = new PerspectiveDefinitionImpl( PanelType.ROOT_LIST ); this.perspective.setName( "Administration" ); this.perspective.getRoot().addPart( new PartDefinitionImpl( new DefaultPlaceRequest( "RepositoriesEditor" ) ) ); - final PanelDefinition west = new PanelDefinitionImpl(); + final PanelDefinition west = new PanelDefinitionImpl( PanelType.MULTI_LIST ); west.setWidth( 300 ); west.setMinWidth( 200 ); west.addPart( new PartDefinitionImpl( new DefaultPlaceRequest( "FileExplorer" ) ) ); - this.perspective.getRoot().insertChild( Position.WEST, west ); + this.perspective.getRoot().insertChild( Position.WEST, + west ); } private void buildMenuBar() { this.menus = MenuFactory .newTopLevelMenu( "Explore" ) - .menus() - .menu( "Files" ) - .withRoles( PERMISSIONS_ADMIN ) - .respondsWith( new Command() { - @Override - public void execute() { - placeManager.goTo( "FileExplorer" ); - } - } ) - .endMenu() - .endMenus() + .menus() + .menu( "Files" ) + .withRoles( PERMISSIONS_ADMIN ) + .respondsWith( new Command() { + @Override + public void execute() { + placeManager.goTo( "FileExplorer" ); + } + } ) + .endMenu() + .endMenus() .endMenu() .newTopLevelMenu( "Repositories" ) - .menus() - .menu( "Clone Repo" ) - .withRoles( PERMISSIONS_ADMIN ) - .respondsWith( cloneRepoCommand ) - .endMenu() - .menu( "New Repo" ) - .withRoles( PERMISSIONS_ADMIN ) - .respondsWith( newRepoCommand ) - .endMenu() - .endMenus() + .menus() + .menu( "Clone Repo" ) + .withRoles( PERMISSIONS_ADMIN ) + .respondsWith( cloneRepoCommand ) + .endMenu() + .menu( "New Repo" ) + .withRoles( PERMISSIONS_ADMIN ) + .respondsWith( newRepoCommand ) + .endMenu() + .endMenus() .endMenu().build(); } diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/perspectives/AuthoringPerspective.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/perspectives/AuthoringPerspective.java index ce926ee701b..e53ce4e5426 100644 --- a/drools-wb-webapp/src/main/java/org/drools/workbench/client/perspectives/AuthoringPerspective.java +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/perspectives/AuthoringPerspective.java @@ -19,7 +19,7 @@ import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; -import org.drools.workbench.client.resources.i18n.Constants; +import org.drools.workbench.client.resources.i18n.AppConstants; import org.guvnor.inbox.client.InboxPresenter; import org.kie.workbench.common.widgets.client.handlers.NewResourcePresenter; import org.kie.workbench.common.widgets.client.handlers.NewResourcesMenu; @@ -28,11 +28,14 @@ import org.uberfire.client.annotations.WorkbenchMenu; import org.uberfire.client.annotations.WorkbenchPerspective; import org.uberfire.client.annotations.WorkbenchToolBar; -import org.uberfire.mvp.Command; import org.uberfire.client.mvp.PlaceManager; -import org.uberfire.workbench.model.Position; +import org.uberfire.mvp.Command; +import org.uberfire.mvp.PlaceRequest; +import org.uberfire.mvp.impl.DefaultPlaceRequest; import org.uberfire.workbench.model.PanelDefinition; +import org.uberfire.workbench.model.PanelType; import org.uberfire.workbench.model.PerspectiveDefinition; +import org.uberfire.workbench.model.Position; import org.uberfire.workbench.model.impl.PanelDefinitionImpl; import org.uberfire.workbench.model.impl.PartDefinitionImpl; import org.uberfire.workbench.model.impl.PerspectiveDefinitionImpl; @@ -42,8 +45,6 @@ import org.uberfire.workbench.model.toolbar.ToolBar; import org.uberfire.workbench.model.toolbar.impl.DefaultToolBar; import org.uberfire.workbench.model.toolbar.impl.DefaultToolBarItem; -import org.uberfire.mvp.PlaceRequest; -import org.uberfire.mvp.impl.DefaultPlaceRequest; /** * A Perspective for Rule authors @@ -65,8 +66,8 @@ public class AuthoringPerspective { private PlaceManager placeManager; private PerspectiveDefinition perspective; - private Menus menus; - private ToolBar toolBar; + private Menus menus; + private ToolBar toolBar; @PostConstruct public void init() { @@ -91,72 +92,73 @@ public ToolBar getToolBar() { } private void buildPerspective() { - this.perspective = new PerspectiveDefinitionImpl(); + this.perspective = new PerspectiveDefinitionImpl( PanelType.ROOT_LIST ); this.perspective.setName( "Author" ); - final PanelDefinition west = new PanelDefinitionImpl(); + final PanelDefinition west = new PanelDefinitionImpl( PanelType.MULTI_LIST ); west.setWidth( 300 ); west.setMinWidth( 200 ); west.addPart( new PartDefinitionImpl( new DefaultPlaceRequest( "org.kie.guvnor.explorer" ) ) ); - this.perspective.getRoot().insertChild( Position.WEST, west ); + this.perspective.getRoot().insertChild( Position.WEST, + west ); } private void buildMenuBar() { this.menus = MenuFactory .newTopLevelMenu( "Explore" ) - .menus() - .menu( "Projects" ) - .respondsWith( new Command() { - @Override - public void execute() { - placeManager.goTo( "org.kie.guvnor.explorer" ); - } - } ) - .endMenu() - .menu( "Incoming Changes" ) - .respondsWith( new Command() { - @Override - public void execute() { - //PlaceRequest p = new PathPlaceRequest("Inbox"); - //p.addParameter("inboxname", InboxPresenter.INCOMING_ID); - placeManager.goTo( "Inbox" ); - } - } ) - .endMenu() - .menu( "Recently Edited" ) - .respondsWith( new Command() { - @Override - public void execute() { - PlaceRequest p = new DefaultPlaceRequest( "Inbox" ); - p.addParameter( "inboxname", InboxPresenter.RECENT_EDITED_ID ); - placeManager.goTo( p ); - } - } ) - .endMenu() - .menu( "Recently Opened" ) - .respondsWith( new Command() { - @Override - public void execute() { - PlaceRequest p = new DefaultPlaceRequest( "Inbox" ); - p.addParameter( "inboxname", InboxPresenter.RECENT_VIEWED_ID ); - placeManager.goTo( p ); - } - } ) - .endMenu() - .endMenus() + .menus() + .menu( "Projects" ) + .respondsWith( new Command() { + @Override + public void execute() { + placeManager.goTo( "org.kie.guvnor.explorer" ); + } + } ) + .endMenu() + .menu( "Incoming Changes" ) + .respondsWith( new Command() { + @Override + public void execute() { + //PlaceRequest p = new PathPlaceRequest("Inbox"); + //p.addParameter("inboxname", InboxPresenter.INCOMING_ID); + placeManager.goTo( "Inbox" ); + } + } ) + .endMenu() + .menu( "Recently Edited" ) + .respondsWith( new Command() { + @Override + public void execute() { + PlaceRequest p = new DefaultPlaceRequest( "Inbox" ); + p.addParameter( "inboxname", InboxPresenter.RECENT_EDITED_ID ); + placeManager.goTo( p ); + } + } ) + .endMenu() + .menu( "Recently Opened" ) + .respondsWith( new Command() { + @Override + public void execute() { + PlaceRequest p = new DefaultPlaceRequest( "Inbox" ); + p.addParameter( "inboxname", InboxPresenter.RECENT_VIEWED_ID ); + placeManager.goTo( p ); + } + } ) + .endMenu() + .endMenus() .endMenu() .newTopLevelMenu( "New" ) - .withItems( newResourcesMenu.getMenuItems() ) + .withItems( newResourcesMenu.getMenuItems() ) .endMenu() .newTopLevelMenu( "Tools" ) - .withItems( toolsMenu.getMenuItems() ) + .withItems( toolsMenu.getMenuItems() ) .endMenu().build(); } private void buildToolBar() { this.toolBar = new DefaultToolBar( "guvnor.new.item" ); - final String tooltip = Constants.INSTANCE.newItem(); + final String tooltip = AppConstants.INSTANCE.newItem(); final Command command = new Command() { @Override public void execute() { diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/AppResource.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/AppResource.java new file mode 100644 index 00000000000..ef506a27dc4 --- /dev/null +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/AppResource.java @@ -0,0 +1,15 @@ +package org.drools.workbench.client.resources; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.resources.client.ClientBundle; +import org.drools.workbench.client.resources.images.AppImages; + +public interface AppResource + extends + ClientBundle { + + AppResource INSTANCE = GWT.create( AppResource.class ); + + AppImages images(); + +} diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/i18n/Constants.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/i18n/AppConstants.java similarity index 93% rename from drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/i18n/Constants.java rename to drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/i18n/AppConstants.java index d2784d2cf45..e03f0e5a9e1 100644 --- a/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/i18n/Constants.java +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/i18n/AppConstants.java @@ -28,11 +28,11 @@ * properties file can still be used on the server). To use this, use * GWT.create(HomeConstants.class). */ -public interface Constants +public interface AppConstants extends Messages { - Constants INSTANCE = GWT.create( Constants.class ); + AppConstants INSTANCE = GWT.create( AppConstants.class ); String SignOut(); diff --git a/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/images/AppImages.java b/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/images/AppImages.java new file mode 100644 index 00000000000..e697199b37d --- /dev/null +++ b/drools-wb-webapp/src/main/java/org/drools/workbench/client/resources/images/AppImages.java @@ -0,0 +1,29 @@ +/* + * Copyright 2012 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.workbench.client.resources.images; + +import com.google.gwt.resources.client.ClientBundle; +import com.google.gwt.resources.client.ImageResource; + +public interface AppImages + extends + ClientBundle { + + @Source("logo.png") + ImageResource logo(); + +} diff --git a/drools-wb-webapp/src/main/resources/org/drools/workbench/DroolsWorkbench.gwt.xml b/drools-wb-webapp/src/main/resources/org/drools/workbench/DroolsWorkbench.gwt.xml index 8fa5fd7669b..3c84a788a3c 100644 --- a/drools-wb-webapp/src/main/resources/org/drools/workbench/DroolsWorkbench.gwt.xml +++ b/drools-wb-webapp/src/main/resources/org/drools/workbench/DroolsWorkbench.gwt.xml @@ -6,6 +6,7 @@ + diff --git a/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants.properties b/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants.properties similarity index 100% rename from drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants.properties rename to drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants.properties diff --git a/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_es_ES.properties b/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_es_ES.properties similarity index 100% rename from drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_es_ES.properties rename to drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_es_ES.properties diff --git a/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_fr_FR.properties b/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_fr_FR.properties similarity index 100% rename from drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_fr_FR.properties rename to drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_fr_FR.properties diff --git a/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_ja_JP.properties b/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_ja_JP.properties similarity index 100% rename from drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_ja_JP.properties rename to drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_ja_JP.properties diff --git a/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_pt_BR.properties b/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_pt_BR.properties similarity index 100% rename from drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_pt_BR.properties rename to drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_pt_BR.properties diff --git a/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_zh_CN.properties b/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_zh_CN.properties similarity index 100% rename from drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/Constants_zh_CN.properties rename to drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/i18n/AppConstants_zh_CN.properties diff --git a/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/images/logo.png b/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/images/logo.png new file mode 100644 index 00000000000..a732ee33f23 Binary files /dev/null and b/drools-wb-webapp/src/main/resources/org/drools/workbench/client/resources/images/logo.png differ