You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2011/04/25 21:17:32 UTC
svn commit: r1096566 - in
/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main:
java/org/apache/chemistry/opencmis/workbench/
java/org/apache/chemistry/opencmis/workbench/details/
java/org/apache/chemistry/opencm...
Author: fmui
Date: Mon Apr 25 19:17:31 2011
New Revision: 1096566
URL: http://svn.apache.org/viewvc?rev=1096566&view=rev
Log:
CMIS Workbench: added clickable ids
Added:
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/IdRenderer.java (with props)
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/ClientHelper.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/AbstractDetailsTable.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/ObjectPanel.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/PolicyTable.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/RelationshipTable.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/VersionTable.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/model/ClientModel.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CollectionRenderer.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/scripts/CMIS.groovy
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/ClientHelper.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/ClientHelper.java?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/ClientHelper.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/ClientHelper.java Mon Apr 25 19:17:31 2011
@@ -18,6 +18,7 @@
*/
package org.apache.chemistry.opencmis.workbench;
+import java.awt.Color;
import java.awt.Component;
import java.awt.Desktop;
import java.io.BufferedOutputStream;
@@ -57,6 +58,9 @@ import org.apache.commons.logging.LogFac
public class ClientHelper {
+ public static final Color LINK_COLOR = new Color(105, 29, 21);
+ public static final Color LINK_SELECTED_COLOR = new Color(255, 255, 255);
+
private static final Log log = LogFactory.getLog(ClientHelper.class);
private static final int BUFFER_SIZE = 64 * 1024;
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/AbstractDetailsTable.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/AbstractDetailsTable.java?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/AbstractDetailsTable.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/AbstractDetailsTable.java Mon Apr 25 19:17:31 2011
@@ -18,6 +18,7 @@
*/
package org.apache.chemistry.opencmis.workbench.details;
+import java.awt.Cursor;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
@@ -26,24 +27,32 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
import java.util.Collection;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
+import javax.swing.JTabbedPane;
import javax.swing.JTable;
+import javax.swing.SwingUtilities;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;
import org.apache.chemistry.opencmis.client.api.CmisObject;
+import org.apache.chemistry.opencmis.client.api.ObjectId;
import org.apache.chemistry.opencmis.workbench.model.ClientModel;
import org.apache.chemistry.opencmis.workbench.model.ClientModelEvent;
import org.apache.chemistry.opencmis.workbench.model.ObjectListener;
import org.apache.chemistry.opencmis.workbench.swing.CollectionRenderer;
+import org.apache.chemistry.opencmis.workbench.swing.IdRenderer;
public abstract class AbstractDetailsTable extends JTable implements ObjectListener {
private static final long serialVersionUID = 1L;
+ private static final Cursor HAND_CURSOR = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
+ private static final Cursor DEFAULT_CURSOR = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
+
private ClientModel model;
private String[] columnNames;
@@ -56,6 +65,7 @@ public abstract class AbstractDetailsTab
setModel(new DetailsTableModel(this));
setDefaultRenderer(Collection.class, new CollectionRenderer());
+ setDefaultRenderer(ObjectId.class, new IdRenderer());
setAutoResizeMode(AUTO_RESIZE_OFF);
setAutoCreateRowSorter(true);
@@ -97,10 +107,15 @@ public abstract class AbstractDetailsTab
}
public void mouseClicked(MouseEvent e) {
- if (e.getClickCount() == 2) {
- int row = getSelectedRow();
- if ((row > -1) && (row < getModel().getRowCount())) {
- doubleClickAction(e, row);
+ if (SwingUtilities.isLeftMouseButton(e)) {
+ int row = rowAtPoint(e.getPoint());
+ int column = columnAtPoint(e.getPoint());
+ if (row > -1 && column > -1) {
+ if (e.getClickCount() == 1) {
+ singleClickAction(e, row, column);
+ } else if (e.getClickCount() == 2) {
+ doubleClickAction(e, row);
+ }
}
}
}
@@ -119,6 +134,22 @@ public abstract class AbstractDetailsTab
}
}
});
+
+ addMouseMotionListener(new MouseMotionListener() {
+ public void mouseMoved(MouseEvent e) {
+ int row = rowAtPoint(e.getPoint());
+ int column = columnAtPoint(e.getPoint());
+ if (row > -1 && getDetailColumClass(column) == ObjectId.class) {
+ setCursor(HAND_CURSOR);
+ } else {
+ setCursor(DEFAULT_CURSOR);
+ }
+
+ }
+
+ public void mouseDragged(MouseEvent e) {
+ }
+ });
}
public void objectLoaded(ClientModelEvent event) {
@@ -145,9 +176,16 @@ public abstract class AbstractDetailsTab
return String.class;
}
+ public void singleClickAction(MouseEvent e, int rowIndex, int colIndex) {
+ }
+
public void doubleClickAction(MouseEvent e, int rowIndex) {
}
+ public void setTab(int tab) {
+ ((JTabbedPane) getParent().getParent().getParent()).setSelectedIndex(tab);
+ }
+
static class DetailsTableModel extends AbstractTableModel {
private final AbstractDetailsTable table;
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/ObjectPanel.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/ObjectPanel.java?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/ObjectPanel.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/ObjectPanel.java Mon Apr 25 19:17:31 2011
@@ -29,6 +29,7 @@ import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import org.apache.chemistry.opencmis.client.api.CmisObject;
+import org.apache.chemistry.opencmis.client.api.Document;
import org.apache.chemistry.opencmis.client.api.FileableCmisObject;
import org.apache.chemistry.opencmis.client.api.Folder;
import org.apache.chemistry.opencmis.client.api.Session;
@@ -49,6 +50,7 @@ public class ObjectPanel extends InfoPan
private JTextField idField;
private JTextField typeField;
private JTextField basetypeField;
+ private JTextField versionLabelField;
private JTextField contentUrlField;
private InfoList paths;
private InfoList allowableActionsList;
@@ -71,6 +73,7 @@ public class ObjectPanel extends InfoPan
idField.setText("");
typeField.setText("");
basetypeField.setText("");
+ versionLabelField.setText("");
paths.removeAll();
contentUrlField.setText("");
allowableActionsList.removeAll();
@@ -81,6 +84,15 @@ public class ObjectPanel extends InfoPan
idField.setText(object.getId());
typeField.setText(object.getType().getId());
basetypeField.setText(object.getBaseTypeId().toString());
+ if (object instanceof Document) {
+ try {
+ versionLabelField.setText(((Document) object).getVersionLabel());
+ } catch (Exception e) {
+ versionLabelField.setText("???");
+ }
+ } else {
+ versionLabelField.setText("");
+ }
if (object instanceof FileableCmisObject) {
if (object instanceof Folder) {
@@ -139,6 +151,7 @@ public class ObjectPanel extends InfoPan
idField = addLine("Id:");
typeField = addLine("Type:");
basetypeField = addLine("Base Type:");
+ versionLabelField = addLine("Version Label:");
paths = addComponent("Paths:", new InfoList());
contentUrlField = addLink("Content URL:");
allowableActionsList = addComponent("Allowable Actions:", new InfoList());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/PolicyTable.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/PolicyTable.java?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/PolicyTable.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/PolicyTable.java Mon Apr 25 19:17:31 2011
@@ -18,39 +18,66 @@
*/
package org.apache.chemistry.opencmis.workbench.details;
+import java.awt.event.MouseEvent;
+
+import org.apache.chemistry.opencmis.client.api.ObjectId;
import org.apache.chemistry.opencmis.client.api.Policy;
+import org.apache.chemistry.opencmis.workbench.ClientHelper;
import org.apache.chemistry.opencmis.workbench.model.ClientModel;
public class PolicyTable extends AbstractDetailsTable {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- private static final String[] COLUMN_NAMES = { "Name", "Id" };
- private static final int[] COLUMN_WIDTHS = { 200, 400 };
+ private static final String[] COLUMN_NAMES = { "Name", "Id" };
+ private static final int[] COLUMN_WIDTHS = { 200, 400 };
- public PolicyTable(ClientModel model) {
- super();
- init(model, COLUMN_NAMES, COLUMN_WIDTHS);
- }
-
- public int getDetailRowCount() {
- if (getObject().getPolicies() == null) {
- return 0;
- }
-
- return getObject().getPolicies().size();
- }
-
- public Object getDetailValueAt(int rowIndex, int columnIndex) {
- Policy policy = getObject().getPolicies().get(rowIndex);
-
- switch (columnIndex) {
- case 0:
- return policy.getName();
- case 1:
- return policy.getId();
- }
+ public PolicyTable(ClientModel model) {
+ super();
+ init(model, COLUMN_NAMES, COLUMN_WIDTHS);
+ }
+
+ @Override
+ public void singleClickAction(MouseEvent e, int rowIndex, int colIndex) {
+ if (colIndex != 1) {
+ return;
+ }
+
+ try {
+ getClientModel().loadObject(getObject().getPolicies().get(rowIndex).getId());
+ setTab(0);
+ } catch (Exception ex) {
+ ClientHelper.showError(this, ex);
+ }
+ }
+
+ public int getDetailRowCount() {
+ if (getObject().getPolicies() == null) {
+ return 0;
+ }
+
+ return getObject().getPolicies().size();
+ }
+
+ public Object getDetailValueAt(int rowIndex, int columnIndex) {
+ Policy policy = getObject().getPolicies().get(rowIndex);
+
+ switch (columnIndex) {
+ case 0:
+ return policy.getName();
+ case 1:
+ return policy;
+ }
+
+ return null;
+ }
+
+ @Override
+ public Class<?> getDetailColumClass(int columnIndex) {
+ if (columnIndex == 1) {
+ return ObjectId.class;
+ }
- return null;
- }
+ return super.getDetailColumClass(columnIndex);
+ }
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/RelationshipTable.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/RelationshipTable.java?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/RelationshipTable.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/RelationshipTable.java Mon Apr 25 19:17:31 2011
@@ -18,15 +18,19 @@
*/
package org.apache.chemistry.opencmis.workbench.details;
+import java.awt.event.MouseEvent;
+
+import org.apache.chemistry.opencmis.client.api.ObjectId;
import org.apache.chemistry.opencmis.client.api.Relationship;
+import org.apache.chemistry.opencmis.workbench.ClientHelper;
import org.apache.chemistry.opencmis.workbench.model.ClientModel;
public class RelationshipTable extends AbstractDetailsTable {
private static final long serialVersionUID = 1L;
- private static final String[] COLUMN_NAMES = { "Name", "Type", "Source", "Target" };
- private static final int[] COLUMN_WIDTHS = { 200, 200, 200, 200 };
+ private static final String[] COLUMN_NAMES = { "Name", "Type", "Relationship Id", "Source", "Target" };
+ private static final int[] COLUMN_WIDTHS = { 200, 200, 200, 200, 200 };
public RelationshipTable(ClientModel model) {
super();
@@ -34,6 +38,31 @@ public class RelationshipTable extends A
}
@Override
+ public void singleClickAction(MouseEvent e, int rowIndex, int colIndex) {
+ Relationship relationship = getObject().getRelationships().get(rowIndex);
+ ObjectId id = null;
+
+ if (colIndex == 2) {
+ id = relationship;
+ } else if (colIndex == 3) {
+ id = relationship.getSourceId();
+ } else if (colIndex == 4) {
+ id = relationship.getTargetId();
+ }
+
+ if ((id == null) || (id.getId() == null)) {
+ return;
+ }
+
+ try {
+ getClientModel().loadObject(id.getId());
+ setTab(0);
+ } catch (Exception ex) {
+ ClientHelper.showError(this, ex);
+ }
+ }
+
+ @Override
public int getDetailRowCount() {
if (getObject().getRelationships() == null) {
return 0;
@@ -52,11 +81,22 @@ public class RelationshipTable extends A
case 1:
return relationship.getType().getId();
case 2:
- return (relationship.getSourceId() == null ? "?" : relationship.getSourceId().getId());
+ return relationship;
case 3:
- return (relationship.getTarget() == null ? "?" : relationship.getTarget().getId());
+ return relationship.getSourceId();
+ case 4:
+ return relationship.getTarget();
}
return null;
}
+
+ @Override
+ public Class<?> getDetailColumClass(int columnIndex) {
+ if ((columnIndex == 2) || (columnIndex == 3) || (columnIndex == 4)) {
+ return ObjectId.class;
+ }
+
+ return super.getDetailColumClass(columnIndex);
+ }
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/VersionTable.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/VersionTable.java?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/VersionTable.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/details/VersionTable.java Mon Apr 25 19:17:31 2011
@@ -27,6 +27,7 @@ import java.util.concurrent.locks.Reentr
import javax.swing.SwingUtilities;
import org.apache.chemistry.opencmis.client.api.Document;
+import org.apache.chemistry.opencmis.client.api.ObjectId;
import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.workbench.ClientHelper;
import org.apache.chemistry.opencmis.workbench.model.ClientModel;
@@ -92,6 +93,28 @@ public class VersionTable extends Abstra
}
@Override
+ public void singleClickAction(MouseEvent e, int rowIndex, int colIndex) {
+ if (colIndex != 5) {
+ return;
+ }
+
+ String versionId = null;
+ lock.readLock().lock();
+ try {
+ versionId = versions.get(rowIndex).getId();
+ } finally {
+ lock.readLock().unlock();
+ }
+
+ try {
+ getClientModel().loadObject(versionId);
+ setTab(0);
+ } catch (Exception ex) {
+ ClientHelper.showError(this, ex);
+ }
+ }
+
+ @Override
public void doubleClickAction(MouseEvent e, int rowIndex) {
lock.readLock().lock();
try {
@@ -142,7 +165,7 @@ public class VersionTable extends Abstra
case 4:
return version.isLatestMajorVersion();
case 5:
- return version.getId();
+ return version;
case 6:
return version.getContentStreamFileName();
case 7:
@@ -158,6 +181,8 @@ public class VersionTable extends Abstra
public Class<?> getDetailColumClass(int columnIndex) {
if ((columnIndex == 2) || (columnIndex == 3) || (columnIndex == 4)) {
return Boolean.class;
+ } else if (columnIndex == 5) {
+ return ObjectId.class;
} else if (columnIndex == 8) {
return Long.class;
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/model/ClientModel.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/model/ClientModel.java?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/model/ClientModel.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/model/ClientModel.java Mon Apr 25 19:17:31 2011
@@ -174,8 +174,7 @@ public class ClientModel {
public synchronized void loadObject(String objectId) throws Exception {
try {
Session session = clientSession.getSession();
- CmisObject object = session.getObject(session.createObjectId(objectId),
- clientSession.getObjectOperationContext());
+ CmisObject object = session.getObject(objectId, clientSession.getObjectOperationContext());
object.refreshIfOld(OLD);
setCurrentObject(object);
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CollectionRenderer.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CollectionRenderer.java?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CollectionRenderer.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/CollectionRenderer.java Mon Apr 25 19:17:31 2011
@@ -31,6 +31,10 @@ import org.apache.chemistry.opencmis.wor
public class CollectionRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = 1L;
+ public CollectionRenderer() {
+ super();
+ }
+
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
Added: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/IdRenderer.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/IdRenderer.java?rev=1096566&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/IdRenderer.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/IdRenderer.java Mon Apr 25 19:17:31 2011
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.chemistry.opencmis.workbench.swing;
+
+import java.awt.Component;
+
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+
+import org.apache.chemistry.opencmis.client.api.ObjectId;
+import org.apache.chemistry.opencmis.workbench.ClientHelper;
+
+public class IdRenderer extends DefaultTableCellRenderer {
+ private static final long serialVersionUID = 1L;
+
+ public IdRenderer() {
+ super();
+ }
+
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
+ int row, int column) {
+ Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+ comp.setForeground(isSelected ? ClientHelper.LINK_SELECTED_COLOR : ClientHelper.LINK_COLOR);
+
+ return comp;
+ }
+
+ public void setValue(Object value) {
+ String text = "";
+ if (value instanceof ObjectId) {
+ if (((ObjectId) value).getId() != null) {
+ text = ((ObjectId) value).getId();
+ }
+ }
+
+ setText(text);
+ }
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/java/org/apache/chemistry/opencmis/workbench/swing/IdRenderer.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/scripts/CMIS.groovy
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/scripts/CMIS.groovy?rev=1096566&r1=1096565&r2=1096566&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/scripts/CMIS.groovy (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/resources/scripts/CMIS.groovy Mon Apr 25 19:17:31 2011
@@ -97,8 +97,8 @@ class CMIS {
CmisObject object = getObject(id)
if(object.getAllowableActions() == null ||
- object.getAllowableActions().getAllowableActions() == null ||
- object.getAllowableActions().getAllowableActions().isEmpty()) {
+ object.getAllowableActions().getAllowableActions() == null ||
+ object.getAllowableActions().getAllowableActions().isEmpty()) {
println "- no allowable actions -"
return
}
@@ -109,23 +109,23 @@ class CMIS {
}
void printVersions(id) {
- Document doc = getDocument(id)
+ Document doc = getDocument(id)
+
+ List<Document> versions = doc.getAllVersions()
+
+ if(versions == null || versions.isEmpty()) {
+ println "- no versions -"
+ return
+ }
- List<Document> versions = doc.getAllVersions()
-
- if(versions == null || versions.isEmpty()) {
- println "- no versions -"
- return
- }
-
- for(Document version: doc.getAllVersions()) {
- println(version.getVersionLabel() + " (" + version.getId() +") [" + version.getType().getId() + "]")
- }
+ for(Document version: doc.getAllVersions()) {
+ println(version.getVersionLabel() + " (" + version.getId() +") [" + version.getType().getId() + "]")
+ }
}
void printChildren(id) {
Folder folder = getFolder(id)
-
+
boolean hasChildren = false
for(CmisObject child: folder.getChildren()) {
println(child.getName() + " (" + child.getId() +") [" + child.getType().getId() + "]")
@@ -139,7 +139,7 @@ class CMIS {
void printRelationships(id) {
CmisObject object = getObject(id)
-
+
boolean hasRelationships = false
for(CmisObject rel: object.getRelationships()) {
println(rel.getName() + " (" + rel.getId() +") [" + rel.getType().getId() + "]")
@@ -152,18 +152,18 @@ class CMIS {
}
void printRenditions(id) {
- Document doc = getDocument(id)
+ Document doc = getDocument(id)
- List<Rendition> renditons = doc.getRenditions()
-
- if(renditons == null || renditons.isEmpty()) {
- println "- no renditions -"
- return
- }
-
- for(Rendition rendition: renditons) {
- println(rendition.getTitle() + " (MIME type: " + rendition.getMimeType() + ", length: " + rendition.getLength() + " bytes)")
- }
+ List<Rendition> renditons = doc.getRenditions()
+
+ if(renditons == null || renditons.isEmpty()) {
+ println "- no renditions -"
+ return
+ }
+
+ for(Rendition rendition: renditons) {
+ println(rendition.getTitle() + " (MIME type: " + rendition.getMimeType() + ", length: " + rendition.getLength() + " bytes)")
+ }
}
void printObjectSummary(id) {
@@ -262,6 +262,20 @@ class CMIS {
return parentFolder.createDocument(properties, contentStream, versioningState)
}
+ Relationship createRelationship(source, target, name, type) {
+ CmisObject sourceObject = getObject(source)
+ CmisObject targetObject = getObject(target)
+
+ def properties = [
+ (PropertyIds.OBJECT_TYPE_ID): type,
+ (PropertyIds.NAME): name,
+ (PropertyIds.SOURCE_ID): sourceObject.id,
+ (PropertyIds.TARGET_ID): targetObject.id
+ ]
+
+ return getObject(session.createRelationship(properties));
+ }
+
void delete(id) {
getObject(id).delete(true)
}