/** SpagoBI, the Open Source Business Intelligence suite Copyright (C) 2012 Engineering Ingegneria Informatica S.p.A. - SpagoBI Competency Center This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. **/ package it.eng.spagobi.studio.documentcomposition.util; import it.eng.spagobi.studio.documentcomposition.Activator; import it.eng.spagobi.studio.documentcomposition.editors.DocContainer; import it.eng.spagobi.studio.documentcomposition.editors.model.documentcomposition.Document; import it.eng.spagobi.studio.documentcomposition.editors.model.documentcomposition.DocumentComposition; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Vector; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorReference; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IViewReference; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.internal.EditorReference; import org.osgi.framework.Bundle; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DocCompUtilities { private static Logger logger = LoggerFactory.getLogger(DocCompUtilities.class); /** Get input stream from a resource * * @param resourcePath * @return * @throws IOException */ public static String DOCUMENT_COMPOSITION_EDITOR_ID="it.eng.spagobi.studio.documentcomposition.editors.DocumentCompositionEditor"; public static String NAVIGATION_VIEW_ID="it.eng.spagobi.studio.documentcomposition.views.NavigationView"; public static String DOCUMENT_PROPERTIES_VIEW_ID="it.eng.spagobi.studio.documentcomposition.views.DocumentPropertiesView"; public static String DOCUMENT_PARAMETERS_VIEW_ID="it.eng.spagobi.studio.documentcomposition.views.DocumentParametersView"; public static String VIDEO_SIZE_VIEW_ID="it.eng.spagobi.studio.documentcomposition.views.VideoSizeView"; public static InputStream getInputStreamFromResource(String resourcePath) throws IOException { Bundle b = org.eclipse.core.runtime.Platform.getBundle(it.eng.spagobi.studio.documentcomposition.Activator.PLUGIN_ID); logger.debug(b.getLocation()+" - "+b.getSymbolicName()); URL res = b.getResource(resourcePath); InputStream is = res.openStream(); return is; } public boolean isDocumentDeletable(Document doc) { boolean ret = true; //ricava DocumentsComposition salvato DocumentComposition documentComposition =Activator.getDefault().getDocumentComposition(); if(documentComposition != null){ Vector<Document> docs = documentComposition.getDocumentsConfiguration().getDocuments(); if(docs.contains(doc)){ ret = false; } } return ret; } public static IEditorPart getEditorReference(String editorId){ IEditorPart toReturn=null; IWorkbenchWindow a=PlatformUI.getWorkbench().getWorkbenchWindows()[0]; IWorkbenchPage aa=a.getActivePage(); if(aa != null){ IEditorReference[] editors=aa.findEditors(null, editorId, IWorkbenchPage.MATCH_ID); if(editors!=null && editors.length>0){ EditorReference editorReference=(EditorReference)editors[0]; toReturn=(IEditorPart)editorReference.getPart(false); } } return toReturn; } public static IViewPart getViewReference(String viewId){ IViewPart toReturn=null; IWorkbenchWindow a=PlatformUI.getWorkbench().getWorkbenchWindows()[0]; // Document properties IWorkbenchPage aa=a.getActivePage(); if(aa != null){ IViewReference w=aa.findViewReference(viewId); Object p=w.getPart(false); if(p!=null){ toReturn=(IViewPart)p; } } return toReturn; } }