Return-Path: Delivered-To: apmail-incubator-chemistry-commits-archive@minotaur.apache.org Received: (qmail 53067 invoked from network); 21 Sep 2010 11:26:26 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Sep 2010 11:26:26 -0000 Received: (qmail 77802 invoked by uid 500); 21 Sep 2010 11:26:26 -0000 Delivered-To: apmail-incubator-chemistry-commits-archive@incubator.apache.org Received: (qmail 77749 invoked by uid 500); 21 Sep 2010 11:26:24 -0000 Mailing-List: contact chemistry-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: chemistry-dev@incubator.apache.org Delivered-To: mailing list chemistry-commits@incubator.apache.org Received: (qmail 77730 invoked by uid 99); 21 Sep 2010 11:26:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Sep 2010 11:26:23 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Sep 2010 11:26:22 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 2EDD22388903; Tue, 21 Sep 2010 11:26:02 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r999315 - in /incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient: details/ model/ Date: Tue, 21 Sep 2010 11:26:02 -0000 To: chemistry-commits@incubator.apache.org From: fmui@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100921112602.2EDD22388903@eris.apache.org> Author: fmui Date: Tue Sep 21 11:26:01 2010 New Revision: 999315 URL: http://svn.apache.org/viewvc?rev=999315&view=rev Log: made a few minor improvements to the Swing Client Modified: incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ACLTable.java incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ExtensionsPanel.java incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ObjectPanel.java incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/RelationshipTable.java incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientModel.java incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientSession.java Modified: incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ACLTable.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ACLTable.java?rev=999315&r1=999314&r2=999315&view=diff ============================================================================== --- incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ACLTable.java (original) +++ incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ACLTable.java Tue Sep 21 11:26:01 2010 @@ -23,35 +23,36 @@ import org.apache.chemistry.opencmis.swi public class ACLTable extends AbstractDetailsTable { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - private static final String[] COLUMN_NAMES = { "Principal", "Permissions" }; - private static final int[] COLUMN_WIDTHS = { 200, 400 }; + private static final String[] COLUMN_NAMES = { "Principal", "Permissions", "Direct" }; + private static final int[] COLUMN_WIDTHS = { 200, 400, 50 }; - public ACLTable(ClientModel model) { - super(); - init(model, COLUMN_NAMES, COLUMN_WIDTHS); - } - - public int getDetailRowCount() { - if ((getObject().getAcl() == null) - || (getObject().getAcl().getAces() == null)) { - return 0; - } - - return getObject().getAcl().getAces().size(); - } - - public Object getDetailValueAt(int rowIndex, int columnIndex) { - Ace ace = getObject().getAcl().getAces().get(rowIndex); - - switch (columnIndex) { - case 0: - return ace.getPrincipalId(); - case 1: - return ace.getPermissions().toString(); - } + public ACLTable(ClientModel model) { + super(); + init(model, COLUMN_NAMES, COLUMN_WIDTHS); + } + + public int getDetailRowCount() { + if ((getObject().getAcl() == null) || (getObject().getAcl().getAces() == null)) { + return 0; + } + + return getObject().getAcl().getAces().size(); + } + + public Object getDetailValueAt(int rowIndex, int columnIndex) { + Ace ace = getObject().getAcl().getAces().get(rowIndex); + + switch (columnIndex) { + case 0: + return ace.getPrincipalId(); + case 1: + return ace.getPermissions().toString(); + case 2: + return ace.isDirect(); + } - return null; - } + return null; + } } Modified: incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ExtensionsPanel.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ExtensionsPanel.java?rev=999315&r1=999314&r2=999315&view=diff ============================================================================== --- incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ExtensionsPanel.java (original) +++ incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ExtensionsPanel.java Tue Sep 21 11:26:01 2010 @@ -60,30 +60,32 @@ public class ExtensionsPanel extends JPa DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(); - // object extensions - DefaultMutableTreeNode objectRootNode = new DefaultMutableTreeNode("Object"); - addExtension(objectRootNode, object.getExtensions(ExtensionLevel.OBJECT)); - rootNode.add(objectRootNode); - - // property extensions - DefaultMutableTreeNode propertiesRootNode = new DefaultMutableTreeNode("Properties"); - addExtension(propertiesRootNode, object.getExtensions(ExtensionLevel.PROPERTIES)); - rootNode.add(propertiesRootNode); - - // allowable actions extensions - DefaultMutableTreeNode allowableActionsRootNode = new DefaultMutableTreeNode("Allowable Actions"); - addExtension(allowableActionsRootNode, object.getExtensions(ExtensionLevel.ALLOWABLE_ACTIONS)); - rootNode.add(allowableActionsRootNode); - - // ACL extensions - DefaultMutableTreeNode aclRootNode = new DefaultMutableTreeNode("ACL"); - addExtension(aclRootNode, object.getExtensions(ExtensionLevel.ACL)); - rootNode.add(aclRootNode); - - // policies extensions - DefaultMutableTreeNode policiesRootNode = new DefaultMutableTreeNode("Policies"); - addExtension(policiesRootNode, object.getExtensions(ExtensionLevel.POLICIES)); - rootNode.add(policiesRootNode); + if (object != null) { + // object extensions + DefaultMutableTreeNode objectRootNode = new DefaultMutableTreeNode("Object"); + addExtension(objectRootNode, object.getExtensions(ExtensionLevel.OBJECT)); + rootNode.add(objectRootNode); + + // property extensions + DefaultMutableTreeNode propertiesRootNode = new DefaultMutableTreeNode("Properties"); + addExtension(propertiesRootNode, object.getExtensions(ExtensionLevel.PROPERTIES)); + rootNode.add(propertiesRootNode); + + // allowable actions extensions + DefaultMutableTreeNode allowableActionsRootNode = new DefaultMutableTreeNode("Allowable Actions"); + addExtension(allowableActionsRootNode, object.getExtensions(ExtensionLevel.ALLOWABLE_ACTIONS)); + rootNode.add(allowableActionsRootNode); + + // ACL extensions + DefaultMutableTreeNode aclRootNode = new DefaultMutableTreeNode("ACL"); + addExtension(aclRootNode, object.getExtensions(ExtensionLevel.ACL)); + rootNode.add(aclRootNode); + + // policies extensions + DefaultMutableTreeNode policiesRootNode = new DefaultMutableTreeNode("Policies"); + addExtension(policiesRootNode, object.getExtensions(ExtensionLevel.POLICIES)); + rootNode.add(policiesRootNode); + } DefaultTreeModel treeModel = new DefaultTreeModel(rootNode); Modified: incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ObjectPanel.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ObjectPanel.java?rev=999315&r1=999314&r2=999315&view=diff ============================================================================== --- incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ObjectPanel.java (original) +++ incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/ObjectPanel.java Tue Sep 21 11:26:01 2010 @@ -21,12 +21,17 @@ package org.apache.chemistry.opencmis.sw import java.awt.Cursor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.lang.reflect.Method; import javax.swing.JButton; import javax.swing.JList; import javax.swing.JTextField; import org.apache.chemistry.opencmis.client.api.CmisObject; +import org.apache.chemistry.opencmis.client.api.Session; +import org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService; +import org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser; +import org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl; import org.apache.chemistry.opencmis.swingclient.ClientHelper; import org.apache.chemistry.opencmis.swingclient.model.ClientModel; import org.apache.chemistry.opencmis.swingclient.model.ClientModelEvent; @@ -43,6 +48,7 @@ public class ObjectPanel extends InfoPan private JTextField idField; private JTextField typeField; private JTextField basetypeField; + // private JTextField contentUrlField; private JList allowableActionsList; private JButton refreshButton; @@ -63,6 +69,7 @@ public class ObjectPanel extends InfoPan idField.setText(""); typeField.setText(""); basetypeField.setText(""); + // contentUrlField.setText(""); allowableActionsList.removeAll(); refreshButton.setEnabled(false); } else { @@ -71,6 +78,9 @@ public class ObjectPanel extends InfoPan idField.setText(object.getId()); typeField.setText(object.getType().getId()); basetypeField.setText(object.getBaseTypeId().toString()); + // String docUrl = getDocumentURL(object, + // model.getClientSession().getSession()); + // contentUrlField.setText(docUrl == null ? "" : docUrl); if (object.getAllowableActions() != null) { allowableActionsList.setListData(object.getAllowableActions().getAllowableActions().toArray()); } else { @@ -90,6 +100,7 @@ public class ObjectPanel extends InfoPan idField = addLine("Id:"); typeField = addLine("Type:"); basetypeField = addLine("Base Type:"); + // contentUrlField = addLine("Content URL:"); allowableActionsList = addComponent("Allowable Actions:", new JList()); refreshButton = addComponent("", new JButton("Refresh")); refreshButton.setEnabled(false); @@ -107,4 +118,24 @@ public class ObjectPanel extends InfoPan } }); } + + public String getDocumentURL(final CmisObject document, final Session session) { + String link = null; + + if (!(session.getBinding().getObjectService() instanceof ObjectServiceImpl)) { + return null; + } + + try { + Method loadLink = AbstractAtomPubService.class.getDeclaredMethod("loadLink", new Class[] { String.class, + String.class, String.class, String.class }); + loadLink.setAccessible(true); + link = (String) loadLink.invoke(session.getBinding().getObjectService(), session.getRepositoryInfo() + .getId(), document.getId(), AtomPubParser.LINK_REL_CONTENT, null); + } catch (Exception e) { + e.printStackTrace(); + } + + return link; + } } Modified: incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/RelationshipTable.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/RelationshipTable.java?rev=999315&r1=999314&r2=999315&view=diff ============================================================================== --- incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/RelationshipTable.java (original) +++ incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/details/RelationshipTable.java Tue Sep 21 11:26:01 2010 @@ -54,9 +54,9 @@ public class RelationshipTable extends A case 1: return relationship.getType().getId(); case 2: - return relationship.getSource().getId(); + return relationship.getSourceId(); case 3: - return relationship.getTarget().getId(); + return relationship.getTargetId(); } return null; Modified: incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientModel.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientModel.java?rev=999315&r1=999314&r2=999315&view=diff ============================================================================== --- incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientModel.java (original) +++ incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientModel.java Tue Sep 21 11:26:01 2010 @@ -108,6 +108,10 @@ public class ClientModel { folderOC = createFolderOperationContext(); } + public synchronized ClientSession getClientSession() { + return clientSession; + } + public synchronized RepositoryInfo getRepositoryInfo() throws Exception { Session session = clientSession.getSession(); return session.getRepositoryInfo(); @@ -216,8 +220,8 @@ public class ClientModel { File file = new File(filename); InputStream stream = new FileInputStream(file); - content = clientSession.getSession().getObjectFactory().createContentStream(file.getName(), file.length(), - MIMETypes.getMIMEType(file), stream); + content = clientSession.getSession().getObjectFactory() + .createContentStream(file.getName(), file.length(), MIMETypes.getMIMEType(file), stream); } return content; @@ -287,16 +291,16 @@ public class ClientModel { } public synchronized CmisObject getFromCurrentChildren(String id) { - if((currentChildren == null) || (currentChildren.isEmpty())) { + if ((currentChildren == null) || (currentChildren.isEmpty())) { return null; } - - for(CmisObject o: currentChildren) { - if(o.getId().equals(id)) { + + for (CmisObject o : currentChildren) { + if (o.getId().equals(id)) { return o; } } - + return null; } Modified: incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientSession.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientSession.java?rev=999315&r1=999314&r2=999315&view=diff ============================================================================== --- incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientSession.java (original) +++ incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient/model/ClientSession.java Tue Sep 21 11:26:01 2010 @@ -30,64 +30,55 @@ import org.apache.chemistry.opencmis.com public class ClientSession { - private List repositories; - private Session session; + private List repositories; + private Session session; - public ClientSession(String url, BindingType binding, String username, - String password) { - Map parameters = new HashMap(); - - if (binding == BindingType.WEBSERVICES) { - parameters.put(SessionParameter.BINDING_TYPE, - BindingType.WEBSERVICES.value()); - parameters - .put(SessionParameter.WEBSERVICES_REPOSITORY_SERVICE, url); - parameters - .put(SessionParameter.WEBSERVICES_NAVIGATION_SERVICE, url); - parameters.put(SessionParameter.WEBSERVICES_OBJECT_SERVICE, url); - parameters - .put(SessionParameter.WEBSERVICES_VERSIONING_SERVICE, url); - parameters.put(SessionParameter.WEBSERVICES_DISCOVERY_SERVICE, url); - parameters.put(SessionParameter.WEBSERVICES_MULTIFILING_SERVICE, - url); - parameters.put(SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE, - url); - parameters.put(SessionParameter.WEBSERVICES_ACL_SERVICE, url); - parameters.put(SessionParameter.WEBSERVICES_POLICY_SERVICE, url); - } else { - parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB - .value()); - parameters.put(SessionParameter.ATOMPUB_URL, url); - } - parameters.put(SessionParameter.USER, username); - parameters.put(SessionParameter.PASSWORD, password); - - connect(parameters); - } - - public ClientSession(Map sessionParameters) { - if (sessionParameters == null) { - throw new IllegalArgumentException("Parameters must not be null!"); - } - - connect(sessionParameters); - } - - private void connect(Map sessionParameters) { - repositories = SessionFactoryImpl.newInstance().getRepositories( - sessionParameters); - } - - public List getRepositories() { - return repositories; - } - - public Session createSession(int index) { - session = repositories.get(index).createSession(); - return getSession(); - } - - public Session getSession() { - return session; - } + public ClientSession(String url, BindingType binding, String username, String password) { + Map parameters = new HashMap(); + + if (binding == BindingType.WEBSERVICES) { + parameters.put(SessionParameter.BINDING_TYPE, BindingType.WEBSERVICES.value()); + parameters.put(SessionParameter.WEBSERVICES_REPOSITORY_SERVICE, url); + parameters.put(SessionParameter.WEBSERVICES_NAVIGATION_SERVICE, url); + parameters.put(SessionParameter.WEBSERVICES_OBJECT_SERVICE, url); + parameters.put(SessionParameter.WEBSERVICES_VERSIONING_SERVICE, url); + parameters.put(SessionParameter.WEBSERVICES_DISCOVERY_SERVICE, url); + parameters.put(SessionParameter.WEBSERVICES_MULTIFILING_SERVICE, url); + parameters.put(SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE, url); + parameters.put(SessionParameter.WEBSERVICES_ACL_SERVICE, url); + parameters.put(SessionParameter.WEBSERVICES_POLICY_SERVICE, url); + } else { + parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); + parameters.put(SessionParameter.ATOMPUB_URL, url); + } + parameters.put(SessionParameter.USER, username); + parameters.put(SessionParameter.PASSWORD, password); + + connect(parameters); + } + + public ClientSession(Map sessionParameters) { + if (sessionParameters == null) { + throw new IllegalArgumentException("Parameters must not be null!"); + } + + connect(sessionParameters); + } + + private void connect(Map sessionParameters) { + repositories = SessionFactoryImpl.newInstance().getRepositories(sessionParameters); + } + + public List getRepositories() { + return repositories; + } + + public Session createSession(int index) { + session = repositories.get(index).createSession(); + return getSession(); + } + + public Session getSession() { + return session; + } }