Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.pentaho.platform.plugin.services.pluginmgr;
 
 import java.util.List;
 
public abstract class BaseMenuProvider implements IMenuProvider {
	public abstract Object getMenuBarString idString documentPathIPentahoSession session );
	public abstract Object getPopupMenuString idString documentPathIPentahoSession session );
	protected abstract XulLoader getXulLoader();
	protected XulDomContainer getXulContainerString documentPathIPentahoSession session) {
		  try {
			  ISolutionRepository repo = PentahoSystem.getSolutionRepository(session);
			  InputStream in = repo.getResourceInputStreamdocumentPathtrue);
		      SAXReader rdr = new SAXReader();
		      final Document doc = rdr.read(in);
		      
		      XulDomContainer container = getXulLoader().loadXul(doc);
		      
		      return container;
		  } catch (Exception e) {
			  session.error( Messages.getErrorString("BaseMenuProvider.ERROR_0001_COULD_NOT_GET_MENU_CONTAINER") , e); //$NON-NLS-1$
		  }
		  return null;
	}
	protected XulMenubar getXulMenubarString idString documentPathIPentahoSession session ) {
	      XulDomContainer container = getXulContainerdocumentPathsession );
	      ifcontainer == null ) {
	    	  return null;
	      }
	      List<XulComponentcomponents = container.getDocumentRoot().getElementsByTagName"menubar" ); //$NON-NLS-1$
	      forXulComponent component : components ) {
	    	  ifcomponent instanceof XulMenubar && component.getId().equalsid ) ) {
			      XulMenubar menubar = (XulMenubarcomponent;
			      // now get customizations to it
			      IPluginSettings pluginSettings = (IPluginSettings) PentahoSystem.getObject(session"IPluginSettings" ); //$NON-NLS-1$
			      List<?> menuCustomizations = pluginSettings.getMenuCustomizations();
			      forObject custommenuCustomizations) {
			    	  ifcustom instanceof IMenuCustomization ) {
		    			  IMenuCustomization item = (IMenuCustomizationcustom;
			    		  try {
			    			  // apply each customization and log any failures
			    			  MenuUtil.customizeMenu(menubaritemgetXulLoader());
			    		  } catch (Exception e) {
			    			  session.error( Messages.getString("BaseMenuProvider.ERROR_0004_COULD_NOT_CUSTOMIZE_MENU"item.getId(), item.getLabel() ), e); //$NON-NLS-1$
			    		  }
			    	  }
			      }
			      
		    	  return menubar;
		      }		      
	      }
		  Logger.errorgetClass().getName(), Messages.getErrorString("BaseMenuProvider.ERROR_0002_COULD_NOT_GET_MENUBAR") ); //$NON-NLS-1$
		  return null;
	}
	protected XulMenupopup getXulPopupMenuString idString documentPathIPentahoSession session ) {
	      XulDomContainer container = getXulContainerdocumentPathsession );
	      ifcontainer != null ) {
		      List<XulComponentcomponents = container.getDocumentRoot().getElementsByTagName"menupopup" ); //$NON-NLS-1$
		      forXulComponent component : components ) {
		    	  ifcomponent.getId().equals(id) && component instanceof XulMenupopup ) {
			    	  return (XulMenupopupcomponent;
		    	  }
		      }
	      }
		  Logger.errorgetClass().getName(), Messages.getErrorString("BaseMenuProvider.ERROR_0003_COULD_NOT_GET_POPUP_MENU") ); //$NON-NLS-1$
		  return null;
	}
New to GrepCode? Check out our FAQ X