From ada93169e85b906c38407f02514edde1dc193503 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 4 Sep 2011 21:05:30 +0000 Subject: [PATCH] Improve RCP git-svn-id: https://svn.argeo.org/commons/trunk@4714 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- demo/argeo_node_rcp.properties | 15 +++++++ demo/argeo_node_web.properties | 4 -- demo/log4j.properties | 12 +---- .../ui/jcr/browser/NodeContentProvider.java | 16 ++++--- .../osgi/ui/explorer/views/BundlesView.java | 3 +- .../META-INF/spring/application-osgi.xml | 16 ------- .../META-INF/spring/application.xml | 10 ----- .../org.argeo.security.ui.rcp/plugin.xml | 2 +- .../ui/rcp/AbstractSecureApplication.java | 10 ++--- .../noderepo.properties | 4 +- .../argeo/jackrabbit/JackrabbitContainer.java | 44 +++++++------------ 11 files changed, 54 insertions(+), 82 deletions(-) create mode 100644 demo/argeo_node_rcp.properties delete mode 100644 security/plugins/org.argeo.security.ui.rcp/META-INF/spring/application-osgi.xml delete mode 100644 security/plugins/org.argeo.security.ui.rcp/META-INF/spring/application.xml diff --git a/demo/argeo_node_rcp.properties b/demo/argeo_node_rcp.properties new file mode 100644 index 000000000..cc86fd5ba --- /dev/null +++ b/demo/argeo_node_rcp.properties @@ -0,0 +1,15 @@ +argeo.osgi.start=\ +org.springframework.osgi.extender,\ +org.argeo.node.repofactory.jackrabbit,\ +org.argeo.node.repo.jackrabbit,\ +org.argeo.security.dao.jackrabbit,\ +org.argeo.security.services,\ +org.argeo.security.equinox,\ + +org.argeo.security.ui.initialPerspective=org.argeo.osgi.ui.explorer.perspective + +#argeo.node.repo.uri=http://localhost:7070/org.argeo.jcr.webapp/remoting/node + +log4j.configuration=file:../../log4j.properties + +eclipse.application=org.argeo.security.ui.rcp.secureUi diff --git a/demo/argeo_node_web.properties b/demo/argeo_node_web.properties index e602fa8a0..5e544fd52 100644 --- a/demo/argeo_node_web.properties +++ b/demo/argeo_node_web.properties @@ -15,10 +15,6 @@ org.argeo.server.rap.webapp,\ org.argeo.server.ads.server,\ org.springframework.osgi.web.extender,\ -#org.argeo.security.ui.initialPerspective=org.argeo.jcr.ui.explorer.perspective org.argeo.security.ui.initialPerspective=org.argeo.osgi.ui.explorer.perspective -argeo.node.repo.home=~/.argeo/server_noderepo -argeo.node.repo.dburl=jdbc:h2:file:~/.argeo/h2/server_noderepo_db - log4j.configuration=file:../../log4j.properties diff --git a/demo/log4j.properties b/demo/log4j.properties index 65ac43da1..c4fba851e 100644 --- a/demo/log4j.properties +++ b/demo/log4j.properties @@ -3,18 +3,10 @@ log4j.rootLogger=WARN, development ## Levels log4j.logger.org.argeo=DEBUG log4j.logger.org.argeo.jackrabbit.remote.ExtendedDispatcherServlet=WARN - -log4j.logger.org.springframework.security=DEBUG +log4j.logger.org.argeo.server.webextender.TomcatDeployer=WARN log4j.logger.org.apache.catalina=INFO -log4j.logger.org.apache.coyote=INFO -log4j.logger.org.apache.tomcat=INFO - -log4j.logger.org.apache.directory.server=INFO -log4j.logger.org.apache.directory.server.core.partition=ERROR -log4j.logger.org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry=ERROR - -log4j.logger.org.apache.jackrabbit=WARN +log4j.logger.org.apache.directory.server=ERROR log4j.logger.org.apache.jackrabbit.core.query.lucene=ERROR ## Appenders diff --git a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeContentProvider.java b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeContentProvider.java index 3e5bc1d8d..bab3c95b0 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeContentProvider.java +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeContentProvider.java @@ -29,11 +29,17 @@ public class NodeContentProvider implements ITreeContentProvider { this.repositoryRegister = repositoryRegister; } - /** Sends back the first level of the Tree. Independent from inputElement that can be null*/ + /** + * Sends back the first level of the Tree. Independent from inputElement + * that can be null + */ public Object[] getElements(Object inputElement) { List objs = new ArrayList(); - if (userSession != null) - objs.add(JcrUtils.getUserHome(userSession)); + if (userSession != null) { + Node userHome = JcrUtils.getUserHome(userSession); + if (userHome != null) + objs.add(userHome); + } if (repositoryRegister != null) objs.add(repositoryRegister); return objs.toArray(); @@ -73,8 +79,8 @@ public class NodeContentProvider implements ITreeContentProvider { try { if (element instanceof Node) { Node node = (Node) element; - if(!node.getPath().equals("/")) - return node.getParent(); + if (!node.getPath().equals("/")) + return node.getParent(); else return null; } diff --git a/osgi/plugins/org.argeo.osgi.ui.explorer/src/main/java/org/argeo/osgi/ui/explorer/views/BundlesView.java b/osgi/plugins/org.argeo.osgi.ui.explorer/src/main/java/org/argeo/osgi/ui/explorer/views/BundlesView.java index dd0dd1e29..19e463dee 100644 --- a/osgi/plugins/org.argeo.osgi.ui.explorer/src/main/java/org/argeo/osgi/ui/explorer/views/BundlesView.java +++ b/osgi/plugins/org.argeo.osgi.ui.explorer/src/main/java/org/argeo/osgi/ui/explorer/views/BundlesView.java @@ -14,7 +14,6 @@ import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Table; import org.eclipse.ui.part.ViewPart; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; @@ -60,7 +59,7 @@ public class BundlesView extends ViewPart { // State column = new TableViewerColumn(viewer, SWT.NONE); - column.getColumn().setWidth(16); + column.getColumn().setWidth(18); column.getColumn().setText("State"); column.setLabelProvider(new StateLabelProvider()); new ColumnViewerComparator(column, new Comparator() { diff --git a/security/plugins/org.argeo.security.ui.rcp/META-INF/spring/application-osgi.xml b/security/plugins/org.argeo.security.ui.rcp/META-INF/spring/application-osgi.xml deleted file mode 100644 index d50070b2a..000000000 --- a/security/plugins/org.argeo.security.ui.rcp/META-INF/spring/application-osgi.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/security/plugins/org.argeo.security.ui.rcp/META-INF/spring/application.xml b/security/plugins/org.argeo.security.ui.rcp/META-INF/spring/application.xml deleted file mode 100644 index dbf3680f5..000000000 --- a/security/plugins/org.argeo.security.ui.rcp/META-INF/spring/application.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/security/plugins/org.argeo.security.ui.rcp/plugin.xml b/security/plugins/org.argeo.security.ui.rcp/plugin.xml index 6a79da510..39b8c848c 100644 --- a/security/plugins/org.argeo.security.ui.rcp/plugin.xml +++ b/security/plugins/org.argeo.security.ui.rcp/plugin.xml @@ -27,7 +27,7 @@ thread="main" visible="true"> + class="org.argeo.security.ui.rcp.SecureRcp"> diff --git a/security/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/AbstractSecureApplication.java b/security/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/AbstractSecureApplication.java index 26795f274..7487567a8 100644 --- a/security/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/AbstractSecureApplication.java +++ b/security/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/AbstractSecureApplication.java @@ -29,11 +29,11 @@ public abstract class AbstractSecureApplication implements IApplication { public Object start(IApplicationContext context) throws Exception { // wait for the system to be initialized - try { - Thread.sleep(3000); - } catch (Exception e2) { - // silent - } +// try { +// Thread.sleep(3000); +// } catch (Exception e2) { +// // silent +// } // choose login context final ILoginContext loginContext; diff --git a/server/modules/org.argeo.node.repo.jackrabbit/noderepo.properties b/server/modules/org.argeo.node.repo.jackrabbit/noderepo.properties index d817e1454..a6c5b4bdc 100644 --- a/server/modules/org.argeo.node.repo.jackrabbit/noderepo.properties +++ b/server/modules/org.argeo.node.repo.jackrabbit/noderepo.properties @@ -2,11 +2,11 @@ argeo.node.repo.workspace=dev # Repository base directory -argeo.node.repo.home=${osgi.instance.area}/org/argeo/jackrabbit/node/repo +argeo.node.repo.home=${osgi.instance.area}/node/repo ## H2 Embedded (DEFAULT) argeo.node.repo.configuration=osgibundle:repository-h2.xml -argeo.node.repo.dburl=jdbc:h2:${osgi.instance.area}/org/argeo/jackrabbit/node/h2 +argeo.node.repo.dburl=jdbc:h2:${osgi.instance.area}/node/h2/repo argeo.node.repo.dbuser=sa argeo.node.repo.dbpassword= diff --git a/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/JackrabbitContainer.java b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/JackrabbitContainer.java index d9cf424e6..3b83941cf 100644 --- a/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/JackrabbitContainer.java +++ b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/JackrabbitContainer.java @@ -115,6 +115,7 @@ public class JackrabbitContainer implements Repository, ResourceLoaderAware { /** Actually creates a new repository. */ protected void createJackrabbitRepository() { + long begin = System.currentTimeMillis(); try { // remote repository if (uri != null && !uri.trim().equals("")) { @@ -122,7 +123,7 @@ public class JackrabbitContainer implements Repository, ResourceLoaderAware { params.put( org.apache.jackrabbit.commons.JcrUtils.REPOSITORY_URI, uri); - repository = (JackrabbitRepository) new Jcr2davRepositoryFactory() + repository = new Jcr2davRepositoryFactory() .getRepository(params); if (repository == null) throw new ArgeoException("Remote Davex repository " + uri @@ -161,8 +162,10 @@ public class JackrabbitContainer implements Repository, ResourceLoaderAware { else repository = RepositoryImpl.create(repositoryConfig); - log.info("Initialized Jackrabbit repository " + repository + " in " - + getHomeDirectory() + " with config " + configuration); + double duration = ((double) (System.currentTimeMillis() - begin)) / 1000; + log.info("Initialized Jackrabbit repository in " + duration + + " s, home: " + getHomeDirectory() + ", config: " + + configuration); } catch (Exception e) { throw new ArgeoException("Cannot create Jackrabbit repository " + getHomeDirectory(), e); @@ -232,31 +235,16 @@ public class JackrabbitContainer implements Repository, ResourceLoaderAware { /** Lazy init. */ protected File getHomeDirectory() { - return homeDirectory; - // if (home != null) - // return home; - // - // try { - // String osgiData = System.getProperty("osgi.instance.area"); - // if (osgiData != null) - // osgiData = osgiData.substring("file:".length()); - // String path; - // if (homeDirectory == null) - // path = "./jackrabbit"; - // else - // path = homeDirectory; - // if (path.startsWith(".") && osgiData != null) { - // home = new File(osgiData + '/' + path).getCanonicalFile(); - // } else - // home = new File(path).getCanonicalFile(); - // return home; - // } catch (Exception e) { - // throw new ArgeoException("Cannot define Jackrabbit home based on " - // + homeDirectory, e); - // } + try { + return homeDirectory.getCanonicalFile(); + } catch (IOException e) { + throw new ArgeoException("Cannot get canonical file for " + + homeDirectory, e); + } } public void dispose() throws Exception { + long begin = System.currentTimeMillis(); if (repository != null) { if (repository instanceof JackrabbitRepository) ((JackrabbitRepository) repository).shutdown(); @@ -274,11 +262,13 @@ public class JackrabbitContainer implements Repository, ResourceLoaderAware { + getHomeDirectory()); } + double duration = ((double) (System.currentTimeMillis() - begin)) / 1000; if (uri != null && !uri.trim().equals("")) log.info("Destroyed Jackrabbit repository with uri " + uri); else - log.info("Destroyed Jackrabbit repository " + repository + " in " - + getHomeDirectory() + " with config " + configuration); + log.info("Destroyed Jackrabbit repository in " + duration + + " s, home: " + getHomeDirectory() + ", config " + + configuration); } /** -- 2.30.2