import javax.jcr.observation.EventListener;
import javax.jcr.observation.ObservationManager;
+import org.argeo.cms.ui.jcr.DefaultRepositoryRegister;
+import org.argeo.cms.ui.jcr.JcrBrowserUtils;
+import org.argeo.cms.ui.jcr.JcrDClickListener;
+import org.argeo.cms.ui.jcr.NodeContentProvider;
+import org.argeo.cms.ui.jcr.NodeLabelProvider;
+import org.argeo.cms.ui.jcr.PropertiesContentProvider;
+import org.argeo.cms.ui.jcr.RepositoryRegister;
+import org.argeo.cms.ui.jcr.model.SingleJcrNodeElem;
import org.argeo.cms.ui.workbench.WorkbenchUiPlugin;
-import org.argeo.cms.ui.workbench.internal.jcr.JcrDClickListener;
-import org.argeo.cms.ui.workbench.internal.jcr.JcrBrowserUtils;
-import org.argeo.cms.ui.workbench.internal.jcr.NodeContentProvider;
-import org.argeo.cms.ui.workbench.internal.jcr.NodeLabelProvider;
-import org.argeo.cms.ui.workbench.internal.jcr.PropertiesContentProvider;
-import org.argeo.cms.ui.workbench.internal.jcr.model.SingleJcrNodeElem;
import org.argeo.eclipse.ui.EclipseUiException;
import org.argeo.eclipse.ui.TreeParent;
import org.argeo.eclipse.ui.jcr.AsyncUiEventListener;
import org.argeo.eclipse.ui.jcr.utils.NodeViewerComparer;
-import org.argeo.jcr.RepositoryRegister;
import org.argeo.node.security.Keyring;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.ColumnLabelProvider;
* repository environment
*/
public class JcrBrowserView extends ViewPart {
- public final static String ID = WorkbenchUiPlugin.PLUGIN_ID
- + ".jcrBrowserView";
+ public final static String ID = WorkbenchUiPlugin.PLUGIN_ID + ".jcrBrowserView";
private boolean sortChildNodes = true;
/* DEPENDENCY INJECTION */
private Keyring keyring;
- private RepositoryRegister repositoryRegister;
+ private RepositoryRegister repositoryRegister = new DefaultRepositoryRegister();
private RepositoryFactory repositoryFactory;
private Repository nodeRepository;
throw new EclipseUiException("Cannot open user session", e);
}
- nodeContentProvider = new NodeContentProvider(userSession, keyring,
- repositoryRegister, repositoryFactory, sortChildNodes);
+ nodeContentProvider = new NodeContentProvider(userSession, keyring, repositoryRegister, repositoryFactory,
+ sortChildNodes);
// nodes viewer
nodesViewer = createNodeViewer(top, nodeContentProvider);
return new int[] { 70, 30 };
}
- protected TreeViewer createNodeViewer(Composite parent,
- final ITreeContentProvider nodeContentProvider) {
+ protected TreeViewer createNodeViewer(Composite parent, final ITreeContentProvider nodeContentProvider) {
final TreeViewer tmpNodeViewer = new TreeViewer(parent, SWT.MULTI);
- tmpNodeViewer.getTree().setLayoutData(
- new GridData(SWT.FILL, SWT.FILL, true, true));
+ tmpNodeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
tmpNodeViewer.setContentProvider(nodeContentProvider);
tmpNodeViewer.setLabelProvider(new NodeLabelProvider());
- tmpNodeViewer
- .addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- if (!event.getSelection().isEmpty()) {
- IStructuredSelection sel = (IStructuredSelection) event
- .getSelection();
- Object firstItem = sel.getFirstElement();
- if (firstItem instanceof SingleJcrNodeElem)
- propertiesViewer
- .setInput(((SingleJcrNodeElem) firstItem)
- .getNode());
- } else {
- propertiesViewer.setInput(getViewSite());
- }
- }
- });
+ tmpNodeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+ public void selectionChanged(SelectionChangedEvent event) {
+ if (!event.getSelection().isEmpty()) {
+ IStructuredSelection sel = (IStructuredSelection) event.getSelection();
+ Object firstItem = sel.getFirstElement();
+ if (firstItem instanceof SingleJcrNodeElem)
+ propertiesViewer.setInput(((SingleJcrNodeElem) firstItem).getNode());
+ } else {
+ propertiesViewer.setInput(getViewSite());
+ }
+ }
+ });
resultsObserver = new TreeObserver(tmpNodeViewer.getTree().getDisplay());
if (keyring != null)
try {
- ObservationManager observationManager = userSession
- .getWorkspace().getObservationManager();
- observationManager.addEventListener(resultsObserver,
- Event.PROPERTY_ADDED | Event.PROPERTY_CHANGED, "/",
+ ObservationManager observationManager = userSession.getWorkspace().getObservationManager();
+ observationManager.addEventListener(resultsObserver, Event.PROPERTY_ADDED | Event.PROPERTY_CHANGED, "/",
true, null, null, false);
} catch (RepositoryException e) {
throw new EclipseUiException("Cannot register listeners", e);
}
- tmpNodeViewer
- .addDoubleClickListener(new JcrDClickListener(
- tmpNodeViewer));
+ tmpNodeViewer.addDoubleClickListener(new JcrDClickListener(tmpNodeViewer));
return tmpNodeViewer;
}
protected TableViewer createPropertiesViewer(Composite parent) {
propertiesViewer = new TableViewer(parent);
- propertiesViewer.getTable().setLayoutData(
- new GridData(SWT.FILL, SWT.FILL, true, true));
+ propertiesViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
propertiesViewer.getTable().setHeaderVisible(true);
propertiesViewer.setContentProvider(new PropertiesContentProvider());
- TableViewerColumn col = new TableViewerColumn(propertiesViewer,
- SWT.NONE);
+ TableViewerColumn col = new TableViewerColumn(propertiesViewer, SWT.NONE);
col.getColumn().setText("Name");
col.getColumn().setWidth(200);
col.setLabelProvider(new ColumnLabelProvider() {
try {
return ((Property) element).getName();
} catch (RepositoryException e) {
- throw new EclipseUiException(
- "Unexpected exception in label provider", e);
+ throw new EclipseUiException("Unexpected exception in label provider", e);
}
}
});
} else
return property.getValue().getString();
} catch (RepositoryException e) {
- throw new EclipseUiException(
- "Unexpected exception in label provider", e);
+ throw new EclipseUiException("Unexpected exception in label provider", e);
}
}
});
private static final long serialVersionUID = -6009599998150286070L;
public String getText(Object element) {
- try {
- return PropertyType.nameFromValue(((Property) element)
- .getType());
- } catch (RepositoryException e) {
- throw new EclipseUiException(
- "Unexpected exception in label provider", e);
- }
+ return JcrBrowserUtils.getPropertyTypeAsString((Property) element);
}
});
propertiesViewer.setInput(getViewSite());
* @param sortChildNodes
* if true the content provider will use a comparer to sort nodes
* that might slow down the display
- * */
+ */
public void setSortChildNodes(boolean sortChildNodes) {
this.sortChildNodes = sortChildNodes;
- ((NodeContentProvider) nodesViewer.getContentProvider())
- .setSortChildren(sortChildNodes);
+ ((NodeContentProvider) nodesViewer.getContentProvider()).setSortChildren(sortChildNodes);
nodesViewer.setInput(getViewSite());
}
IStructuredSelection newSel = new StructuredSelection(parentNode);
getNodeViewer().setSelection(newSel, true);
// Force refresh
- IStructuredSelection tmpSel = (IStructuredSelection) getNodeViewer()
- .getSelection();
+ IStructuredSelection tmpSel = (IStructuredSelection) getNodeViewer().getSelection();
getNodeViewer().refresh(tmpSel.getFirstElement());
}
}
@Override
- protected Boolean willProcessInUiThread(List<Event> events)
- throws RepositoryException {
+ protected Boolean willProcessInUiThread(List<Event> events) throws RepositoryException {
for (Event event : events) {
if (getLog().isTraceEnabled())
getLog().debug("Received event " + event);
return false;
}
- protected void onEventInUiThread(List<Event> events)
- throws RepositoryException {
+ protected void onEventInUiThread(List<Event> events) throws RepositoryException {
if (getLog().isTraceEnabled())
getLog().trace("Refresh result list");
nodesViewer.refresh();