You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2015/02/18 16:34:54 UTC
svn commit: r1660656 - in /sling/trunk/tooling/ide:
api-test/src/test/java/org/apache/sling/ide/serialization/
api/src/org/apache/sling/ide/transport/
eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/impl/
eclipse-core/src/org/apache/sling/ide/...
Author: rombert
Date: Wed Feb 18 15:34:54 2015
New Revision: 1660656
URL: http://svn.apache.org/r1660656
Log:
SLING-4069 - Intermediate resources that do not match the filter are not
created when publishing
Introduce CommandExecutionFlag for Repository.newAddOrUpdateNodeCommand
Modified:
sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java
sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Command.java
sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/CommandExecutionProperties.java
sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Repository.java
sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/TracingCommand.java
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/impl/TraceCommandExecutionEventsHandler.java
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java
sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/FailOnModificationEventsRule.java
sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyCommand.java
sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyRepository.java
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/console/SlingConsoleEventListener.java
sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/AbstractCommand.java
sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/RepositoryImpl.java
sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/AddOrUpdateNodeCommand.java
sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/JcrCommand.java
sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltRepository.java
Modified: sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java (original)
+++ sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/serialization/StubRepository.java Wed Feb 18 15:34:54 2015
@@ -47,7 +47,8 @@ public class StubRepository implements R
}
@Override
- public Command<Void> newAddOrUpdateNodeCommand(FileInfo fileInfo, ResourceProxy resourceInfo) {
+ public Command<Void> newAddOrUpdateNodeCommand(FileInfo fileInfo, ResourceProxy resourceInfo,
+ CommandExecutionFlag... flags) {
return null;
}
Modified: sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Command.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Command.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Command.java (original)
+++ sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Command.java Wed Feb 18 15:34:54 2015
@@ -16,9 +16,15 @@
*/
package org.apache.sling.ide.transport;
+import java.util.Set;
+
+import org.apache.sling.ide.transport.Repository.CommandExecutionFlag;
+
public interface Command<T> {
Result<T> execute();
String getPath();
+
+ Set<CommandExecutionFlag> getFlags();
}
Modified: sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/CommandExecutionProperties.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/CommandExecutionProperties.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/CommandExecutionProperties.java (original)
+++ sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/CommandExecutionProperties.java Wed Feb 18 15:34:54 2015
@@ -25,6 +25,7 @@ public final class CommandExecutionPrope
public static final String TIMESTAMP_START = "timestamp.start";
public static final String TIMESTAMP_END = "timestamp.end";
public static final String ACTION_TYPE = "action.type";
+ public static final String ACTION_FLAGS = "action.flags";
public static final String ACTION_TARGET = "action.target";
public static final String RESULT_TEXT = "result.txt";
public static final String RESULT_THROWABLE = "result.throwable";
Modified: sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Repository.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Repository.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Repository.java (original)
+++ sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/Repository.java Wed Feb 18 15:34:54 2015
@@ -74,10 +74,22 @@ public interface Repository {
public static String JCR_ROOT_VERSION= "jcr:rootVersion";
public static String JCR_VERSION_LABELS= "jcr:versionLabels";
public static String JCR_CHILD_VERSION_HISTORY= "jcr:childVersionHistory";
+
+ public enum CommandExecutionFlag {
+
+ /**
+ * Signal the command to only create the nodes when they are missing
+ *
+ * <p>
+ * If nodes exist, they will not be touched
+ */
+ CREATE_ONLY_WHEN_MISSING;
+ }
RepositoryInfo getRepositoryInfo();
- Command<Void> newAddOrUpdateNodeCommand(FileInfo fileInfo, ResourceProxy resourceProxy);
+ Command<Void> newAddOrUpdateNodeCommand(FileInfo fileInfo, ResourceProxy resourceProxy,
+ CommandExecutionFlag... flags);
/**
* Reorder the child nodes under the specified resource
Modified: sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/TracingCommand.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/TracingCommand.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/TracingCommand.java (original)
+++ sling/trunk/tooling/ide/api/src/org/apache/sling/ide/transport/TracingCommand.java Wed Feb 18 15:34:54 2015
@@ -18,7 +18,9 @@ package org.apache.sling.ide.transport;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
+import org.apache.sling.ide.transport.Repository.CommandExecutionFlag;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
@@ -52,6 +54,16 @@ public class TracingCommand<T> implement
props.put(CommandExecutionProperties.RESULT_THROWABLE, e);
}
props.put(CommandExecutionProperties.ACTION_TYPE, command.getClass().getSimpleName());
+ Set<CommandExecutionFlag> flags = command.getFlags();
+ if (!flags.isEmpty()) {
+ StringBuilder flagsString = new StringBuilder();
+ for (CommandExecutionFlag flag : flags) {
+ flagsString.append(flag).append(',');
+ }
+ flagsString.deleteCharAt(flagsString.length() - 1);
+ props.put(CommandExecutionProperties.ACTION_FLAGS, flagsString.toString());
+ }
+
props.put(CommandExecutionProperties.ACTION_TARGET, command.getPath());
props.put(CommandExecutionProperties.TIMESTAMP_START, start);
props.put(CommandExecutionProperties.TIMESTAMP_END, end);
@@ -66,4 +78,9 @@ public class TracingCommand<T> implement
return command.getPath();
}
+ @Override
+ public Set<CommandExecutionFlag> getFlags() {
+ return command.getFlags();
+ }
+
}
\ No newline at end of file
Modified: sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/impl/TraceCommandExecutionEventsHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/impl/TraceCommandExecutionEventsHandler.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/impl/TraceCommandExecutionEventsHandler.java (original)
+++ sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/debug/impl/TraceCommandExecutionEventsHandler.java Wed Feb 18 15:34:54 2015
@@ -39,6 +39,7 @@ public class TraceCommandExecutionEvents
Long start = (Long) event.getProperty(CommandExecutionProperties.TIMESTAMP_START);
Long end = (Long) event.getProperty(CommandExecutionProperties.TIMESTAMP_END);
String type = (String) event.getProperty(CommandExecutionProperties.ACTION_TYPE);
+ String flags = (String) event.getProperty(CommandExecutionProperties.ACTION_FLAGS);
String target = (String) event.getProperty(CommandExecutionProperties.ACTION_TARGET);
String result = (String) event.getProperty(CommandExecutionProperties.RESULT_TEXT);
Throwable t = (Throwable) event.getProperty(CommandExecutionProperties.RESULT_THROWABLE);
@@ -46,8 +47,11 @@ public class TraceCommandExecutionEvents
// TODO format copied from SlingConsoleEventListener
StringBuilder message = new StringBuilder();
DateFormat format = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
- message.append("[").append(format.format(new Date(start))).append("] ").append(type).append(" -> ")
- .append(target);
+ message.append("[").append(format.format(new Date(start))).append("] ").append(type);
+ if (flags != null && flags.length() > 0) {
+ message.append(" (").append(flags).append(")");
+ }
+ message.append(" -> ").append(target);
message.append(" : ").append(result).append(" (").append(end - start).append(" ms)");
logger.trace(message.toString(), t);
Modified: sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java (original)
+++ sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/Activator.java Wed Feb 18 15:34:54 2015
@@ -151,6 +151,10 @@ public class Activator extends Plugin {
return (Logger) ServiceUtil.getNotNull(tracer);
}
+ /**
+ * @deprecated This should not be used directly to communicate with the client . There is no direct replacement
+ */
+ @Deprecated
public void issueConsoleLog(String actionType, String path, String message) {
Map<String, Object> props = new HashMap<String, Object>();
props.put(CommandExecutionProperties.RESULT_TEXT, message);
Modified: sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/FailOnModificationEventsRule.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/FailOnModificationEventsRule.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/FailOnModificationEventsRule.java (original)
+++ sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/FailOnModificationEventsRule.java Wed Feb 18 15:34:54 2015
@@ -88,8 +88,14 @@ public class FailOnModificationEventsRul
StringBuilder desc = new StringBuilder();
desc.append("Unexpected events captured during import : ");
for (Event event : unexpectedEvents) {
+
+ String flags = (String) event.getProperty(CommandExecutionProperties.ACTION_FLAGS);
+
desc.append('\n');
desc.append(event.getProperty(CommandExecutionProperties.ACTION_TYPE));
+ if (flags != null && flags.length() > 0) {
+ desc.append(" (").append(flags).append(")");
+ }
desc.append(" -> ");
desc.append(event.getProperty(CommandExecutionProperties.ACTION_TARGET));
desc.append(" : ");
Modified: sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyCommand.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyCommand.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyCommand.java (original)
+++ sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyCommand.java Wed Feb 18 15:34:54 2015
@@ -16,10 +16,15 @@
*/
package org.apache.sling.ide.test.impl.helpers;
+import java.util.Arrays;
+import java.util.EnumSet;
+import java.util.Set;
+
import org.apache.sling.ide.transport.Command;
import org.apache.sling.ide.transport.FileInfo;
import org.apache.sling.ide.transport.ResourceProxy;
import org.apache.sling.ide.transport.Result;
+import org.apache.sling.ide.transport.Repository.CommandExecutionFlag;
/**
* The <tt>SpyCommand</tt> records the arguments passed to it and can be used to verify that the invocation is made with
@@ -37,12 +42,16 @@ public class SpyCommand<T> implements Co
private final FileInfo fileInfo;
private final String path;
private final SpyCommand.Kind kind;
+ private final EnumSet<CommandExecutionFlag> flags;
- public SpyCommand(ResourceProxy resourceProxy, FileInfo fileInfo, String path, SpyCommand.Kind kind) {
+ public SpyCommand(ResourceProxy resourceProxy, FileInfo fileInfo, String path, SpyCommand.Kind kind,
+ CommandExecutionFlag... flags) {
this.resourceProxy = resourceProxy;
this.fileInfo = fileInfo;
this.path = path;
this.kind = kind;
+ this.flags = EnumSet.noneOf(CommandExecutionFlag.class);
+ this.flags.addAll(Arrays.asList(flags));
}
@Override
@@ -55,6 +64,11 @@ public class SpyCommand<T> implements Co
return path;
}
+ @Override
+ public Set<CommandExecutionFlag> getFlags() {
+ return flags;
+ }
+
public FileInfo getFileInfo() {
return fileInfo;
}
Modified: sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyRepository.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyRepository.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyRepository.java (original)
+++ sling/trunk/tooling/ide/eclipse-test/src/org/apache/sling/ide/test/impl/helpers/SpyRepository.java Wed Feb 18 15:34:54 2015
@@ -37,9 +37,10 @@ public class SpyRepository implements Re
}
@Override
- public Command<Void> newAddOrUpdateNodeCommand(FileInfo fileInfo, ResourceProxy resourceProxy) {
+ public Command<Void> newAddOrUpdateNodeCommand(FileInfo fileInfo, ResourceProxy resourceProxy,
+ CommandExecutionFlag... flags) {
- return new SpyCommand<Void>(resourceProxy, fileInfo, null, SpyCommand.Kind.ADD_OR_UPDATE);
+ return new SpyCommand<Void>(resourceProxy, fileInfo, null, SpyCommand.Kind.ADD_OR_UPDATE, flags);
}
@Override
Modified: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/console/SlingConsoleEventListener.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/console/SlingConsoleEventListener.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/console/SlingConsoleEventListener.java (original)
+++ sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/console/SlingConsoleEventListener.java Wed Feb 18 15:34:54 2015
@@ -128,14 +128,18 @@ public class SlingConsoleEventListener i
Long start = (Long) event.getProperty(CommandExecutionProperties.TIMESTAMP_START);
Long end = (Long) event.getProperty(CommandExecutionProperties.TIMESTAMP_END);
String type = (String) event.getProperty(CommandExecutionProperties.ACTION_TYPE);
+ String flags = (String) event.getProperty(CommandExecutionProperties.ACTION_FLAGS);
String target = (String) event.getProperty(CommandExecutionProperties.ACTION_TARGET);
String result = (String) event.getProperty(CommandExecutionProperties.RESULT_TEXT);
Throwable t = (Throwable) event.getProperty(CommandExecutionProperties.RESULT_THROWABLE);
StringBuilder message = new StringBuilder();
DateFormat format = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
- message.append("[").append(format.format(new Date(start))).append("] ").append(type).append(" -> ")
- .append(target);
+ message.append("[").append(format.format(new Date(start))).append("] ").append(type);
+ if (flags != null && flags.length() > 0) {
+ message.append(" (").append(flags).append(")");
+ }
+ message.append(" -> ").append(target);
message.append(" : ").append(result).append(" (").append(end - start).append(" ms)").append('\n');
messageStream.write(message.toString());
Modified: sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/AbstractCommand.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/AbstractCommand.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/AbstractCommand.java (original)
+++ sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/AbstractCommand.java Wed Feb 18 15:34:54 2015
@@ -16,11 +16,15 @@
*/
package org.apache.sling.ide.impl.resource.transport;
+import java.util.Collections;
+import java.util.Set;
+
import org.apache.commons.httpclient.HttpClient;
import org.apache.sling.ide.transport.Command;
import org.apache.sling.ide.transport.RepositoryException;
import org.apache.sling.ide.transport.RepositoryInfo;
import org.apache.sling.ide.transport.Result;
+import org.apache.sling.ide.transport.Repository.CommandExecutionFlag;
import org.apache.sling.ide.util.PathUtil;
public abstract class AbstractCommand<T> implements Command<T> {
@@ -63,4 +67,10 @@ public abstract class AbstractCommand<T>
return responseStatus == 200 /* OK */|| responseStatus == 201 /* CREATED */;
}
+ @Override
+ public Set<CommandExecutionFlag> getFlags() {
+ // TODO - this is not supported
+ return Collections.emptySet();
+ }
+
}
Modified: sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/RepositoryImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/RepositoryImpl.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/RepositoryImpl.java (original)
+++ sling/trunk/tooling/ide/impl-resource/src/org/apache/sling/ide/impl/resource/transport/RepositoryImpl.java Wed Feb 18 15:34:54 2015
@@ -64,7 +64,11 @@ public class RepositoryImpl implements R
}
@Override
- public Command<Void> newAddOrUpdateNodeCommand(final FileInfo fileInfo, ResourceProxy resource) {
+ public Command<Void> newAddOrUpdateNodeCommand(final FileInfo fileInfo, ResourceProxy resource,
+ CommandExecutionFlag... flags) {
+ if (flags.length != 0) {
+ throw new UnsupportedOperationException("This implementation does not support any flags");
+ }
return wrap(new UpdateContentCommand(repositoryInfo, httpClient, fileInfo.getRelativeLocation(),
resource.getProperties(), fileInfo));
Modified: sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/AddOrUpdateNodeCommand.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/AddOrUpdateNodeCommand.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/AddOrUpdateNodeCommand.java (original)
+++ sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/AddOrUpdateNodeCommand.java Wed Feb 18 15:34:54 2015
@@ -57,6 +57,7 @@ import org.apache.jackrabbit.vault.util.
import org.apache.jackrabbit.vault.util.Text;
import org.apache.sling.ide.log.Logger;
import org.apache.sling.ide.transport.FileInfo;
+import org.apache.sling.ide.transport.Repository.CommandExecutionFlag;
import org.apache.sling.ide.transport.ResourceProxy;
import org.apache.sling.ide.util.PathUtil;
@@ -66,9 +67,9 @@ public class AddOrUpdateNodeCommand exte
private FileInfo fileInfo;
public AddOrUpdateNodeCommand(Repository jcrRepo, Credentials credentials, FileInfo fileInfo,
- ResourceProxy resource, Logger logger) {
+ ResourceProxy resource, Logger logger, CommandExecutionFlag... flags) {
- super(jcrRepo, credentials, resource.getPath(), logger);
+ super(jcrRepo, credentials, resource.getPath(), logger, flags);
this.fileInfo = fileInfo;
this.resource = resource;
Modified: sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/JcrCommand.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/JcrCommand.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/JcrCommand.java (original)
+++ sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/JcrCommand.java Wed Feb 18 15:34:54 2015
@@ -17,6 +17,10 @@
package org.apache.sling.ide.impl.vlt;
import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.EnumSet;
+import java.util.Set;
import javax.jcr.Credentials;
import javax.jcr.LoginException;
@@ -29,6 +33,7 @@ import javax.jcr.Session;
import org.apache.sling.ide.log.Logger;
import org.apache.sling.ide.transport.Command;
+import org.apache.sling.ide.transport.Repository.CommandExecutionFlag;
import org.apache.sling.ide.transport.ResourceProxy;
import org.apache.sling.ide.transport.Result;
@@ -38,13 +43,17 @@ public abstract class JcrCommand<T> impl
private final Repository repository;
private final String path;
private final Logger logger;
+ private final EnumSet<CommandExecutionFlag> flags;
- public JcrCommand(Repository repository, Credentials credentials, String path, Logger logger) {
+ public JcrCommand(Repository repository, Credentials credentials, String path, Logger logger,
+ CommandExecutionFlag... flags) {
this.repository = repository;
this.credentials = credentials;
this.path = path;
this.logger = logger;
+ this.flags = EnumSet.noneOf(CommandExecutionFlag.class);
+ this.flags.addAll(Arrays.asList(flags));
}
@Override
@@ -81,6 +90,10 @@ public abstract class JcrCommand<T> impl
return logger;
}
+ public Set<CommandExecutionFlag> getFlags() {
+ return Collections.unmodifiableSet(flags);
+ }
+
protected ResourceProxy nodeToResource(Node node) throws RepositoryException {
ResourceProxy resource = new ResourceProxy(node.getPath());
Modified: sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltRepository.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltRepository.java?rev=1660656&r1=1660655&r2=1660656&view=diff
==============================================================================
--- sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltRepository.java (original)
+++ sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltRepository.java Wed Feb 18 15:34:54 2015
@@ -85,8 +85,9 @@ public class VltRepository implements Re
}
@Override
- public Command<Void> newAddOrUpdateNodeCommand(FileInfo fileInfo, ResourceProxy resource) {
- return TracingCommand.wrap(new AddOrUpdateNodeCommand(jcrRepo, credentials, fileInfo, resource, logger),
+ public Command<Void> newAddOrUpdateNodeCommand(FileInfo fileInfo, ResourceProxy resource,
+ CommandExecutionFlag... flags) {
+ return TracingCommand.wrap(new AddOrUpdateNodeCommand(jcrRepo, credentials, fileInfo, resource, logger, flags),
eventAdmin);
}