From: bsinou Date: Tue, 21 Feb 2017 15:38:10 +0000 (+0100) Subject: Clean legacy Code, Adapt spring links X-Git-Tag: argeo-suite-0.1.5~24 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=e51dee49ebe0d118c9ce3a5cbf06054e7e2df516 Clean legacy Code, Adapt spring links --- diff --git a/org.argeo.suite.core/META-INF/spring/osgi.xml b/org.argeo.suite.core/META-INF/spring/osgi.xml index 5335252..e7076d6 100644 --- a/org.argeo.suite.core/META-INF/spring/osgi.xml +++ b/org.argeo.suite.core/META-INF/spring/osgi.xml @@ -7,9 +7,27 @@ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> - - + + + + + + - + + + + + + + + + + + + + diff --git a/org.argeo.suite.core/META-INF/spring/services.xml b/org.argeo.suite.core/META-INF/spring/services.xml index ffbcc47..31dc32e 100644 --- a/org.argeo.suite.core/META-INF/spring/services.xml +++ b/org.argeo.suite.core/META-INF/spring/services.xml @@ -4,22 +4,27 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd"> - + + + + + + + - + - - - + + @@ -27,6 +32,7 @@ + @@ -34,6 +40,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.argeo.suite.core/bnd.bnd b/org.argeo.suite.core/bnd.bnd index d1349a9..f18e99f 100644 --- a/org.argeo.suite.core/bnd.bnd +++ b/org.argeo.suite.core/bnd.bnd @@ -1,5 +1,6 @@ Require-Capability: cms.datamodel; filter:="(name=people)",\ -cms.datamodel; filter:="(name=documents)" +cms.datamodel; filter:="(name=documents)",\ +cms.datamodel; filter:="(name=tracker)" Import-Package:\ javax.jcr.nodetype,\ org.argeo.connect.resources,\ @@ -7,6 +8,4 @@ org.argeo.node,\ org.argeo.util,\ javax.jcr.security,\ * - - diff --git a/org.argeo.suite.core/pom.xml b/org.argeo.suite.core/pom.xml index 5807828..df37fe2 100644 --- a/org.argeo.suite.core/pom.xml +++ b/org.argeo.suite.core/pom.xml @@ -27,5 +27,10 @@ org.argeo.connect.documents ${version.argeo-connect} + + org.argeo.connect + org.argeo.connect.activities + ${version.argeo-connect} + diff --git a/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteAppService.java b/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteAppService.java new file mode 100644 index 0000000..02eda61 --- /dev/null +++ b/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteAppService.java @@ -0,0 +1,84 @@ +package org.argeo.suite.core; + +import javax.jcr.Node; +import javax.jcr.RepositoryException; +import javax.jcr.nodetype.NodeType; + +import org.argeo.connect.AppService; +import org.argeo.connect.activities.ActivitiesService; +import org.argeo.connect.activities.ActivitiesTypes; +import org.argeo.connect.documents.DocumentsService; +import org.argeo.connect.people.PeopleService; +import org.argeo.connect.people.PeopleTypes; +import org.argeo.connect.resources.ResourcesService; +import org.argeo.connect.resources.ResourcesTypes; +import org.argeo.connect.tracker.TrackerService; +import org.argeo.connect.tracker.TrackerTypes; +import org.argeo.connect.util.ConnectJcrUtils; + +public class DefaultSuiteAppService implements AppService { + + private ResourcesService resourcesService; + private ActivitiesService activitiesService; + private PeopleService peopleService; + private DocumentsService documentsService; + private TrackerService trackerService; + + @Override + public String getAppBaseName() { + return null; + } + + @Override + public String getDefaultRelPath(Node entity) throws RepositoryException { + return null; + } + + @Override + public String getDefaultRelPath(String id) { + return null; + } + + /** Insures the correct service is called on save */ + @Override + public Node saveEntity(Node entity, boolean publish) { + if (ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_PARENT) + || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_NODE_TEMPLATE) + || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_ENCODED_INSTANCE) + || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_INSTANCE)) + return resourcesService.saveEntity(entity, publish); + else if (ConnectJcrUtils.isNodeType(entity, TrackerTypes.TRACKER_PROJECT)) + return trackerService.saveEntity(entity, publish); + else if (ConnectJcrUtils.isNodeType(entity, ActivitiesTypes.ACTIVITIES_TASK) + || ConnectJcrUtils.isNodeType(entity, ActivitiesTypes.ACTIVITIES_ACTIVITY)) + return activitiesService.saveEntity(entity, publish); + else if (ConnectJcrUtils.isNodeType(entity, PeopleTypes.PEOPLE_PERSON) + || ConnectJcrUtils.isNodeType(entity, PeopleTypes.PEOPLE_ORG)) + return peopleService.saveEntity(entity, publish); + else if (ConnectJcrUtils.isNodeType(entity, NodeType.NT_FILE) + || ConnectJcrUtils.isNodeType(entity, NodeType.NT_FOLDER)) + return documentsService.saveEntity(entity, publish); + else + return AppService.super.saveEntity(entity, publish); + } + + public void setResourcesService(ResourcesService resourcesService) { + this.resourcesService = resourcesService; + } + + public void setActivitiesService(ActivitiesService activitiesService) { + this.activitiesService = activitiesService; + } + + public void setPeopleService(PeopleService peopleService) { + this.peopleService = peopleService; + } + + public void setDocumentsService(DocumentsService documentsService) { + this.documentsService = documentsService; + } + + public void setTrackerService(TrackerService trackerService) { + this.trackerService = trackerService; + } +} diff --git a/org.argeo.suite.core/src/org/argeo/suite/documents/FsConstants.java b/org.argeo.suite.core/src/org/argeo/suite/documents/FsConstants.java deleted file mode 100644 index ce5df78..0000000 --- a/org.argeo.suite.core/src/org/argeo/suite/documents/FsConstants.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.argeo.suite.documents; - -public interface FsConstants { -} diff --git a/org.argeo.suite.core/src/org/argeo/suite/people/PeopleSuiteServiceImpl.java b/org.argeo.suite.core/src/org/argeo/suite/people/PeopleSuiteServiceImpl.java deleted file mode 100644 index 1aaf15b..0000000 --- a/org.argeo.suite.core/src/org/argeo/suite/people/PeopleSuiteServiceImpl.java +++ /dev/null @@ -1,179 +0,0 @@ -package org.argeo.suite.people; - -import java.net.URI; -import java.util.Map; - -import javax.jcr.Repository; -import javax.jcr.RepositoryException; -import javax.jcr.Session; -import javax.jcr.nodetype.NodeType; -import javax.jcr.security.Privilege; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.connect.people.PeopleConstants; -import org.argeo.connect.people.PeopleService; -import org.argeo.connect.people.core.PeopleServiceImpl; -import org.argeo.connect.resources.ResourcesService; -import org.argeo.jcr.JcrUtils; -import org.argeo.node.NodeConstants; -import org.argeo.suite.ArgeoSuiteRole; -import org.argeo.suite.SuiteException; - -/** - * Default implementation of an Argeo Suite specific People Backend - * - * TODO refactor and clean init process and service dependencies - */ -public class PeopleSuiteServiceImpl extends PeopleServiceImpl implements PeopleService, PeopleConstants { - private final static Log log = LogFactory.getLog(PeopleSuiteServiceImpl.class); - - /* DEPENDENCY INJECTION */ - private Repository repository; - private String workspaceName; - private ResourcesService resourceService; - private Map initResources = null; - private Map legacyResources = null; - - public void init() { - super.init(); - Session adminSession = null; - try { - adminSession = repository.login(workspaceName); - initialiseModel(adminSession); - initModelResources(adminSession); - } catch (Exception e) { - throw new SuiteException("Cannot initialise model", e); - } finally { - JcrUtils.logoutQuietly(adminSession); - } - } - - // TODO Hard-coded model initialisation - // To be cleaned once first init and config mechanisms have been implemented - private final static String publicPath = "/public"; - // FIXME Users must have read access on the jcr:system/jcr:versionStorage - // node under JackRabbit to be able to manage versions - private final static String jackRabbitVersionSystemPath = "/jcr:system"; - - @Override - protected void initialiseModel(Session adminSession) throws RepositoryException { - super.initialiseModel(adminSession); - - JcrUtils.mkdirs(adminSession, publicPath, NodeType.NT_UNSTRUCTURED); - if (adminSession.hasPendingChanges()) { - adminSession.save(); - configureACL(adminSession); - log.info("Repository has been initialised with Argeo Suite model"); - } - } - - // First draft of configuration of the people specific rights - private void configureACL(Session session) throws RepositoryException { - - // Initialise people - JcrUtils.addPrivilege(session, getBasePath(null), ArgeoSuiteRole.coworker.dn(), Privilege.JCR_ALL); - JcrUtils.addPrivilege(session, jackRabbitVersionSystemPath, ArgeoSuiteRole.coworker.dn(), Privilege.JCR_READ); - - // Default configuration of the workspace - JcrUtils.addPrivilege(session, "/", NodeConstants.ROLE_ADMIN, Privilege.JCR_ALL); - JcrUtils.addPrivilege(session, publicPath, NodeConstants.ROLE_USER, Privilege.JCR_READ); - JcrUtils.addPrivilege(session, publicPath, "anonymous", Privilege.JCR_READ); - JcrUtils.addPrivilege(session, publicPath, NodeConstants.ROLE_ANONYMOUS, Privilege.JCR_READ); - - session.save(); - log.info("Access control configured"); - } - - /** - * Initialises People resource model and optionally imports legacy resources - */ - protected void initModelResources(Session adminSession) { - // try { - // // initialisation - // resourceService.initialiseResources(adminSession); - // - // Resource resource = initResources.get("Countries"); - // if (resourceService.getTagLikeResourceParent(adminSession, - // PeopleConstants.RESOURCE_COUNTRY) == null - // && resource != null) { - // resourceService.createTagLikeResourceParent(adminSession, - // PeopleConstants.RESOURCE_COUNTRY, - // PeopleTypes.PEOPLE_TAG_ENCODED_INSTANCE, PeopleNames.PEOPLE_CODE, - // getBasePath(null), - // ConnectJcrUtils.getLocalJcrItemName(NodeType.NT_UNSTRUCTURED), new - // ArrayList()); - // String EN_SHORT_NAME = "English short name (upper-lower case)"; - // String ISO_CODE = "Alpha-2 code"; - // new EncodedTagCsvFileParser(resourceService, adminSession, - // PeopleConstants.RESOURCE_COUNTRY, ISO_CODE, - // EN_SHORT_NAME).parse(resource.getInputStream(), "UTF-8"); - // } - // - // resource = initResources.get("Languages"); - // if (resourceService.getTagLikeResourceParent(adminSession, - // PeopleConstants.RESOURCE_LANG) == null - // && resource != null) { - // resourceService.createTagLikeResourceParent(adminSession, - // PeopleConstants.RESOURCE_LANG, - // PeopleTypes.PEOPLE_TAG_ENCODED_INSTANCE, PeopleNames.PEOPLE_CODE, - // getBasePath(null), - // ConnectJcrUtils.getLocalJcrItemName(NodeType.NT_UNSTRUCTURED), new - // ArrayList()); - // String EN_SHORT_NAME = "Language name"; - // String ISO_CODE = "639-1"; - // new EncodedTagCsvFileParser(resourceService, adminSession, - // PeopleConstants.RESOURCE_LANG, ISO_CODE, - // EN_SHORT_NAME).parse(resource.getInputStream(), "UTF-8"); - // } - // - // // Create tag & mailing list parents - // if (resourceService.getTagLikeResourceParent(adminSession, - // PeopleConstants.RESOURCE_TAG) == null) - // resourceService.createTagLikeResourceParent(adminSession, - // PeopleConstants.RESOURCE_TAG, - // PeopleTypes.PEOPLE_TAG_INSTANCE, null, getBasePath(null), - // PeopleTypes.PEOPLE_ENTITY, - // PeopleNames.PEOPLE_TAGS); - // if (resourceService.getTagLikeResourceParent(adminSession, - // PeopleTypes.PEOPLE_MAILING_LIST) == null) - // resourceService.createTagLikeResourceParent(adminSession, null, - // PeopleTypes.PEOPLE_MAILING_LIST, null, - // getBasePath(null), PeopleTypes.PEOPLE_ENTITY, - // PeopleNames.PEOPLE_MAILING_LISTS); - // - // // Initialise catalogues - // importCatalogue(adminSession, initResources.get("SimpleTasks"), - // PeopleTypes.PEOPLE_TASK); - // - // if (adminSession.hasPendingChanges()) { - // adminSession.save(); - // log.info("Resources have been added to Argeo Suite model"); - // } - // } catch (IOException | RepositoryException e) { - // throw new SuiteException("Cannot initialise resources ", e); - // } - } - - /** Give access to the repository to extending classes */ - protected Repository getRepository() { - return repository; - } - - protected String getWorkspaceName() { - return workspaceName; - } - - /* DEPENDENCY INJECTION */ - public void setRepository(Repository repository) { - this.repository = repository; - } - - public void setWorkspaceName(String workspaceName) { - this.workspaceName = workspaceName; - } - - public void setInitResources(Map initResources) { - this.initResources = initResources; - } -} diff --git a/org.argeo.suite.web/bnd.bnd b/org.argeo.suite.web/bnd.bnd index f13bd42..e400263 100644 --- a/org.argeo.suite.web/bnd.bnd +++ b/org.argeo.suite.web/bnd.bnd @@ -1,5 +1,6 @@ Import-Package:\ javax.jcr.nodetype,\ +org.argeo.connect,\ org.argeo.node,\ javax.jcr.security,\ org.eclipse.swt,\ diff --git a/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java b/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java index d22a5dd..b2617e3 100644 --- a/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java +++ b/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java @@ -64,7 +64,7 @@ public class DefaultMainPage implements LifeCycleUiProvider { if (context.isNodeType(PeopleTypes.PEOPLE_ENTITY)) return peoplePage.createUi(parent, context); - else if (peopleService.getBasePath(null).equals(context.getPath())) + else if (peopleService.getDefaultBasePath().equals(context.getPath())) return peoplePage.createUi(parent, context); else if (context.isNodeType(NodeType.NT_FOLDER) || context.isNodeType(NodeType.NT_FILE)) return fsBrowserPage.createUi(parent, context); diff --git a/org.argeo.suite.workbench.rap/META-INF/spring/osgi.xml b/org.argeo.suite.workbench.rap/META-INF/spring/osgi.xml index 8f1400f..e58cc51 100644 --- a/org.argeo.suite.workbench.rap/META-INF/spring/osgi.xml +++ b/org.argeo.suite.workbench.rap/META-INF/spring/osgi.xml @@ -14,8 +14,15 @@ interface="org.argeo.connect.activities.ActivitiesService" /> - + + + + - + + + + diff --git a/org.argeo.suite.workbench.rap/META-INF/spring/parts.xml b/org.argeo.suite.workbench.rap/META-INF/spring/parts.xml index ee418dd..2481465 100644 --- a/org.argeo.suite.workbench.rap/META-INF/spring/parts.xml +++ b/org.argeo.suite.workbench.rap/META-INF/spring/parts.xml @@ -11,11 +11,11 @@ - - - - + + + + + @@ -27,6 +27,6 @@ - + diff --git a/org.argeo.suite.workbench.rap/META-INF/spring/services.xml b/org.argeo.suite.workbench.rap/META-INF/spring/services.xml new file mode 100644 index 0000000..0d73968 --- /dev/null +++ b/org.argeo.suite.workbench.rap/META-INF/spring/services.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.argeo.suite.workbench.rap/bnd.bnd b/org.argeo.suite.workbench.rap/bnd.bnd index ea52d2b..ce06f2d 100644 --- a/org.argeo.suite.workbench.rap/bnd.bnd +++ b/org.argeo.suite.workbench.rap/bnd.bnd @@ -11,15 +11,17 @@ javax.jcr.nodetype,\ javax.jcr.security,\ org.argeo.cms,\ org.argeo.cms.ui.workbench,\ +org.argeo.cms.ui.workbench.jcr,\ org.argeo.connect,\ -org.argeo.connect.resources,\ org.argeo.connect.activities,\ -org.argeo.connect.ui,\ -org.argeo.connect.people.workbench.rap.views,\ +org.argeo.connect.activities.workbench.parts,\ org.argeo.connect.documents.workbench.parts,\ +org.argeo.connect.people.workbench.rap.views,\ +org.argeo.connect.resources,\ +org.argeo.connect.ui,\ org.argeo.connect.ui.workbench,\ +org.argeo.connect.ui.workbench.util,\ org.argeo.eclipse.spring,\ org.argeo.node,\ org.argeo.util,\ -org.argeo.cms.ui.workbench.jcr,\ * \ No newline at end of file diff --git a/org.argeo.suite.workbench.rap/plugin.xml b/org.argeo.suite.workbench.rap/plugin.xml index 14dd45e..e4165da 100644 --- a/org.argeo.suite.workbench.rap/plugin.xml +++ b/org.argeo.suite.workbench.rap/plugin.xml @@ -65,35 +65,6 @@ - - - - - - - - - - - - - - - - - diff --git a/org.argeo.suite.workbench.rap/pom.xml b/org.argeo.suite.workbench.rap/pom.xml index 6b8503f..4f00bdd 100644 --- a/org.argeo.suite.workbench.rap/pom.xml +++ b/org.argeo.suite.workbench.rap/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 org.argeo.suite @@ -21,5 +22,10 @@ org.argeo.connect.people.workbench.rap ${version.argeo-connect} + + org.argeo.connect + org.argeo.connect.ui + ${version.argeo-connect} + diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsWorkbenchServiceImpl.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsWorkbenchServiceImpl.java index eb18dc5..73bfdbd 100644 --- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsWorkbenchServiceImpl.java +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsWorkbenchServiceImpl.java @@ -6,7 +6,6 @@ import javax.jcr.Node; import org.argeo.connect.ui.workbench.AppWorkbenchService; import org.argeo.eclipse.ui.EclipseUiUtils; -import org.argeo.suite.workbench.commands.OpenEntityEditor; import org.argeo.suite.workbench.parts.DefaultDashboardEditor; import org.eclipse.jface.wizard.Wizard; import org.eclipse.swt.graphics.Image; @@ -23,27 +22,27 @@ public class AsWorkbenchServiceImpl implements AppWorkbenchService { return DefaultDashboardEditor.ID; } - @Override - public String getOpenEntityEditorCmdId() { -// String result = null; -// for (AppWorkbenchService appWbService : knownAppWbServices) { -// result = appWbService.getOpenEntityEditorCmdId(); -// if (EclipseUiUtils.notEmpty(result)) -// return result; -// } - return OpenEntityEditor.ID; - } + // @Override + // public String getOpenEntityEditorCmdId() { + //// String result = null; + //// for (AppWorkbenchService appWbService : knownAppWbServices) { + //// result = appWbService.getOpenEntityEditorCmdId(); + //// if (EclipseUiUtils.notEmpty(result)) + //// return result; + //// } + // return OpenEntityEditor.ID; + // } - @Override - public String getOpenSearchEntityEditorCmdId() { - String result = null; - for (AppWorkbenchService appWbService : knownAppWbServices) { - result = appWbService.getOpenSearchEntityEditorCmdId(); - if (EclipseUiUtils.notEmpty(result)) - return result; - } - return null; - } + // @Override + // public String getOpenSearchEntityEditorCmdId() { + // String result = null; + // for (AppWorkbenchService appWbService : knownAppWbServices) { + // result = appWbService.getOpenSearchEntityEditorCmdId(); + // if (EclipseUiUtils.notEmpty(result)) + // return result; + // } + // return null; + // } @Override public String getEntityEditorId(Node entity) { diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java index eeca5f4..9b50d3e 100644 --- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java @@ -1,7 +1,7 @@ package org.argeo.suite.workbench; +import org.argeo.connect.activities.workbench.parts.MyTodoListView; import org.argeo.connect.documents.workbench.parts.MyFilesView; -import org.argeo.connect.people.workbench.rap.views.MyTodoListView; import org.argeo.connect.people.workbench.rap.views.QuickSearchView; import org.eclipse.ui.IFolderLayout; import org.eclipse.ui.IPageLayout; diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/commands/OpenDashboardEditor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/commands/OpenDashboardEditor.java index 6a9ef57..2b7a2d1 100644 --- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/commands/OpenDashboardEditor.java +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/commands/OpenDashboardEditor.java @@ -5,7 +5,7 @@ import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; -import org.argeo.connect.ui.workbench.parts.EntityEditorInput; +import org.argeo.connect.ui.workbench.util.EntityEditorInput; import org.argeo.jcr.JcrUtils; import org.argeo.node.NodeUtils; import org.argeo.suite.SuiteException; diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/commands/OpenEntityEditor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/commands/OpenEntityEditor.java index aad084b..433ed71 100644 --- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/commands/OpenEntityEditor.java +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/commands/OpenEntityEditor.java @@ -1,68 +1,71 @@ package org.argeo.suite.workbench.commands; -import javax.jcr.Node; -import javax.jcr.Repository; -import javax.jcr.RepositoryException; -import javax.jcr.Session; -import org.argeo.connect.ui.workbench.AppWorkbenchService; -import org.argeo.connect.ui.workbench.NodeEditorInput; -import org.argeo.jcr.JcrUtils; -import org.argeo.suite.SuiteException; -import org.argeo.suite.workbench.AsUiPlugin; -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.handlers.HandlerUtil; +public class OpenEntityEditor{} -/** Workaround to enable opening of a default editor */ -public class OpenEntityEditor extends AbstractHandler { - public final static String ID = AsUiPlugin.PLUGIN_ID + ".openEntityEditor"; - - public final static String PARAM_JCR_ID = "param.jcrId"; - // public final static String PARAM_OPEN_FOR_EDIT = "param.openForEdit"; - // public final static String PARAM_CTAB_ID = "param.cTabId"; - - private Repository repository; - private AppWorkbenchService appWorkbenchService; - - public Object execute(ExecutionEvent event) throws ExecutionException { - NodeEditorInput eei = null; - Node entity = null; - Session session = null; - String jcrId = event.getParameter(PARAM_JCR_ID); - try { - session = repository.login(); - if (jcrId != null) { - entity = session.getNodeByIdentifier(jcrId); - eei = new NodeEditorInput(jcrId); - } else - return null; - - String editorId = appWorkbenchService.getEntityEditorId(entity); - if (editorId != null) { - IWorkbenchWindow iww = HandlerUtil.getActiveWorkbenchWindow(event); - IWorkbenchPage iwp = iww.getActivePage(); - iwp.openEditor(eei, editorId); - } - } catch (PartInitException pie) { - throw new SuiteException("Unexpected PartInitException while opening entity editor", pie); - } catch (RepositoryException e) { - throw new SuiteException("unexpected JCR error while opening editor", e); - } finally { - JcrUtils.logoutQuietly(session); - } - return null; - } - - public void setRepository(Repository repository) { - this.repository = repository; - } - - public void setAppWorkbenchService(AppWorkbenchService appWorkbenchService) { - this.appWorkbenchService = appWorkbenchService; - } -} +//import javax.jcr.Node; +//import javax.jcr.Repository; +//import javax.jcr.RepositoryException; +//import javax.jcr.Session; +// +//import org.argeo.connect.ui.workbench.AppWorkbenchService; +//import org.argeo.connect.ui.workbench.NodeEditorInput; +//import org.argeo.jcr.JcrUtils; +//import org.argeo.suite.SuiteException; +//import org.argeo.suite.workbench.AsUiPlugin; +//import org.eclipse.core.commands.AbstractHandler; +//import org.eclipse.core.commands.ExecutionEvent; +//import org.eclipse.core.commands.ExecutionException; +//import org.eclipse.ui.IWorkbenchPage; +//import org.eclipse.ui.IWorkbenchWindow; +//import org.eclipse.ui.PartInitException; +//import org.eclipse.ui.handlers.HandlerUtil; +// +///** Workaround to enable opening of a default editor */ +//public class OpenEntityEditor extends AbstractHandler { +// public final static String ID = AsUiPlugin.PLUGIN_ID + ".openEntityEditor"; +// +// public final static String PARAM_JCR_ID = "param.jcrId"; +// // public final static String PARAM_OPEN_FOR_EDIT = "param.openForEdit"; +// // public final static String PARAM_CTAB_ID = "param.cTabId"; +// +// private Repository repository; +// private AppWorkbenchService appWorkbenchService; +// +// public Object execute(ExecutionEvent event) throws ExecutionException { +// NodeEditorInput eei = null; +// Node entity = null; +// Session session = null; +// String jcrId = event.getParameter(PARAM_JCR_ID); +// try { +// session = repository.login(); +// if (jcrId != null) { +// entity = session.getNodeByIdentifier(jcrId); +// eei = new NodeEditorInput(jcrId); +// } else +// return null; +// +// String editorId = appWorkbenchService.getEntityEditorId(entity); +// if (editorId != null) { +// IWorkbenchWindow iww = HandlerUtil.getActiveWorkbenchWindow(event); +// IWorkbenchPage iwp = iww.getActivePage(); +// iwp.openEditor(eei, editorId); +// } +// } catch (PartInitException pie) { +// throw new SuiteException("Unexpected PartInitException while opening entity editor", pie); +// } catch (RepositoryException e) { +// throw new SuiteException("unexpected JCR error while opening editor", e); +// } finally { +// JcrUtils.logoutQuietly(session); +// } +// return null; +// } +// +// public void setRepository(Repository repository) { +// this.repository = repository; +// } +// +// public void setAppWorkbenchService(AppWorkbenchService appWorkbenchService) { +// this.appWorkbenchService = appWorkbenchService; +// } +//} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java index 48053da..5e7d4be 100644 --- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java @@ -15,7 +15,7 @@ import org.argeo.connect.people.PeopleService; import org.argeo.connect.resources.ResourcesService; import org.argeo.connect.ui.ConnectUiStyles; import org.argeo.connect.ui.workbench.AppWorkbenchService; -import org.argeo.connect.ui.workbench.parts.EntityEditorInput; +import org.argeo.connect.ui.workbench.util.EntityEditorInput; import org.argeo.connect.util.ConnectJcrUtils; import org.argeo.eclipse.ui.EclipseUiUtils; import org.argeo.jcr.JcrUtils; diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css b/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css index 0c902eb..059432a 100644 --- a/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css +++ b/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css @@ -313,7 +313,7 @@ Button[PUSH][FLAT].small_delete_btn{ /** Header **/ -.people_entity_header { +.entity_header { font: 14px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif; text-decoration: none; }