MainMenu.ui.xml: <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:with field="css" type="org.sitebrand.ui.gwt.resources.UiResources.MainMenuCss" /> <ui:with field="lbls" type="org.sitebrand.ui.gwt.resources.MainMenuLbls" /> <ui:with field="debugIds" type="org.sitebrand.gwt.constants.DebugConstants" /> <g:MenuBar stylePrimaryName="{css.primary}"> <g:MenuItem ui:field="campaigns" debugId="{debugIds.menuitem_campaigns}" text="{lbls.campaigns}"> <g:MenuBar vertical="true"> <g:MenuItem ui:field="createCampaign" text="{lbls.createCampaign}" /> <g:MenuItem ui:field="viewCampaigns" text="{lbls.viewCampaigns}" /> <g:MenuItem ui:field="campaignPriority" text="{lbls.campaignPriority}" /> <g:MenuItem ui:field="reports" text="{lbls.reports}" /> </g:MenuBar> </g:MenuItem> <g:MenuItem ui:field="content" debugId="{debugIds.menuitem_content}" text="{lbls.content}"> <g:MenuBar vertical="true"> <g:MenuItem ui:field="createContent" text="{lbls.createContent}" /> <g:MenuItem ui:field="viewContent" text="{lbls.viewContent}" /> <g:MenuItem ui:field="integrate" text="{lbls.integrate}" /> </g:MenuBar> </g:MenuItem> <g:MenuItem ui:field="segments" debugId="{debugIds.menuitem_segments}" text="{lbls.segments}"> <g:MenuBar vertical="true"> <g:MenuItem ui:field="createSegment" text="{lbls.createSegment}" /> <g:MenuItem ui:field="viewSegments" text="{lbls.viewSegments}" /> </g:MenuBar> </g:MenuItem> <g:MenuItem ui:field="layout" debugId="{debugIds.menuitem_layout}" text="{lbls.layout}"> <g:MenuBar vertical="true"> <g:MenuItem ui:field="addTemplate" text="{lbls.addTemplate}" /> <g:MenuItem ui:field="viewTemplates" text="{lbls.viewTemplates}" /> </g:MenuBar> </g:MenuItem> <g:MenuItem ui:field="account" debugId="{debugIds.menuitem_account_mgmt}" text="{lbls.account}"> <g:MenuBar vertical="true"> <g:MenuItem ui:field="myAccount" text="{lbls.myAccount}" /> <g:MenuItem ui:field="organizations" text="{lbls.organizations}" /> <g:MenuItem ui:field="sites" text="{lbls.sites}" /> <g:MenuItem ui:field="users" text="{lbls.users}" /> <g:MenuItem ui:field="globalSettings" text="{lbls.globalSettings}" /> </g:MenuBar> </g:MenuItem> <g:MenuItem ui:field="help" debugId="{debugIds.menuitem_help}" text="{lbls.help}"> <g:MenuBar vertical="true"> <g:MenuItem ui:field="manual" text="{lbls.manual}" /> <g:MenuItem ui:field="support" text="{lbls.support}" /> </g:MenuBar> </g:MenuItem> </g:MenuBar> </ui:UiBinder> MainMenu.java: public class MainMenu extends Composite { /* * ========================================================================= * UiBinder * ========================================================================= */ interface Binder extends UiBinder<Widget, MainMenu> {} private static Binder uiBinder = GWT.create(Binder.class); static { getCss().ensureInjected(); } @UiFactory public static MainMenuCss getCss() { return UiResources.INST.mainMenuCss(); } @UiFactory public static MainMenuLbls getLbls() { return MainMenuLbls.INST; } /* * ========================================================================= * Instance * ========================================================================= */ // Top level menu items @UiField MenuItem campaigns, content, segments, layout, account, help; // Campaigns menu items @UiField MenuItem createCampaign, viewCampaigns, campaignPriority, reports; // Content menu items @UiField MenuItem createContent, viewContent, integrate; // Segments menu items @UiField MenuItem createSegment, viewSegments; // Layout menu items @UiField MenuItem addTemplate, viewTemplates; // Account menu items @UiField MenuItem myAccount, organizations, sites, users, globalSettings; // Help menu items @UiField MenuItem manual, support; public MainMenu() { initWidget(uiBinder.createAndBindUi(this)); UserServiceManager.getClientSession(new GotClientSession() { @Override public void got(ClientSession session) { boolean canEditDomain = session.hasAtLeastPermission( PermissionType.EDIT, SecurableComponent.GENERAL); if (!canEditDomain) { createCampaign.setVisible(false); campaignPriority.setVisible(false); createContent.setVisible(false); segments.setSubMenu(new MenuBar()); segments.setCommand(viewSegments.getCommand()); layout.setSubMenu(new MenuBar()); layout.setCommand(viewTemplates.getCommand()); } boolean singleItemAccountMenu = !session.canAdministerAtLeastOneOrganization() && !session.canAdministerAtLeastOneSite() && !session.isSitebrandAdmin(); if (singleItemAccountMenu) { account.setSubMenu(new MenuBar()); account.setCommand(myAccount.getCommand()); } else { if (! session.canAdministerAtLeastOneOrganization()) { organizations.setVisible(false); } if (!session.canAdministerAtLeastOneSite()) { sites.setVisible(false); } boolean showUsers = session.canAdministerAtLeastOneOrganization() || session.canAdministerAtLeastOneSite(); if (!showUsers) { users.setVisible(false); } if (!session.isSitebrandAdmin()) { globalSettings.setVisible(false); } } } }); createCampaign.setCommand(new Command() { @Override public void execute() { new CreateCampaignWindow().show(); } }); viewCampaigns.setCommand(new Command() { @Override public void execute() { MainTabPanel.get().addTab(new MarketingMainPanel(), getLbls().campaigns()); } }); campaignPriority.setCommand(new Command() { @Override public void execute() { MainTabPanel.get().addTab(new CampaignPriorityMainPanel(), getLbls().campaignPriority()); } }); reports.setCommand(new Command() { @Override public void execute() { MainTabPanel.get().addTab(new ReportsMain(), getLbls().reports()); } }); createContent.setCommand(new Command() { @Override public void execute() { new AddContentWindow().show(); } }); viewContent.setCommand(new Command() { @Override public void execute() { MainTabPanel.get().addTab(new ContentMainPanel(), getLbls().content()); } }); integrate.setCommand(new Command() { @Override public void execute() { MainTabPanel.get().addTab(new IntegrationMainPanel(), getLbls().integrate()); } }); createSegment.setCommand(new Command() { @Override public void execute() { new NewSegmentWindow().show(); } }); viewSegments.setCommand(new Command() { @Override public void execute() { MainTabPanel.get().addTab(new SegmentMainPanel(), getLbls().segments()); } }); addTemplate.setCommand(new Command() { @Override public void execute() { new CreateTemplateWindow(null).show(); } }); viewTemplates.setCommand(new Command() { @Override public void execute() { MainTabPanel.get().addTab(new TemplatesMainPanel(), getLbls().layout()); } }); myAccount.setCommand(new Command() { @Override public void execute() { MainTabPanel.get().addTab(new MyAccountPanel(), getLbls().myAccount()); } }); organizations.setCommand(new Command() { @Override public void execute() { MainTabPanel mtp = MainTabPanel.get(); if (!mtp.setFocus(OrganizationsMainPanel.class)) { mtp.addTab(new OrganizationsMainPanel(), getLbls() .organizations()); } } }); sites.setCommand(new Command() { @Override public void execute() { MainTabPanel mtp = MainTabPanel.get(); if (!mtp.setFocus(SitesMainPanel.class)) { mtp.addTab(new SitesMainPanel(), getLbls().sites()); } } }); users.setCommand(new Command() { @Override public void execute() { MainTabPanel mtp = MainTabPanel.get(); if (!mtp.setFocus(UsersAndRolesMainPanel.class)) { mtp.addTab(new UsersAndRolesMainPanel(), getLbls() .users()); } } }); globalSettings.setCommand(new Command() { @Override public void execute() { MainTabPanel mtp = MainTabPanel.get(); if (!mtp.setFocus(AdminMainPanel.class)) { mtp.addTab(new AdminMainPanel(), getLbls().globalSettings()); } } }); manual.setCommand(new Command() { @Override public void execute() { Window.open(MANUAL_URL, "_blank", ""); } }); support.setCommand(new Command() { @Override public void execute() { Window.open(SUPPORT_URL, "_blank", ""); } }); } } On Nov 2, 1:15 pm, Jeff Schwartz <jefftschwa...@gmail.com> wrote: > Is it possible to post both the uibinder's xml and java class files? It > would help. Thanks. > > On Tue, Nov 2, 2010 at 12:03 PM, pgraham > <philip.robert.gra...@gmail.com>wrote: > > > > > > > > > > > Hi all, > > > After upgrading to gwt 2.1.0 I get the following exception when > > starting up hosted mode: > > > onModuleLoad() threw an exception > > > Exception while loading module org.sitebrand.ui.gwt.shell.MainEntry. > > See Development Mode for details. > > java.lang.reflect.InvocationTargetException at > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > > 39) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp > > l.java: > > 25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) > > at > > > com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler > > .java: > > 183) > > at > > > com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChan > > nelServer.java: > > 510) > > at > > > com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java > > : > > 352) > > at java.lang.Thread.run(Thread.java:619) > > > Caused by: java.lang.ExceptionInInitializerError > > at org.sitebrand.ui.gwt.widgets.panel.TopPanel.(TopPanel.java:37) > > at > > org.sitebrand.ui.gwt.shell.MainEntry.initNorthPanel(MainEntry.java:76) > > at org.sitebrand.ui.gwt.shell.MainEntry.onModuleLoad(MainEntry.java: > > 62) ... 9 more > > > Caused by: java.lang.RuntimeException: Deferred binding failed for > > 'org.sitebrand.ui.gwt.widgets.MainMenu$Binder' (did you forget to > > inherit a required module?) > > at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java: > > 53) > > at com.google.gwt.core.client.GWT.create(GWT.java:97) > > at org.sitebrand.ui.gwt.widgets.MainMenu.(MainMenu.java:72) ... 12 > > more > > > Caused by: java.lang.AbstractMethodError: > > org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/ > > String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/ > > Object; > > at > > > com.google.gwt.uibinder.rebind.W3cDocumentBuilder.startElement(W3cDocumentB > > uilder.java: > > 130) > > at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown > > Source) > > at > > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown > > Source) > > at org.apache.xerces.impl.XMLNSDocumentScannerImpl > > $NSContentDispatcher.scanRootElementHook(Unknown Source) > > at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl > > $FragmentContentDispatcher.dispatch(Unknown Source) > > at > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown > > Source) > > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown > > Source) > > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown > > Source) > > at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) > > at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) > > at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) > > at > > com.google.gwt.uibinder.rebind.W3cDomHelper.documentFor(W3cDomHelper.java: > > 64) > > at > > > com.google.gwt.uibinder.rebind.UiBinderGenerator.getW3cDoc(UiBinderGenerato > > r.java: > > 169) > > at > > > com.google.gwt.uibinder.rebind.UiBinderGenerator.generateOnce(UiBinderGener > > ator.java: > > 139) > > at > > > com.google.gwt.uibinder.rebind.UiBinderGenerator.generate(UiBinderGenerator > > .java: > > 119) > > at > > > com.google.gwt.dev.javac.StandardGeneratorContext.runGenerator(StandardGene > > ratorContext.java: > > 427) > > at > > com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java: > > 39) > > at com.google.gwt.dev.shell.StandardRebindOracle > > $Rebinder.tryRebind(StandardRebindOracle.java:115) > > at com.google.gwt.dev.shell.StandardRebindOracle > > $Rebinder.rebind(StandardRebindOracle.java:58) > > at > > > com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.j > > ava: > > 161) > > at > > > com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.j > > ava: > > 124) > > at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585) > > at > > com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java: > > 455) > > at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java: > > 49) ... 14 more > > > Everything was working fine with GWT 2.0.4 > > > Any help is appreciated, > > Thanks > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google Web Toolkit" group. > > To post to this group, send email to google-web-tool...@googlegroups.com. > > To unsubscribe from this group, send email to > > google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2Bunsubs > > cr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-web-toolkit?hl=en. > > -- > Jeff -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.