Skip to content

Commit

Permalink
initial cut of 6.2 compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
justinedelson committed Jan 20, 2016
1 parent d499bbb commit d633dd4
Show file tree
Hide file tree
Showing 8 changed files with 50 additions and 25 deletions.
3 changes: 2 additions & 1 deletion bundle-twitter/pom.xml
Expand Up @@ -105,7 +105,8 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.adobe.aem</groupId> <groupId>com.adobe.aem</groupId>
<artifactId>aem-api</artifactId> <artifactId>uber-jar</artifactId>
<classifier>apis</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.twitter4j</groupId> <groupId>org.twitter4j</groupId>
Expand Down
15 changes: 14 additions & 1 deletion bundle/pom.xml
Expand Up @@ -257,9 +257,22 @@
<version>1.0.0</version> <version>1.0.0</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-core</artifactId>
<version>2.10.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-imaging</artifactId>
<version>1.0-R1534292</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>com.adobe.aem</groupId> <groupId>com.adobe.aem</groupId>
<artifactId>aem-api</artifactId> <artifactId>uber-jar</artifactId>
<classifier>apis</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.sling</groupId> <groupId>org.apache.sling</groupId>
Expand Down
Expand Up @@ -26,7 +26,6 @@
import org.apache.sling.commons.json.JSONException; import org.apache.sling.commons.json.JSONException;
import org.apache.sling.commons.json.JSONObject; import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.commons.osgi.PropertiesUtil; import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.event.EventUtil;
import org.osgi.framework.ServiceRegistration; import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext; import org.osgi.service.component.ComponentContext;
import org.osgi.service.event.Event; import org.osgi.service.event.Event;
Expand Down Expand Up @@ -246,7 +245,7 @@ protected static Object convertValue(Object val) throws JSONException {
*/ */
@Override @Override
public void handleEvent(Event event) { public void handleEvent(Event event) {
if (EventUtil.isLocal(event) && this.isLoggerEnabled()) { if (event.getProperty("event.application") == null && this.isLoggerEnabled()) {
logEvent(event); logEvent(event);
} }
} }
Expand Down
Expand Up @@ -47,8 +47,9 @@
import org.apache.sling.api.resource.ResourceUtil; import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.api.resource.ValueMap; import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.commons.osgi.PropertiesUtil; import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.event.jobs.JobProcessor; import org.apache.sling.event.jobs.Job;
import org.apache.sling.event.jobs.JobUtil; import org.apache.sling.event.jobs.JobManager;
import org.apache.sling.event.jobs.consumer.JobConsumer;
import org.osgi.service.event.Event; import org.osgi.service.event.Event;
import org.osgi.service.event.EventConstants; import org.osgi.service.event.EventConstants;
import org.osgi.service.event.EventHandler; import org.osgi.service.event.EventHandler;
Expand All @@ -60,6 +61,7 @@
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;


Expand All @@ -84,10 +86,16 @@
value = "(" + ReplicationAction.PROPERTY_TYPE + "=ACTIVATE)", value = "(" + ReplicationAction.PROPERTY_TYPE + "=ACTIVATE)",
name = EventConstants.EVENT_FILTER, name = EventConstants.EVENT_FILTER,
propertyPrivate = true propertyPrivate = true
),
@Property(
name = JobConsumer.PROPERTY_TOPICS,
value = JcrPackageReplicationStatusEventHandler.JOB_TOPIC
) )
}) })
@Service @Service
public class JcrPackageReplicationStatusEventHandler implements JobProcessor, EventHandler, ClusterAware { public class JcrPackageReplicationStatusEventHandler implements JobConsumer, EventHandler, ClusterAware {
private static final String PROPERTY_PATHS = "paths";

private static final Logger log = LoggerFactory.getLogger(JcrPackageReplicationStatusEventHandler.class); private static final Logger log = LoggerFactory.getLogger(JcrPackageReplicationStatusEventHandler.class);


private enum ReplicatedAt { private enum ReplicatedAt {
Expand Down Expand Up @@ -119,6 +127,8 @@ private enum ReplicatedAt {
}) })
public static final String PROP_REPLICATION_STATUS_NODE_TYPES = "node-types"; public static final String PROP_REPLICATION_STATUS_NODE_TYPES = "node-types";


protected static final String JOB_TOPIC = "acs-commons/replication/package";

@Reference @Reference
private Packaging packaging; private Packaging packaging;


Expand All @@ -131,6 +141,9 @@ private enum ReplicatedAt {
@Reference @Reference
private PackageHelper packageHelper; private PackageHelper packageHelper;


@Reference
private JobManager jobManager;

private ResourceResolver adminResourceResolver; private ResourceResolver adminResourceResolver;


private boolean isMaster = false; private boolean isMaster = false;
Expand Down Expand Up @@ -163,25 +176,25 @@ public final void handleEvent(final Event event) {
if (this.isMaster) { if (this.isMaster) {
// Only run on master // Only run on master


final String[] paths = (String[]) event.getProperty("paths"); final String[] paths = (String[]) event.getProperty(PROPERTY_PATHS);


if (this.containsJcrPackagePath(paths) && !CollectionUtils.isEmpty(this.getJcrPackages(paths))) { if (this.containsJcrPackagePath(paths) && !CollectionUtils.isEmpty(this.getJcrPackages(paths))) {
JobUtil.processJob(event, this); jobManager.addJob(JOB_TOPIC, Collections.<String, Object>singletonMap(PROPERTY_PATHS, paths));
} }
} }
} }


@Override @Override
public final boolean process(final Event event) { public final JobResult process(final Job job) {
final String[] paths = (String[]) event.getProperty("paths"); final String[] paths = (String[]) job.getProperty(PROPERTY_PATHS);


log.debug("Processing Replication Status Update for JCR Package: {}", paths); log.debug("Processing Replication Status Update for JCR Package: {}", paths);


final List<JcrPackage> jcrPackages = this.getJcrPackages(paths); final List<JcrPackage> jcrPackages = this.getJcrPackages(paths);


if (CollectionUtils.isEmpty(jcrPackages)) { if (CollectionUtils.isEmpty(jcrPackages)) {
log.warn("JCR Package is unavailable for Replication Status Update at: {}", paths); log.warn("JCR Package is unavailable for Replication Status Update at: {}", paths);
return true; return JobResult.OK;
} }


for (final JcrPackage jcrPackage : jcrPackages) { for (final JcrPackage jcrPackage : jcrPackages) {
Expand Down Expand Up @@ -221,7 +234,7 @@ public final boolean process(final Event event) {
} }
} }


return true; return JobResult.OK;
} }


