Fix copy workspace & delete artifacts commands
authorBruno Sinou <bsinou@argeo.org>
Tue, 26 Jun 2012 09:36:55 +0000 (09:36 +0000)
committerBruno Sinou <bsinou@argeo.org>
Tue, 26 Jun 2012 09:36:55 +0000 (09:36 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@5348 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/commands/CopyWorkspace.java

index 08286ae3b1fb3c25704767a0d7a5bd313254ad39..e95e57aec3191b48ae69b531737b67817f062aaf 100644 (file)
@@ -89,51 +89,54 @@ public class CopyWorkspace extends AbstractHandler {
                try {
                        if (log.isDebugEnabled())
                                log.debug("copy node :" + fromNode.getPath());
-       
-                       
+
                        // FIXME : small hack to enable specific workspace copy
-                       if (fromNode.isNodeType("rep:ACL") || fromNode.isNodeType("rep:system")){
+                       if (fromNode.isNodeType("rep:ACL")
+                                       || fromNode.isNodeType("rep:system")) {
                                if (log.isTraceEnabled())
                                        log.trace("node skipped");
                                return;
                        }
-                       
+
                        // add mixins
                        for (NodeType mixinType : fromNode.getMixinNodeTypes()) {
                                toNode.addMixin(mixinType.getName());
                        }
-                       
+
                        // Double check
                        for (NodeType mixinType : toNode.getMixinNodeTypes()) {
-                               log.debug(mixinType.getName());
+                               if (log.isDebugEnabled())
+                                       log.debug(mixinType.getName());
                        }
-                       
+
                        // process properties
                        PropertyIterator pit = fromNode.getProperties();
                        properties: while (pit.hasNext()) {
                                Property fromProperty = pit.nextProperty();
                                String propName = fromProperty.getName();
-                               try{
-                               String propertyName = fromProperty.getName();
-                               if (toNode.hasProperty(propertyName)
-                                               && toNode.getProperty(propertyName).getDefinition()
-                                                               .isProtected())
-                                       continue properties;
-
-                               if (fromProperty.getDefinition().isProtected())
-                                       continue properties;
-
-                               if (propertyName.equals("jcr:created")
-                                               || propertyName.equals("jcr:createdBy")
-                                               || propertyName.equals("jcr:lastModified")
-                                               || propertyName.equals("jcr:lastModifiedBy"))
-                                       continue properties;
-
-                               if (fromProperty.isMultiple()) {
-                                       toNode.setProperty(propertyName, fromProperty.getValues());
-                               } else {
-                                       toNode.setProperty(propertyName, fromProperty.getValue());
-                               }
+                               try {
+                                       String propertyName = fromProperty.getName();
+                                       if (toNode.hasProperty(propertyName)
+                                                       && toNode.getProperty(propertyName).getDefinition()
+                                                                       .isProtected())
+                                               continue properties;
+
+                                       if (fromProperty.getDefinition().isProtected())
+                                               continue properties;
+
+                                       if (propertyName.equals("jcr:created")
+                                                       || propertyName.equals("jcr:createdBy")
+                                                       || propertyName.equals("jcr:lastModified")
+                                                       || propertyName.equals("jcr:lastModifiedBy"))
+                                               continue properties;
+
+                                       if (fromProperty.isMultiple()) {
+                                               toNode.setProperty(propertyName,
+                                                               fromProperty.getValues());
+                                       } else {
+                                               toNode.setProperty(propertyName,
+                                                               fromProperty.getValue());
+                                       }
                                } catch (RepositoryException e) {
                                        throw new ArgeoException("Cannot property " + propName, e);
                                }
@@ -159,11 +162,11 @@ public class CopyWorkspace extends AbstractHandler {
                        if (!toNode.getDefinition().isProtected()
                                        && toNode.isNodeType(NodeType.MIX_LAST_MODIFIED))
                                JcrUtils.updateLastModified(toNode);
-                       
+
                        // Workaround to reduce session size: artifact is a saveable unity
                        if (toNode.isNodeType(SlcTypes.SLC_ARTIFACT))
                                toNode.getSession().save();
-                       
+
                } catch (RepositoryException e) {
                        throw new ArgeoException("Cannot copy " + fromNode + " to "
                                        + toNode, e);