log4j.logger.org.argeo.server.webextender.TomcatDeployer=WARN
log4j.logger.org.apache.catalina=INFO
+log4j.logger.org.apache.coyote=INFO
log4j.logger.org.apache.directory.server=ERROR
log4j.logger.org.apache.jackrabbit.core.query.lucene=ERROR
import javax.jcr.RepositoryException;
import javax.jcr.nodetype.NodeType;
-import org.argeo.eclipse.ui.dialogs.Error;
+import org.argeo.eclipse.ui.ErrorFeedback;
import org.argeo.eclipse.ui.dialogs.SingleValue;
import org.argeo.eclipse.ui.jcr.views.AbstractJcrBrowser;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
+/** Adds a node of type nt:folder */
public class AddFileFolder extends AbstractHandler {
public Object execute(ExecutionEvent event) throws ExecutionException {
view.nodeAdded(parentNode, newNode);
parentNode.getSession().save();
} catch (RepositoryException e) {
- Error.show("Cannot create folder " + folderName
+ ErrorFeedback.show("Cannot create folder " + folderName
+ " under " + parentNode, e);
}
}
} else {
- Error.show("Can only add file folder to a node");
+ ErrorFeedback.show("Can only add file folder to a node");
}
}
return null;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.argeo.ArgeoException;
-import org.argeo.eclipse.ui.dialogs.Error;
+import org.argeo.eclipse.ui.ErrorFeedback;
import org.argeo.eclipse.ui.jcr.views.AbstractJcrBrowser;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
/** Deletes the selected nodes */
public class DeleteNode extends AbstractHandler {
- private final static Log log = LogFactory.getLog(DeleteNode.class);
-
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event)
.getActivePage().getSelection();
if (ancestor != null)
view.nodeRemoved(ancestor);
} catch (Exception e) {
- Error.show("Cannot delete node " + obj, e);
+ ErrorFeedback.show("Cannot delete node " + obj, e);
}
}
return null;
public Object[] getElements(Object inputElement) {
if (inputElement instanceof List)
- return ((List) inputElement).toArray();
+ return ((List<?>) inputElement).toArray();
// Never reached might be deleted in future release
if (!(inputElement instanceof QueryResult))
public abstract void createPartControl(Composite parent);
/**
- * To be overidden to adapt size of form and result frames.
+ * To be overridden to adapt size of form and result frames.
*/
abstract protected int[] getWeights();
/**
- * To be overidden to provide an adapted size nodeViewer
+ * To be overridden to provide an adapted size nodeViewer
*/
abstract protected TreeViewer createNodeViewer(Composite parent,
ITreeContentProvider nodeContentProvider);
/**
- * To be overidden to retrieve the current nodeViewer
+ * To be overridden to retrieve the current nodeViewer
*/
abstract protected TreeViewer getNodeViewer();
package org.argeo.eclipse.ui;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-
-/** Generic error dialog to be used in try/catch blocks */
-public class Error extends TitleAreaDialog {
- private final static Log log = LogFactory.getLog(Error.class);
- private final String message;
- private final Throwable exception;
-
- public static void show(String message, Throwable e) {
- // rethrow ThreaDeath in order to make sure that RAP will properly clean
- // up the UI thread
- if (e instanceof ThreadDeath)
- throw (ThreadDeath) e;
-
- new Error(getDisplay().getActiveShell(), message, e).open();
- }
-
- public static void show(String message) {
- new Error(getDisplay().getActiveShell(), message, null).open();
- }
-
- /** Tries to find a display */
- private static Display getDisplay() {
- try {
- Display display = PlatformUI.getWorkbench().getDisplay();
- if (display != null)
- return display;
- else
- return Display.getDefault();
- } catch (Exception e) {
- return Display.getCurrent();
- }
- }
+/**
+ * @deprecated deprecated because of poor naming, use {@link ErrorFeedback}
+ * instead
+ */
+@Deprecated
+public class Error extends ErrorFeedback {
public Error(Shell parentShell, String message, Throwable e) {
- super(parentShell);
- this.message = message;
- this.exception = e;
- log.error(message, e);
- }
-
- protected Point getInitialSize() {
- if (exception != null)
- return new Point(800, 600);
- else
- return new Point(400, 300);
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite dialogarea = (Composite) super.createDialogArea(parent);
- dialogarea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- Composite composite = new Composite(dialogarea, SWT.NONE);
- composite.setLayout(new GridLayout(2, false));
- composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- setMessage(message != null ? message
- + (exception != null ? ": " + exception.getMessage() : "")
- : exception != null ? exception.getMessage() : "Unkown Error",
- IMessageProvider.ERROR);
-
- if (exception != null) {
- Text stack = new Text(composite, SWT.MULTI | SWT.LEAD | SWT.BORDER
- | SWT.V_SCROLL | SWT.H_SCROLL);
- stack.setEditable(false);
- stack.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- StringWriter sw = new StringWriter();
- exception.printStackTrace(new PrintWriter(sw));
- stack.setText(sw.toString());
- }
-
- parent.pack();
- return composite;
- }
-
- protected void configureShell(Shell shell) {
- super.configureShell(shell);
- shell.setText("Error");
+ super(parentShell, message, e);
+ // TODO Auto-generated constructor stub
}
}
--- /dev/null
+package org.argeo.eclipse.ui;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.PlatformUI;
+
+/** Generic error dialog to be used in try/catch blocks */
+public class ErrorFeedback extends TitleAreaDialog {
+ private final static Log log = LogFactory.getLog(ErrorFeedback.class);
+
+ private final String message;
+ private final Throwable exception;
+
+ public static void show(String message, Throwable e) {
+ // rethrow ThreaDeath in order to make sure that RAP will properly clean
+ // up the UI thread
+ if (e instanceof ThreadDeath)
+ throw (ThreadDeath) e;
+
+ new ErrorFeedback(getDisplay().getActiveShell(), message, e).open();
+ }
+
+ public static void show(String message) {
+ new ErrorFeedback(getDisplay().getActiveShell(), message, null).open();
+ }
+
+ /** Tries to find a display */
+ private static Display getDisplay() {
+ try {
+ Display display = PlatformUI.getWorkbench().getDisplay();
+ if (display != null)
+ return display;
+ else
+ return Display.getDefault();
+ } catch (Exception e) {
+ return Display.getCurrent();
+ }
+ }
+
+ public ErrorFeedback(Shell parentShell, String message, Throwable e) {
+ super(parentShell);
+ this.message = message;
+ this.exception = e;
+ log.error(message, e);
+ }
+
+ protected Point getInitialSize() {
+ if (exception != null)
+ return new Point(800, 600);
+ else
+ return new Point(400, 300);
+ }
+
+ @Override
+ protected Control createDialogArea(Composite parent) {
+ Composite dialogarea = (Composite) super.createDialogArea(parent);
+ dialogarea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ Composite composite = new Composite(dialogarea, SWT.NONE);
+ composite.setLayout(new GridLayout(2, false));
+ composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+
+ setMessage(message != null ? message
+ + (exception != null ? ": " + exception.getMessage() : "")
+ : exception != null ? exception.getMessage() : "Unkown Error",
+ IMessageProvider.ERROR);
+
+ if (exception != null) {
+ Text stack = new Text(composite, SWT.MULTI | SWT.LEAD | SWT.BORDER
+ | SWT.V_SCROLL | SWT.H_SCROLL);
+ stack.setEditable(false);
+ stack.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ StringWriter sw = new StringWriter();
+ exception.printStackTrace(new PrintWriter(sw));
+ stack.setText(sw.toString());
+ }
+
+ parent.pack();
+ return composite;
+ }
+
+ protected void configureShell(Shell shell) {
+ super.configureShell(shell);
+ shell.setText("Error");
+ }
+
+}
/**
* Generic error dialog to be used in try/catch blocks
*
- * @deprecated use {@link org.argeo.eclipse.ui.Error} instead.
+ * @deprecated use {@link org.argeo.eclipse.ui.ErrorFeedback} instead.
*/
-public class Error extends org.argeo.eclipse.ui.Error {
+public class Error extends org.argeo.eclipse.ui.ErrorFeedback {
public Error(Shell parentShell, String message, Throwable e) {
super(parentShell, message, e);
}
valueT = createLT(composite, label);
setMessage(message, IMessageProvider.NONE);
+
parent.pack();
return composite;
}
package org.argeo.security.ui.dialogs;
import org.argeo.ArgeoException;
-import org.argeo.eclipse.ui.Error;
+import org.argeo.eclipse.ui.ErrorFeedback;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.swt.SWT;
newPassword1.getText());
close();
} catch (Exception e) {
- Error.show("Cannot change password", e);
+ ErrorFeedback.show("Cannot change password", e);
}
}
org.argeo,
org.argeo.eclipse.spring,
org.argeo.eclipse.ui,
+ org.argeo.eclipse.ui.dialogs,
org.argeo.eclipse.ui.jcr,
org.argeo.eclipse.ui.jcr.commands,
org.argeo.eclipse.ui.jcr.editors,
scope="prototype">
</bean>
+ <bean id="addRemoteRepository"
+ class="org.argeo.jcr.ui.explorer.commands.AddRemoteRepository">
+ <property name="repositoryFactory" ref="repositoryFactory"/>
+ <property name="bundleContext" ref="bundleContext"/>
+ </bean>
+
<bean id="addFileFolder" class="org.argeo.eclipse.ui.jcr.commands.AddFileFolder"
scope="prototype" />
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"\r
osgi:default-timeout="30000">\r
\r
- <set id="repositories" interface="javax.jcr.Repository" cardinality="0..N">\r
+ <set id="repositories" interface="javax.jcr.Repository"\r
+ cardinality="0..N">\r
<listener ref="repositoryRegister" bind-method="register"\r
unbind-method="unregister" />\r
</set>\r
+\r
+ <reference id="repositoryFactory" interface="javax.jcr.RepositoryFactory" />\r
+\r
</beans:beans>
\ No newline at end of file
name="Node path">
</commandParameter>
</command>
+ <command
+ defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
+ id="org.argeo.jcr.ui.explorer.addRemoteRepository"
+ name="Add remote JCR repository">
+ <commandParameter
+ id="org.argeo.jcr.ui.explorer.repositoryUri"
+ name="Repository URI">
+ </commandParameter>
+ </command>
<command
defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
id="org.argeo.jcr.ui.explorer.addFileFolder"
style="push">
</command>
</menuContribution>
+ <menuContribution
+ locationURI="menu:org.argeo.jcr.ui.explorer.browserView">
+ <command
+ commandId="org.argeo.jcr.ui.explorer.addRemoteRepository"
+ icon="icons/add.gif"
+ style="push">
+ </command>
+ </menuContribution>
<menuContribution
locationURI="popup:org.argeo.jcr.ui.explorer.browserView">
<command
/** Constants used across the application. */
public interface JcrExplorerConstants {
+ public final static String PARAM_REPOSITORY_URI = "org.argeo.jcr.ui.explorer.repositoryUri";
/*
* MISCEALLENEOUS
*/
public final static String DATE_TIME_FORMAT = "dd/MM/yyyy, HH:mm";
+ public final static String PARAM_PATH = "org.argeo.jcr.ui.explorer.nodePath";
+
}
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
import org.argeo.ArgeoException;
import org.argeo.eclipse.ui.TreeParent;
private final Repository repository;
private Session defaultSession = null;
public final static Image REPOSITORY_DISCONNECTED = JcrUiPlugin
- .getImageDescriptor("icons/repository_disconnected.gif")
- .createImage();
+ .getImageDescriptor("icons/repository_disconnected.gif")
+ .createImage();
public final static Image REPOSITORY_CONNECTED = JcrUiPlugin
- .getImageDescriptor("icons/repository_connected.gif").createImage();
+ .getImageDescriptor("icons/repository_connected.gif").createImage();
public RepositoryNode(String name, Repository repository) {
super(name);
public void login() {
try {
+// SimpleCredentials sc = new SimpleCredentials("root",
+// "demo".toCharArray());
+// defaultSession = repository.login(sc);
defaultSession = repository.login();
String[] wkpNames = defaultSession.getWorkspace()
.getAccessibleWorkspaceNames();
package org.argeo.jcr.ui.explorer.browser;
+import javax.jcr.Node;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import javax.jcr.Workspace;
import javax.jcr.observation.EventIterator;
import javax.jcr.observation.EventListener;
import org.argeo.eclipse.ui.jcr.JcrUiPlugin;
import org.eclipse.swt.graphics.Image;
+/**
+ * Wraps a JCR {@link Workspace}, or more precisely a {@link Session} to it.
+ * Implicitly also the root node of this session.
+ */
public class WorkspaceNode extends TreeParent implements EventListener {
private final String name;
private final Repository repository;
private Session session = null;
public final static Image WORKSPACE_DISCONNECTED = JcrUiPlugin
- .getImageDescriptor("icons/workspace_disconnected.png")
- .createImage();
+ .getImageDescriptor("icons/workspace_disconnected.png")
+ .createImage();
public final static Image WORKSPACE_CONNECTED = JcrUiPlugin
- .getImageDescriptor("icons/workspace_connected.png").createImage();
+ .getImageDescriptor("icons/workspace_connected.png").createImage();
public WorkspaceNode(Repository repository, String name) {
- this(repository, name, null);
+ this(repository, name, null);
}
public WorkspaceNode(Repository repository, String name, Session session) {
return session;
}
+ public Node getRootNode() {
+ try {
+ if (session != null)
+ return session.getRootNode();
+ else
+ return null;
+ } catch (RepositoryException e) {
+ throw new ArgeoException("Cannot get root node of workspace "
+ + name, e);
+ }
+ }
+
public void login() {
try {
logout();
--- /dev/null
+package org.argeo.jcr.ui.explorer.commands;
+
+import java.util.Hashtable;
+import java.util.Map;
+
+import javax.jcr.Repository;
+import javax.jcr.RepositoryFactory;
+
+import org.argeo.eclipse.ui.ErrorFeedback;
+import org.argeo.eclipse.ui.dialogs.SingleValue;
+import org.argeo.jcr.ArgeoJcrConstants;
+import org.argeo.jcr.ui.explorer.JcrExplorerConstants;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.osgi.framework.BundleContext;
+
+/**
+ * Connect to a remote repository and, if usccessful publish it as an OSGi
+ * service.
+ */
+public class AddRemoteRepository extends AbstractHandler implements
+ JcrExplorerConstants {
+
+ private RepositoryFactory repositoryFactory;
+ private BundleContext bundleContext;
+
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ String uri;
+ if (event.getParameters().containsKey(PARAM_REPOSITORY_URI))
+ uri = event.getParameter(PARAM_REPOSITORY_URI);
+ else
+ uri = SingleValue
+ .ask("URI",
+ "Remote repository URI"
+ + " (e.g. http://localhost:7070/org.argeo.jcr.webapp/remoting/node)");
+
+ if (uri == null)
+ return null;
+
+ try {
+ Hashtable<String, String> params = new Hashtable<String, String>();
+ params.put(ArgeoJcrConstants.JCR_REPOSITORY_URI, uri);
+ // by default we use the URI as alias
+ params.put(ArgeoJcrConstants.JCR_REPOSITORY_ALIAS, uri);
+ Repository repository = repositoryFactory.getRepository(params);
+ bundleContext.registerService(Repository.class.getName(),
+ repository, params);
+ } catch (Exception e) {
+ ErrorFeedback.show("Cannot add remote repository " + uri, e);
+ }
+ return null;
+ }
+
+ public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
+ this.repositoryFactory = repositoryFactory;
+ }
+
+ public void setBundleContext(BundleContext bundleContext) {
+ this.bundleContext = bundleContext;
+ }
+
+}
import javax.jcr.Property;
import javax.jcr.nodetype.NodeType;
-import org.argeo.eclipse.ui.dialogs.Error;
+import org.argeo.eclipse.ui.ErrorFeedback;
import org.argeo.eclipse.ui.jcr.editors.NodeEditorInput;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
HandlerUtil.getActiveWorkbenchWindow(event).getActivePage()
.openEditor(nei, editorId);
} catch (PartInitException e) {
- Error.show("Cannot open " + editorId + " with " + path
+ ErrorFeedback.show("Cannot open " + editorId + " with " + path
+ " of type " + type, e);
}
// TODO Auto-generated method stub
import javax.jcr.Node;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.eclipse.ui.dialogs.Error;
+import org.argeo.eclipse.ui.ErrorFeedback;
import org.argeo.eclipse.ui.jcr.views.AbstractJcrBrowser;
import org.argeo.jcr.ui.explorer.wizards.ImportFileSystemWizard;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.ui.handlers.HandlerUtil;
+/** Import a local file system directory tree. */
public class ImportFileSystem extends AbstractHandler {
- private static Log log = LogFactory.getLog(ImportFileSystem.class);
-
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event)
.getActivePage().getSelection();
try {
if (obj instanceof Node) {
Node folder = (Node) obj;
- // if (!folder.getPrimaryNodeType().getName()
- // .equals(NodeType.NT_FOLDER)) {
- // Error.show("Can only import to a folder node");
- // return null;
- // }
ImportFileSystemWizard wizard = new ImportFileSystemWizard(
folder);
WizardDialog dialog = new WizardDialog(
dialog.open();
view.refresh(folder);
} else {
- Error.show("Can only import to a node");
+ ErrorFeedback.show("Can only import to a node");
}
} catch (Exception e) {
- Error.show("Cannot import files to " + obj, e);
+ ErrorFeedback.show("Cannot import files to " + obj, e);
}
}
return null;
package org.argeo.jcr.ui.explorer.commands;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.argeo.ArgeoException;
import org.argeo.eclipse.ui.jcr.editors.NodeEditorInput;
+import org.argeo.jcr.ui.explorer.JcrExplorerConstants;
import org.argeo.jcr.ui.explorer.editors.GenericNodeEditor;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.handlers.HandlerUtil;
+/** Opens the generic node editor. */
public class OpenGenericNodeEditor extends AbstractHandler {
- private final static Log log = LogFactory
- .getLog(OpenGenericNodeEditor.class);
public final static String ID = "org.argeo.jcr.ui.explorer.openGenericNodeEditor";
- public final static String PARAM_PATH = "org.argeo.jcr.ui.explorer.nodePath";
public Object execute(ExecutionEvent event) throws ExecutionException {
- String path = event.getParameter(PARAM_PATH);
+ String path = event.getParameter(JcrExplorerConstants.PARAM_PATH);
try {
NodeEditorInput nei = new NodeEditorInput(path);
HandlerUtil.getActiveWorkbenchWindow(event).getActivePage()
if (repository != null)
return repository;
- if (parameters.containsKey(JCR_REPOSITORY_URI)) {
- String uri = parameters.get(JCR_REPOSITORY_URI).toString();
- Map<String, String> params = new HashMap<String, String>();
-
- params.put(JcrUtils.REPOSITORY_URI, uri);
- repository = new Jcr2davRepositoryFactory().getRepository(params);
- if (repository == null)
- throw new ArgeoException("Remote Davex repository " + uri
- + " not found");
- log.info("Initialized remote Jackrabbit repository " + repository
- + " from uri " + uri);
-
- }
+ String uri;
+ if (parameters.containsKey(JCR_REPOSITORY_URI))
+ uri = parameters.get(JCR_REPOSITORY_URI).toString();
+ else if (parameters.containsKey(JcrUtils.REPOSITORY_URI))
+ uri = parameters.get(JcrUtils.REPOSITORY_URI).toString();
+ else
+ return null;
+
+ Map<String, String> params = new HashMap<String, String>();
+ params.put(JcrUtils.REPOSITORY_URI, uri);
+ repository = new Jcr2davRepositoryFactory().getRepository(params);
+ if (repository == null)
+ throw new ArgeoException("Remote Davex repository " + uri
+ + " not found");
+ log.info("Initialized remote Jackrabbit repository " + repository
+ + " from uri " + uri);
return repository;
}
-
}
import org.apache.commons.logging.LogFactory;
public class DefaultRepositoryRegister extends Observable implements
- RepositoryRegister {
+ RepositoryRegister, ArgeoJcrConstants {
private final static Log log = LogFactory
.getLog(DefaultRepositoryRegister.class);
@SuppressWarnings("rawtypes")
public synchronized Repository getRepository(Map parameters)
throws RepositoryException {
- if (!parameters.containsKey(ArgeoJcrConstants.JCR_REPOSITORY_ALIAS))
- throw new RepositoryException("Parameter " + ArgeoJcrConstants.JCR_REPOSITORY_ALIAS
+ if (!parameters.containsKey(JCR_REPOSITORY_ALIAS))
+ throw new RepositoryException("Parameter " + JCR_REPOSITORY_ALIAS
+ " has to be defined.");
- String alias = parameters.get(ArgeoJcrConstants.JCR_REPOSITORY_ALIAS).toString();
+ String alias = parameters.get(JCR_REPOSITORY_ALIAS).toString();
if (!repositories.containsKey(alias))
throw new RepositoryException(
"No repository registered with alias " + alias);
@SuppressWarnings("rawtypes")
public synchronized void register(Repository repository, Map properties) {
// TODO: also check bean name?
- if (properties == null || !properties.containsKey(ArgeoJcrConstants.JCR_REPOSITORY_ALIAS)) {
- log.warn("Cannot register a repository without property "
- + ArgeoJcrConstants.JCR_REPOSITORY_ALIAS);
+ String alias;
+ if (properties == null || !properties.containsKey(JCR_REPOSITORY_ALIAS)) {
+ log.warn("Cannot register a repository if no "
+ + JCR_REPOSITORY_ALIAS + " property is speecified.");
return;
}
-
- String alias = properties.get(ArgeoJcrConstants.JCR_REPOSITORY_ALIAS).toString();
+ alias = properties.get(JCR_REPOSITORY_ALIAS).toString();
Map<String, Repository> map = new TreeMap<String, Repository>(
repositories);
map.put(alias, repository);
@SuppressWarnings("rawtypes")
public synchronized void unregister(Repository repository, Map properties) {
// TODO: also check bean name?
- if (properties == null || !properties.containsKey(ArgeoJcrConstants.JCR_REPOSITORY_ALIAS)) {
+ if (properties == null || !properties.containsKey(JCR_REPOSITORY_ALIAS)) {
log.warn("Cannot unregister a repository without property "
- + ArgeoJcrConstants.JCR_REPOSITORY_ALIAS);
+ + JCR_REPOSITORY_ALIAS);
return;
}
- String alias = properties.get(ArgeoJcrConstants.JCR_REPOSITORY_ALIAS).toString();
+ String alias = properties.get(JCR_REPOSITORY_ALIAS).toString();
Map<String, Repository> map = new TreeMap<String, Repository>(
repositories);
map.put(alias, repository);