/** /**
Expand Down
Expand Up @@ -23,7 +23,6 @@
import com.adobe.acs.commons.workflow.synthetic.impl.exceptions.SyntheticCompleteWorkflowException; import com.adobe.acs.commons.workflow.synthetic.impl.exceptions.SyntheticCompleteWorkflowException;
import com.adobe.acs.commons.workflow.synthetic.impl.exceptions.SyntheticRestartWorkflowException; import com.adobe.acs.commons.workflow.synthetic.impl.exceptions.SyntheticRestartWorkflowException;
import com.adobe.acs.commons.workflow.synthetic.impl.exceptions.SyntheticTerminateWorkflowException; import com.adobe.acs.commons.workflow.synthetic.impl.exceptions.SyntheticTerminateWorkflowException;
import com.day.cq.security.Authorizable;
import com.day.cq.workflow.WorkflowException; import com.day.cq.workflow.WorkflowException;
import com.day.cq.workflow.WorkflowService; import com.day.cq.workflow.WorkflowService;
import com.day.cq.workflow.WorkflowSession; import com.day.cq.workflow.WorkflowSession;
Expand All @@ -36,6 +35,8 @@
import com.day.cq.workflow.exec.filter.WorkItemFilter; import com.day.cq.workflow.exec.filter.WorkItemFilter;
import com.day.cq.workflow.model.WorkflowModel; import com.day.cq.workflow.model.WorkflowModel;
import com.day.cq.workflow.model.WorkflowModelFilter; import com.day.cq.workflow.model.WorkflowModelFilter;

import org.apache.jackrabbit.api.security.user.Authorizable;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;


Expand Down Expand Up @@ -112,7 +113,6 @@ public final boolean isSuperuser() {
return true; return true;
} }


@Deprecated
@Override @Override
public final Authorizable getUser() { public final Authorizable getUser() {
throw new UnsupportedOperationException(UNSUPPORTED_OPERATION_MESSAGE); throw new UnsupportedOperationException(UNSUPPORTED_OPERATION_MESSAGE);
Expand Down Expand Up @@ -289,13 +289,11 @@ public final WorkflowData newWorkflowData(final String payloadType, final Object
return new SyntheticWorkflowData(payloadType, payload); return new SyntheticWorkflowData(payloadType, payload);
} }


@Deprecated
@Override @Override
public final List<Authorizable> getDelegatees(final WorkItem workItem) throws WorkflowException { public final List<Authorizable> getDelegatees(final WorkItem workItem) throws WorkflowException {
throw new UnsupportedOperationException(UNSUPPORTED_OPERATION_MESSAGE); throw new UnsupportedOperationException(UNSUPPORTED_OPERATION_MESSAGE);
} }


@Deprecated
@Override @Override
public final void delegateWorkItem(final WorkItem workItem, final Authorizable authorizable) public final void delegateWorkItem(final WorkItem workItem, final Authorizable authorizable)
throws WorkflowException { throws WorkflowException {
Expand Down
Expand Up @@ -11,6 +11,7 @@
import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap; import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.api.wrappers.ValueMapDecorator; import org.apache.sling.api.wrappers.ValueMapDecorator;
import org.apache.sling.event.jobs.Job;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
Expand Down Expand Up @@ -91,10 +92,8 @@ public void testProcess() throws Exception {


final String[] paths = new String[] { packagePath }; final String[] paths = new String[] { packagePath };


final Map<String, Object> map = new HashMap<String, Object>(); final Job job = mock(Job.class);
map.put("paths", paths); when(job.getProperty("paths")).thenReturn(paths);

final Event event = new Event("MOCK", map);


when(adminResourceResolver.getResource(packagePath)).thenReturn(packageResource); when(adminResourceResolver.getResource(packagePath)).thenReturn(packageResource);
when(packageResource.adaptTo(Node.class)).thenReturn(packageNode); when(packageResource.adaptTo(Node.class)).thenReturn(packageNode);
Expand Down Expand Up @@ -126,7 +125,7 @@ public void testProcess() throws Exception {
when(contentResource3parent.adaptTo(Node.class)).thenReturn(contentNode3parent); when(contentResource3parent.adaptTo(Node.class)).thenReturn(contentNode3parent);
when(contentNode3parent.isNodeType("sling:OrderedFolder")).thenReturn(true); when(contentNode3parent.isNodeType("sling:OrderedFolder")).thenReturn(true);


jcrPackageReplicationStatusEventHandler.process(event); jcrPackageReplicationStatusEventHandler.process(job);


verify(replicationStatusManager, times(1)).setReplicationStatus( verify(replicationStatusManager, times(1)).setReplicationStatus(
eq(adminResourceResolver), eq(adminResourceResolver),
Expand Down
3 changes: 2 additions & 1 deletion content/pom.xml
Expand Up @@ -184,7 +184,8 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.adobe.aem</groupId> <groupId>com.adobe.aem</groupId>
<artifactId>aem-api</artifactId> <artifactId>uber-jar</artifactId>
<classifier>apis</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>commons-lang</groupId> <groupId>commons-lang</groupId>
Expand Down
5 changes: 3 additions & 2 deletions pom.xml
Expand Up @@ -256,8 +256,9 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.adobe.aem</groupId> <groupId>com.adobe.aem</groupId>
<artifactId>aem-api</artifactId> <artifactId>uber-jar</artifactId>
<version>6.0.0.1</version> <version>6.2.0-SNAPSHOT</version>
<classifier>apis</classifier>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
Expand Down

0 comments on commit d633dd4

Please sign in to comment.