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 2010/09/21 13:26:02 UTC

svn commit: r999315 - in /incubator/chemistry/opencmis-swingclient/trunk/src/main/java/org/apache/chemistry/opencmis/swingclient: details/ model/

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<Repository> repositories;
-	private Session session;
+    private List<Repository> repositories;
+    private Session session;
 
-	public ClientSession(String url, BindingType binding, String username,
-			String password) {
-		Map<String, String> parameters = new HashMap<String, String>();
-
-		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<String, String> sessionParameters) {
-		if (sessionParameters == null) {
-			throw new IllegalArgumentException("Parameters must not be null!");
-		}
-
-		connect(sessionParameters);
-	}
-
-	private void connect(Map<String, String> sessionParameters) {
-		repositories = SessionFactoryImpl.newInstance().getRepositories(
-				sessionParameters);
-	}
-
-	public List<Repository> 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<String, String> parameters = new HashMap<String, String>();
+
+        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<String, String> sessionParameters) {
+        if (sessionParameters == null) {
+            throw new IllegalArgumentException("Parameters must not be null!");
+        }
+
+        connect(sessionParameters);
+    }
+
+    private void connect(Map<String, String> sessionParameters) {
+        repositories = SessionFactoryImpl.newInstance().getRepositories(sessionParameters);
+    }
+
+    public List<Repository> getRepositories() {
+        return repositories;
+    }
+
+    public Session createSession(int index) {
+        session = repositories.get(index).createSession();
+        return getSession();
+    }
+
+    public Session getSession() {
+        return session;
+    }
 }