- // nodes viewer
- nodesViewer = new TreeViewer(top, SWT.MULTI | SWT.H_SCROLL
- | SWT.V_SCROLL);
- nodesViewer.getTree().setLayoutData(
- new GridData(SWT.FILL, SWT.FILL, true, true));
- nodesViewer.setContentProvider(new NodeContentProvider());
- nodesViewer.setLabelProvider(new NodeLabelProvider());
- nodesViewer
- .addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- if (!event.getSelection().isEmpty()) {
- IStructuredSelection sel = (IStructuredSelection) event
- .getSelection();
- propertiesViewer.setInput(sel.getFirstElement());
- } else {
- propertiesViewer.setInput(getViewSite());
- }
- }
- });
- nodesViewer.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- if (event.getSelection() == null
- || event.getSelection().isEmpty())
- return;
- Object obj = ((IStructuredSelection) event.getSelection())
- .getFirstElement();
- if (obj instanceof RepositoryNode) {
- ((RepositoryNode) obj).login();
- nodesViewer.refresh(obj);
- } else if (obj instanceof WorkspaceNode) {
- ((WorkspaceNode) obj).login();
- nodesViewer.refresh(obj);
- } // call the openFile commands on node
- else if (obj instanceof Node) {
- Node node = (Node) obj;
- try {
- if (node.isNodeType("nt:file")) {
-
- Node child = node.getNodes().nextNode();
- if (!child.isNodeType("nt:resource")) {
- Error.show("Cannot open file children Node that are not of 'nt:resource' type.");
- return;
- }
- BufferedInputStream fis = null;
-
- try {
- fis = (BufferedInputStream) child
- .getProperty("jcr:data").getBinary()
- .getStream();
-
- String name = node.getName();
-
- // Instantiate the generic object that fits for
- // both
- // RCP & RAP.
- FileHandler fh = new FileHandler();
- fh.openFile(name,
- fis);
- //fh.openFile(file);
- } catch (Exception e) {
- throw new ArgeoException(
- "Stream error while opening file", e);
- } finally {
- IOUtils.closeQuietly(fis);
- }
- }
- } catch (RepositoryException re) {
- re.printStackTrace();
-
- }
- }