svn commit: r1632217 - in /sling/trunk/bundles/extensions/event/src: main/java/org/apache/sling/event/impl/jobs/ main/java/org/apache/sling/event/impl/jobs/queues/ main/java/org/apache/sling/event/imp

2014-10-15 Thread cziegeler
Author: cziegeler
Date: Thu Oct 16 06:52:39 2014
New Revision: 1632217

URL: http://svn.apache.org/r1632217
Log:
SLING-4048 : Avoid keeping jobs in memory. Refactor job traversal and implement 
different queue strategies (WiP)

Added:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobTopicTraverser.java
  - copied, changed from r1632213, 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/JobTopicTraverser.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/CheckTopologyTask.java
  - copied, changed from r1632213, 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/MaintenanceTask.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/FindUnfinishedJobsTask.java
  - copied, changed from r1632213, 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/RestartTask.java
Removed:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/JobTopicTraverser.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/MaintenanceTask.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/RestartTask.java
Modified:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/tasks/HistoryCleanUpTask.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/QueueJobCache.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/TopicManager.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/TopologyHandler.java

sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/OrderedQueueTest.java

Copied: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobTopicTraverser.java
 (from r1632213, 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/JobTopicTraverser.java)
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobTopicTraverser.java?p2=sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobTopicTraverser.java&p1=sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/JobTopicTraverser.java&r1=1632213&r2=1632217&rev=1632217&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/JobTopicTraverser.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobTopicTraverser.java
 Thu Oct 16 06:52:39 2014
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.event.impl.jobs.topics;
+package org.apache.sling.event.impl.jobs;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -24,20 +24,68 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.sling.api.resource.Resource;
-import org.apache.sling.event.impl.jobs.JobImpl;
-import org.apache.sling.event.impl.jobs.Utility;
 import org.slf4j.Logger;
 
+/**
+ * The job topic traverser is an utility class to traverse all jobs
+ * of a specific topic in order of creation.
+ */
 public class JobTopicTraverser {
 
-public interface Handler {
+/**
+ * Callback called for each found job.
+ */
+public interface JobCallback {
+
+/**
+ * Callback handle for a job
+ * @param job The job to handle
+ * @return true If processing should continue, 
false otherwise.
+ */
 boolean handle(final JobImpl job);
 }
 
+/**
+ * Callback called for each found resource.
+ */
+public interface ResourceCallback {
+
+/**
+ * Callback handle for a resource
+ * @param rsrc The resource to handle
+ * @return true If processing should continue, 
false otherwise.
+ */
+boolean handle(final Resource rsrc);
+}
+
+/**
+ * Traverse the topic and call the callback for each found job.
+ *
+ * Once the callback notifies to stop traversing by returning false, the 
current minute
+ * will be processed completely (to ensure correct ordering of jobs) and 
then the
+ * traversal stops.
+ *
+ * @param loggerThe logger to use for debug logging
+ * @param topicResource The topic resource
+ * @param handler   The callback
+ */
+public static v

svn commit: r1632186 - in /sling/trunk/testing/mocks/sling-mock/src: main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java test/java/org/apache/sling/testing/mock/sli

2014-10-15 Thread sseifert
Author: sseifert
Date: Wed Oct 15 22:03:29 2014
New Revision: 1632186

URL: http://svn.apache.org/r1632186
Log:
SLING-4042 per default no charencoding should be set in mock response

Modified:

sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java

sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java

Modified: 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java?rev=1632186&r1=1632185&r2=1632186&view=diff
==
--- 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
 Wed Oct 15 22:03:29 2014
@@ -26,7 +26,6 @@ import javax.servlet.ServletOutputStream
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.commons.lang3.CharEncoding;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.adapter.SlingAdaptable;
@@ -39,7 +38,7 @@ public class MockSlingHttpServletRespons
 private static final String CHARSET_SEPARATOR = ";charset=";
 
 private String contentType;
-private String characterEncoding = CharEncoding.ISO_8859_1;
+private String characterEncoding;
 private int contentLength;
 private int status = HttpServletResponse.SC_OK;
 private int bufferSize = 1024 * 8;

Modified: 
sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java?rev=1632186&r1=1632185&r2=1632186&view=diff
==
--- 
sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java
 (original)
+++ 
sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java
 Wed Oct 15 22:03:29 2014
@@ -47,11 +47,19 @@ public class MockSlingHttpServletRespons
 @Test
 public void testContentTypeCharset() throws Exception {
 assertNull(response.getContentType());
-assertEquals(CharEncoding.ISO_8859_1, response.getCharacterEncoding());
+assertNull(response.getCharacterEncoding());
 
+response.setContentType("image/gif");
+assertEquals("image/gif", response.getContentType());
+assertNull(response.getCharacterEncoding());
+
 response.setContentType("text/plain;charset=UTF-8");
 assertEquals("text/plain;charset=UTF-8", response.getContentType());
 assertEquals(CharEncoding.UTF_8, response.getCharacterEncoding());
+
+response.setCharacterEncoding(CharEncoding.ISO_8859_1);
+assertEquals("text/plain;charset=ISO-8859-1", 
response.getContentType());
+assertEquals(CharEncoding.ISO_8859_1, response.getCharacterEncoding());
 }
 
 @Test




svn commit: r1632142 - in /sling/trunk/bundles/extensions/event/src: main/java/org/apache/sling/event/impl/jobs/ main/java/org/apache/sling/event/impl/jobs/console/ main/java/org/apache/sling/event/im

2014-10-15 Thread cziegeler
Author: cziegeler
Date: Wed Oct 15 17:57:24 2014
New Revision: 1632142

URL: http://svn.apache.org/r1632142
Log:
SLING-4048 : Avoid keeping jobs in memory. Rewrite statistics, queue and topic 
handling (WiP)

Added:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/
  - copied from r1632139, 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/
Removed:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/
Modified:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobSchedulerImpl.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/MaintenanceTask.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/InventoryPlugin.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/WebConsolePlugin.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/TopicManager.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/MaintenanceTask.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/RestartTask.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/TopologyAware.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/TopologyCapabilities.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/TopologyHandler.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topology/UpgradeTask.java

sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/InstanceDescriptionComparatorTest.java

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java?rev=1632142&r1=1632141&r2=1632142&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java
 Wed Oct 15 17:57:24 2014
@@ -40,9 +40,9 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.discovery.PropertyProvider;
+import org.apache.sling.event.impl.jobs.topology.TopologyCapabilities;
 import org.apache.sling.event.impl.support.TopicMatcher;
 import org.apache.sling.event.impl.support.TopicMatcherHelper;
-import org.apache.sling.event.impl.topology.TopologyCapabilities;
 import org.apache.sling.event.jobs.Job;
 import org.apache.sling.event.jobs.consumer.JobConsumer;
 import org.apache.sling.event.jobs.consumer.JobConsumer.JobResult;

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java?rev=1632142&r1=1632141&r2=1632142&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
 Wed Oct 15 17:57:24 2014
@@ -52,12 +52,12 @@ import org.apache.sling.event.impl.jobs.
 import org.apache.sling.event.impl.jobs.queues.AbstractJobQueue;
 import org.apache.sling.event.impl.jobs.queues.QueueManager;
 import org.apache.sling.event.impl.jobs.stats.StatisticsManager;
+import org.apache.sling.event.impl.jobs.topology.TopologyAware;
+import org.apache.sling.event.impl.jobs.topology.TopologyCapabilities;
+import org.apache.sling.event.impl.jobs.topology.TopologyHandler;
 import org.apache.sling.event.impl.support.Environment;
 import org.apache.sling.event.impl.support.ResourceHelper;
 import org.apache.sling.event.impl.support.ScheduleInfoImpl;
-import org.apache.sling.event.impl.topology.TopologyAware;
-import org.apache.sling.event.impl.topology.TopologyCapabilities;
-import org.apache.sling.event.impl.topology.TopologyHandler;
 import org.apache.sling.event.jobs.Job;
 import org.apache.sling

svn commit: r1632141 [3/3] - in /sling/trunk/bundles/extensions/event: ./ src/main/java/org/apache/sling/event/impl/jobs/ src/main/java/org/apache/sling/event/impl/jobs/config/ src/main/java/org/apach

2014-10-15 Thread cziegeler
Added: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/stats/StatisticsManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/stats/StatisticsManager.java?rev=1632141&view=auto
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/stats/StatisticsManager.java
 (added)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/stats/StatisticsManager.java
 Wed Oct 15 17:55:52 2014
@@ -0,0 +1,177 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.event.impl.jobs.stats;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.SlingConstants;
+import org.apache.sling.event.EventUtil;
+import org.apache.sling.event.impl.jobs.JobManagerConfiguration;
+import org.apache.sling.event.impl.jobs.TestLogger;
+import org.apache.sling.event.impl.jobs.Utility;
+import org.apache.sling.event.impl.jobs.config.QueueConfigurationManager;
+import 
org.apache.sling.event.impl.jobs.config.QueueConfigurationManager.QueueInfo;
+import org.apache.sling.event.jobs.Job;
+import org.apache.sling.event.jobs.NotificationConstants;
+import org.apache.sling.event.jobs.Statistics;
+import org.apache.sling.event.jobs.TopicStatistics;
+import org.osgi.service.event.Event;
+import org.osgi.service.event.EventConstants;
+import org.osgi.service.event.EventHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Component(immediate=true)
+@Service(value={EventHandler.class, StatisticsManager.class})
+@Properties({
+@Property(name=EventConstants.EVENT_TOPIC,
+  value={SlingConstants.TOPIC_RESOURCE_ADDED,
+ NotificationConstants.TOPIC_JOB_STARTED,
+ NotificationConstants.TOPIC_JOB_CANCELLED,
+ NotificationConstants.TOPIC_JOB_FAILED,
+ NotificationConstants.TOPIC_JOB_FINISHED,
+ NotificationConstants.TOPIC_JOB_REMOVED})
+})
+// TODO register event handlers on activate to allow for filters!
+public class StatisticsManager implements EventHandler {
+
+/** Logger. */
+private final Logger logger = new 
TestLogger(LoggerFactory.getLogger(this.getClass()));
+
+@Reference
+private JobManagerConfiguration configuration;
+
+@Reference
+private QueueConfigurationManager queueConfigurationManager;
+
+/** Current statistics. */
+private final StatisticsImpl baseStatistics = new StatisticsImpl();
+
+/** Statistics per topic. */
+private final ConcurrentMap topicStatistics = new 
ConcurrentHashMap();
+
+/** Statistics per queue. */
+private final ConcurrentMap queueStatistics = new 
ConcurrentHashMap();
+
+public Statistics getOverallStatistics() {
+return this.baseStatistics;
+}
+
+public Map getTopicStatistics() {
+return topicStatistics;
+}
+
+public Statistics getQueueStatistics(final String queueName) {
+Statistics queueStats = queueStatistics.get(queueName);
+if ( queueStats == null ) {
+queueStats = new StatisticsImpl();
+}
+return queueStats;
+}
+
+private StatisticsImpl getStatisticsForQueue(final String queueName) {
+if ( queueName == null ) {
+return null;
+}
+StatisticsImpl queueStats = 
(StatisticsImpl)queueStatistics.get(queueName);
+if ( queueStats == null ) {
+queueStatistics.putIfAbsent(queueName, new StatisticsImpl());
+queueStats = (StatisticsImpl)queueStatistics.get(queueName);
+}
+return queueStats;
+}
+
+@Override
+public void handleEvent(final Event event) {
+if ( SlingConstants.TOPIC_RESOURCE_ADDED.equals(event.

svn commit: r1632141 [2/3] - in /sling/trunk/bundles/extensions/event: ./ src/main/java/org/apache/sling/event/impl/jobs/ src/main/java/org/apache/sling/event/impl/jobs/config/ src/main/java/org/apach

2014-10-15 Thread cziegeler
Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java?rev=1632141&r1=1632140&r2=1632141&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java
 Wed Oct 15 17:55:52 2014
@@ -19,7 +19,6 @@
 package org.apache.sling.event.impl.jobs.queues;
 
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.Dictionary;
 import java.util.HashMap;
 import java.util.Hashtable;
@@ -30,18 +29,16 @@ import java.util.concurrent.atomic.Atomi
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.sling.commons.threads.ThreadPool;
-import org.apache.sling.commons.threads.ThreadPoolManager;
 import org.apache.sling.event.EventUtil;
 import org.apache.sling.event.impl.EventingThreadPool;
 import org.apache.sling.event.impl.jobs.InternalJobState;
-import org.apache.sling.event.impl.jobs.JobConsumerManager;
 import org.apache.sling.event.impl.jobs.JobExecutionResultImpl;
 import org.apache.sling.event.impl.jobs.JobHandler;
 import org.apache.sling.event.impl.jobs.JobImpl;
+import org.apache.sling.event.impl.jobs.TestLogger;
 import org.apache.sling.event.impl.jobs.Utility;
 import org.apache.sling.event.impl.jobs.config.InternalQueueConfiguration;
 import org.apache.sling.event.impl.jobs.deprecated.JobStatusNotifier;
-import org.apache.sling.event.impl.jobs.stats.StatisticsImpl;
 import org.apache.sling.event.impl.support.Environment;
 import org.apache.sling.event.impl.support.ResourceHelper;
 import org.apache.sling.event.jobs.Job;
@@ -52,7 +49,6 @@ import org.apache.sling.event.jobs.consu
 import org.apache.sling.event.jobs.consumer.JobExecutionResult;
 import org.apache.sling.event.jobs.consumer.JobExecutor;
 import org.osgi.service.event.Event;
-import org.osgi.service.event.EventAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -61,97 +57,97 @@ import org.slf4j.LoggerFactory;
  * functionality for the job event handling.
  */
 public abstract class AbstractJobQueue
-extends StatisticsImpl
-implements JobStatusNotifier, Queue {
-
-/** Default number of seconds to wait for an ack. */
-private static final long DEFAULT_WAIT_FOR_ACK_IN_MS = 60 * 1000; // by 
default we wait 60 secs
+implements Queue, JobStatusNotifier {
 
 /** Default timeout for suspend. */
 private static final long MAX_SUSPEND_TIME = 1000 * 60 * 60; // 60 mins
 
+/** Default number of seconds to wait for an ack. */
+private static final long DEFAULT_WAIT_FOR_ACK_IN_MS = 60 * 1000; // by 
default we wait 60 secs
+
 /** The logger. */
 protected final Logger logger;
 
 /** Configuration. */
 protected final InternalQueueConfiguration configuration;
 
-/** The event admin. */
-private final EventAdmin eventAdmin;
-
-/** The job consumer manager. */
-private final JobConsumerManager jobConsumerManager;
-
 /** The queue name. */
 protected volatile String queueName;
 
 /** Are we still running? */
 protected volatile boolean running;
 
-/** Is the queue currently waiting(sleeping) */
-protected volatile boolean isWaiting = false;
-
-/** The map of events we're have started (send). */
-private final Map startedJobsLists = new 
HashMap();
-
-/** The map of events we're processing. */
-private final Map processsingJobsLists = new 
HashMap();
-
 /** Suspended since. */
 private volatile long suspendedSince = -1L;
 
 /** Suspend lock. */
 private final Object suspendLock = new Object();
 
+/** Services used by the queues. */
+protected final QueueServices services;
+
+/** The map of events we're processing. */
+private final Map processingJobsLists = new 
HashMap();
+
+private final ThreadPool threadPool;
+
+/** The map of events we're have started (send). */
+private final Map startedJobsLists = new 
HashMap();
+
 /** Async counter. */
 private final AtomicInteger asyncCounter = new AtomicInteger();
 
+/** Is the queue currently waiting(sleeping) */
+protected volatile boolean isWaiting = false;
+
 /** Flag for outdated. */
 private final AtomicBoolean isOutdated = new AtomicBoolean(false);
 
-/** Marker flag if the queue is waiting for another element (= empty) */
-protected boolean isWaitingForNext = false;
-
 /** A marker for closing the queue. */
 private final AtomicBoolean closeMarker = new AtomicBoolean(false);
 
-private final ThreadPool threadPool;
-
 /**
- * Start this queue
+ * Create a new queue
  * @pa

svn commit: r1632141 [1/3] - in /sling/trunk/bundles/extensions/event: ./ src/main/java/org/apache/sling/event/impl/jobs/ src/main/java/org/apache/sling/event/impl/jobs/config/ src/main/java/org/apach

2014-10-15 Thread cziegeler
Author: cziegeler
Date: Wed Oct 15 17:55:52 2014
New Revision: 1632141

URL: http://svn.apache.org/r1632141
Log:
SLING-4048 : Avoid keeping jobs in memory. Rewrite statistics, queue and topic 
handling (WiP)

Added:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/TestLogger.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/QueueManager.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/QueueServices.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/stats/StatisticsManager.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/QueueJobCache.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/TopicManager.java
   (with props)

sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/JobsImplTest.java
   (with props)
Removed:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/BackgroundLoader.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractParallelJobQueue.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/TopicRoundRobinJobQueue.java

sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/DropQueueTest.java

sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/IgnoreQueueTest.java
Modified:
sling/trunk/bundles/extensions/event/pom.xml

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobHandler.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobImpl.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/InternalQueueConfiguration.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/AbstractJobQueue.java
   (contents, props changed)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/OrderedJobQueue.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/ParallelJobQueue.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/JobTopicTraverser.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/jobs/QueueConfiguration.java

sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/it/OrderedQueueTest.java

Modified: sling/trunk/bundles/extensions/event/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/pom.xml?rev=1632141&r1=1632140&r2=1632141&view=diff
==
--- sling/trunk/bundles/extensions/event/pom.xml (original)
+++ sling/trunk/bundles/extensions/event/pom.xml Wed Oct 15 17:55:52 2014
@@ -116,7 +116,7 @@
 -Xmx2048m -XX:MaxPermSize=512m
 
 
-**/it/*
+**/it/OrderedQueueTest*
 
 
 

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobHandler.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobHandler.java?rev=1632141&r1=1632140&r2=1632141&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobHandler.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobHandler.java
 Wed Oct 15 17:55:52 2014
@@ -65,6 +65,8 @@ public class JobHandler {
  * @return true if rescheduling was successful, 
false otherwise.
  */
 public boolean reschedule() {
+// update event with retry count and retries
+this.job.retry();
 return this.jobManager.reschedule(this.job);
 }
 

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobImpl.java?rev=1632141&r1=1632140&r2=1632141&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobImpl.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/sr

svn commit: r1632101 - in /sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices: events/EventsCounterImpl.java serversidetests/ResourceResolverTest.java

2014-10-15 Thread bdelacretaz
Author: bdelacretaz
Date: Wed Oct 15 15:55:21 2014
New Revision: 1632101

URL: http://svn.apache.org/r1632101
Log:
SLING-4061 - more logging to help troubleshoot

Modified:

sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/events/EventsCounterImpl.java

sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java

Modified: 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/events/EventsCounterImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/events/EventsCounterImpl.java?rev=1632101&r1=1632100&r2=1632101&view=diff
==
--- 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/events/EventsCounterImpl.java
 (original)
+++ 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/events/EventsCounterImpl.java
 Wed Oct 15 15:55:21 2014
@@ -73,7 +73,11 @@ public class EventsCounterImpl extends S
 
 public int getEventsCount(String topic) {
 final AtomicInteger counter = counters.get(topic);
-return counter == null ? 0 : counter.get();
+if(counter == null) {
+log.debug("getEventsCount({}) returns 0, counter not found", 
topic);
+return 0;
+}
+return counter.get();
 }
 
 @Override

Modified: 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java?rev=1632101&r1=1632100&r2=1632101&view=diff
==
--- 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
 (original)
+++ 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
 Wed Oct 15 15:55:21 2014
@@ -96,6 +96,7 @@ public class ResourceResolverTest {
 }
 
 final int oldEventsCount = 
eventsCounter.getEventsCount(MAPPING_EVENT_TOPIC);
+logger.debug("Waiting for event counter {} to change from current 
value {}", MAPPING_EVENT_TOPIC, oldEventsCount);
 session.save();
 final long timeout = System.currentTimeMillis() + updateTimeout;
 while(System.currentTimeMillis() < timeout) {
@@ -111,6 +112,7 @@ public class ResourceResolverTest {
 }
 }
 eventTimeoutTopic = MAPPING_EVENT_TOPIC;
+logger.error("Timeout waiting for event counter {} to change from 
current value {}", MAPPING_EVENT_TOPIC, oldEventsCount);
 fail("Timeout waiting for " + MAPPING_EVENT_TOPIC + " event, after " + 
updateTimeout + " msec");
 }
 




svn commit: r1632084 - /sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java

2014-10-15 Thread bdelacretaz
Author: bdelacretaz
Date: Wed Oct 15 15:24:22 2014
New Revision: 1632084

URL: http://svn.apache.org/r1632084
Log:
SLING-4061 - fail all following tests upon even timeout, to fail the overall 
test faster

Modified:

sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java

Modified: 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java?rev=1632084&r1=1632083&r2=1632084&view=diff
==
--- 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
 (original)
+++ 
sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
 Wed Oct 15 15:24:22 2014
@@ -47,6 +47,7 @@ import org.apache.sling.launchpad.testse
 import 
org.apache.sling.launchpad.testservices.exported.FakeSlingHttpServletRequest;
 import org.junit.AfterClass;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -69,6 +70,7 @@ public class ResourceResolverTest {
 private String [] vanity;
 private static List toDelete = new ArrayList();
 private static ResourceResolverFactory cleanupResolverFactory;
+private static String eventTimeoutTopic;
 
 @TestReference
 private EventsCounter eventsCounter;
@@ -88,6 +90,11 @@ public class ResourceResolverTest {
  *  that signals that mappings have been updated.
  */
 private void saveMappings(Session session) throws Exception {
+if(eventTimeoutTopic != null) {
+// Avoid wasting a lot of time if events are not detected in 
timely fashion
+fail("Event timeout (" + eventTimeoutTopic + ") detected in 
previous tests, failing saveMappings()");
+}
+
 final int oldEventsCount = 
eventsCounter.getEventsCount(MAPPING_EVENT_TOPIC);
 session.save();
 final long timeout = System.currentTimeMillis() + updateTimeout;
@@ -103,6 +110,7 @@ public class ResourceResolverTest {
 } catch(InterruptedException ignore) {
 }
 }
+eventTimeoutTopic = MAPPING_EVENT_TOPIC;
 fail("Timeout waiting for " + MAPPING_EVENT_TOPIC + " event, after " + 
updateTimeout + " msec");
 }
 
@@ -161,6 +169,12 @@ public class ResourceResolverTest {
 }
 
 @AfterClass
+@BeforeClass
+public static void clearTimeouts() {
+eventTimeoutTopic = null;
+}
+
+@AfterClass
 public static void deleteTestNodes() throws Exception {
 final ResourceResolver resolver = 
cleanupResolverFactory.getAdministrativeResourceResolver(null);
 final Session session = resolver.adaptTo(Session.class);




svn commit: r1632066 - in /sling/trunk/contrib/extensions/replication: core/src/main/java/org/apache/sling/replication/agent/impl/ core/src/main/java/org/apache/sling/replication/packaging/impl/export

2014-10-15 Thread tommaso
Author: tommaso
Date: Wed Oct 15 14:49:14 2014
New Revision: 1632066

URL: http://svn.apache.org/r1632066
Log:
SLING-4052 - cleaned up jcr pacakges

Removed:

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilderFactory.java

sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.replication.serialization.impl.vlt.FileVaultReplicationPackageBuilderFactory-vlt.json
Modified:

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporter.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/LocalReplicationPackageExporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/DefaultReplicationPackageExporterStrategy.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/PrivilegeReplicationPackageExporterStrategy.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTriggerRequestHandler.java

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java?rev=1632066&r1=1632065&r2=1632066&view=diff
==
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java
 Wed Oct 15 14:49:14 2014
@@ -40,13 +40,13 @@ import org.apache.sling.replication.even
 import org.apache.sling.replication.packaging.ReplicationPackageExporter;
 import 
org.apache.sling.replication.packaging.ReplicationPackageExporterStrategy;
 import org.apache.sling.replication.packaging.ReplicationPackageImporter;
-import org.apache.sling.replication.packaging.impl.exporter.*;
+import 
org.apache.sling.replication.packaging.impl.exporter.AgentReplicationPackageExporter;
+import 
org.apache.sling.replication.packaging.impl.exporter.LocalReplicationPackageExporter;
+import 
org.apache.sling.replication.packaging.impl.exporter.RemoteReplicationPackageExporter;
 import 
org.apache.sling.replication.packaging.impl.exporter.strategy.DefaultReplicationPackageExporterStrategy;
 import 
org.apache.sling.replication.packaging.impl.exporter.strategy.PrivilegeReplicationPackageExporterStrategy;
 import 
org.apache.sling.replication.packaging.impl.importer.LocalReplicationPackageImporter;
-import 
org.apache.sling.replication.packaging.impl.importer.LocalReplicationPackageImporterFactory;
 import 
org.apache.sling.replication.packaging.impl.importer.RemoteReplicationPackageImporter;
-import 
org.apache.sling.replication.packaging.impl.importer.RemoteReplicationPackageImporterFactory;
 import org.apache.sling.replication.queue.ReplicationQueueDistributionStrategy;
 import org.apache.sling.replication.queue.ReplicationQueueProvider;
 import org.apache.sling.replication.serialization.ReplicationPackageBuilder;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org

svn commit: r1632062 - in /sling/trunk/contrib/extensions/replication: core/src/main/java/org/apache/sling/replication/agent/impl/ core/src/main/java/org/apache/sling/replication/packaging/impl/export

2014-10-15 Thread tommaso
Author: tommaso
Date: Wed Oct 15 14:46:42 2014
New Revision: 1632062

URL: http://svn.apache.org/r1632062
Log:
SLING-4052 - cleaned up jcr pacakges

Added:

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporter.java
   (with props)
Modified:

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentProvider.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/GenericReplicationComponentFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/LocalReplicationPackageExporter.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/LocalReplicationPackageExporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporter.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/PrivilegeReplicationPackageExporterStrategy.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporter.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporter.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporterFactory.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackage.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java

sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-reverse.json

sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.exporter.AgentReplicationPackageExporterFactory-reverse.json

sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.exporter.LocalReplicationPackageExporterFactory-default.json

sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.importer.AdvancedRemoteReplicationPackageImporter-cache-flush.json

sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.importer.LocalReplicationPackageImporterFactory-default.json

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java?rev=1632062&r1=1632061&r2=1632062&view=diff
==
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java
 Wed Oct 15 14:46:42 2014
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
  *

svn commit: r1632023 - in /sling/trunk/bundles/extensions/models: api/src/main/java/org/apache/sling/models/factory/ModelFactory.java impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactor

2014-10-15 Thread sseifert
Author: sseifert
Date: Wed Oct 15 13:41:31 2014
New Revision: 1632023

URL: http://svn.apache.org/r1632023
Log:
SLING-4057 ModelFactory: Ordering of method arguments inconsistent

Modified:

sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java

sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java

Modified: 
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java?rev=1632023&r1=1632022&r2=1632023&view=diff
==
--- 
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java
 (original)
+++ 
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/factory/ModelFactory.java
 Wed Oct 15 13:41:31 2014
@@ -43,7 +43,7 @@ public interface ModelFactory {
  * @return false in case the given class can not be adapted from the given 
adaptable
  * @throws InvalidModelException in case the given class does not have a 
model annotation
  */
-public boolean canCreateFromAdaptable(Class modelClass, Object 
adaptable) throws InvalidModelException;
+public boolean canCreateFromAdaptable(Object adaptable, Class 
modelClass) throws InvalidModelException;
 
 /**
  * 

Modified: 
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java?rev=1632023&r1=1632022&r2=1632023&view=diff
==
--- 
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
 (original)
+++ 
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
 Wed Oct 15 13:41:31 2014
@@ -179,7 +179,7 @@ public class ModelAdapterFactory impleme
 }
 
 @Override
-public boolean canCreateFromAdaptable(Class modelClass, Object 
adaptable) throws InvalidModelException {
+public boolean canCreateFromAdaptable(Object adaptable, Class 
modelClass) throws InvalidModelException {
 return innerCanCreateFromAdaptable(modelClass, adaptable);
 }
 
@@ -897,7 +897,7 @@ public class ModelAdapterFactory impleme
 private Object adaptIfNecessary(Object value, Class type, Type 
genericType, Result parentResult) {
 if (!isAcceptableType(type, genericType, value)) {
 Class declaredType = type;
-if (isModelClass(type) && canCreateFromAdaptable(type, value)) {
+if (isModelClass(type) && canCreateFromAdaptable(value, type)) {
 Result result = internalCreateModel(value, type);
 if (result.getModel() == null) {
 parentResult.appendFailures(result);




svn commit: r1632006 - /sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/Result.java

2014-10-15 Thread sseifert
Author: sseifert
Date: Wed Oct 15 13:08:24 2014
New Revision: 1632006

URL: http://svn.apache.org/r1632006
Log:
reformat list of enums (no code change)

Modified:

sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/Result.java

Modified: 
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/Result.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/Result.java?rev=1632006&r1=1632005&r2=1632006&view=diff
==
--- 
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/Result.java
 (original)
+++ 
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/Result.java
 Wed Oct 15 13:08:24 2014
@@ -31,13 +31,14 @@ import org.slf4j.Logger;
 public class Result {
 
 enum FailureType {
-ADAPTABLE_DOES_NOT_MATCH("Adaptable is not acceptable for the model 
class"), FAILED_CALLING_POST_CONSTRUCT(
-"Failure calling post-construct method"), NO_MODEL_ANNOTATION(
-"Provided Adapter class does not have a Model annotation"), 
NO_USABLE_CONSTRUCTOR(
-"Unable to find a useable constructor"), OTHER("Unclassified 
problem"), MISSING_METHODS(
-"Required methods %s on model %s were not able to be 
injected."), MISSING_FIELDS(
-"Required fields %s on model %s were not able to be 
injected."), MISSING_CONSTRUCTOR_PARAMS(
-"Required constructor parameteres %s on model %s were not able 
to be injected.");
+ADAPTABLE_DOES_NOT_MATCH("Adaptable is not acceptable for the model 
class"),
+FAILED_CALLING_POST_CONSTRUCT("Failure calling post-construct method"),
+NO_MODEL_ANNOTATION("Provided Adapter class does not have a Model 
annotation"),
+NO_USABLE_CONSTRUCTOR("Unable to find a useable constructor"),
+OTHER("Unclassified problem"),
+MISSING_METHODS("Required methods %s on model %s were not able to be 
injected."),
+MISSING_FIELDS("Required fields %s on model %s were not able to be 
injected."),
+MISSING_CONSTRUCTOR_PARAMS("Required constructor parameteres %s on 
model %s were not able to be injected.");
 
 private String message;
 




svn commit: r1632005 - /sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/Model.java

2014-10-15 Thread sseifert
Author: sseifert
Date: Wed Oct 15 13:00:00 2014
New Revision: 1632005

URL: http://svn.apache.org/r1632005
Log:
SLING-4055 "Model" annotation should be @Documented

Modified:

sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/Model.java

Modified: 
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/Model.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/Model.java?rev=1632005&r1=1632004&r2=1632005&view=diff
==
--- 
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/Model.java
 (original)
+++ 
sling/trunk/bundles/extensions/models/api/src/main/java/org/apache/sling/models/annotations/Model.java
 Wed Oct 15 13:00:00 2014
@@ -16,6 +16,7 @@
  */
 package org.apache.sling.models.annotations;
 
+import java.lang.annotation.Documented;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -26,6 +27,7 @@ import java.lang.annotation.Target;
  */
 @Target(ElementType.TYPE)
 @Retention(RetentionPolicy.RUNTIME)
+@Documented
 public @interface Model {
 
 /**




svn commit: r1631994 - in /sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl: jobs/ jobs/config/ jobs/topics/ topology/

2014-10-15 Thread cziegeler
Author: cziegeler
Date: Wed Oct 15 11:30:09 2014
New Revision: 1631994

URL: http://svn.apache.org/r1631994
Log:
SLING-4048 : Avoid keeping jobs in memory. Move topology handling to own 
handler service

Added:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/JobTopicTraverser.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/MaintenanceTask.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/RestartTask.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/UpgradeTask.java
   (with props)
Modified:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/MaintenanceTask.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/QueueConfigurationManager.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/TopologyCapabilities.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/TopologyHandler.java

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java?rev=1631994&r1=1631993&r2=1631994&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
 Wed Oct 15 11:30:09 2014
@@ -117,10 +117,6 @@ public class JobManagerImpl
 @Reference
 private EventAdmin eventAdmin;
 
-/** The configuration manager. */
-@Reference
-private QueueConfigurationManager queueConfigManager;
-
 @Reference
 private Scheduler scheduler;
 
@@ -137,6 +133,8 @@ public class JobManagerImpl
 @Reference
 private JobManagerConfiguration configuration;
 
+@Reference
+private QueueConfigurationManager queueManager;
 
 private volatile TopologyCapabilities topologyCapabilities;
 
@@ -248,7 +246,7 @@ public class JobManagerImpl
 // invoke maintenance task
 final MaintenanceTask task = this.maintenanceTask;
 if ( task != null ) {
-task.run(this.topologyCapabilities, this.queueConfigManager, 
this.schedulerRuns - 1);
+task.run(this.topologyCapabilities, this.schedulerRuns - 1);
 }
 logger.debug("Job manager maintenance: Finished #{}", 
this.schedulerRuns);
 }
@@ -270,7 +268,11 @@ public class JobManagerImpl
 }
 
 // get the queue configuration
-final QueueInfo queueInfo = 
queueConfigManager.getQueueInfo(job.getTopic());
+final TopologyCapabilities caps = this.topologyCapabilities;
+final QueueInfo queueInfo = caps != null ? 
caps.getQueueInfo(job.getTopic()) : null;
+if ( queueInfo == null ) {
+return; // TODO
+}
 final InternalQueueConfiguration config = queueInfo.queueConfiguration;
 
 // Sanity check if queue configuration has changed
@@ -288,7 +290,6 @@ public class JobManagerImpl
 } else {
 
 if ( reassign ) {
-final TopologyCapabilities caps = this.topologyCapabilities;
 reassignTargetId = (caps == null ? null : 
caps.detectTarget(job.getTopic(), job.getProperties(), queueInfo));
 
 } else {
@@ -1167,7 +1168,7 @@ public class JobManagerImpl
 final String jobName,
 final Map jobProperties,
 final List errors) {
-final QueueInfo info = this.queueConfigManager.getQueueInfo(jobTopic);
+final QueueInfo info = this.queueManager.getQueueInfo(jobTopic);
 if ( info.queueConfiguration.getType() == QueueConfiguration.Type.DROP 
) {
 if ( logger.isDebugEnabled() ) {
 logger.debug("Dropping job due to configuration of queue {} : 
{}", info.queueName, Utility.toString(jobTopic, jobName, jobProperties));
@@ -1280,7 +1281,7 @@ public class JobManagerImpl
 }
 
 public void reassign(final JobImpl job) {
-final QueueInfo queueInfo = 
queueConfigManager.getQueueInfo(job.getTopic());
+final QueueInfo queueInfo = queueManager.getQueueInfo(job.getTopic());
 final InternalQueueConfiguration config = queueInfo.queueConfiguration;
 
 // Sanity check if queue configuration has changed
@@ -1351,7 +1352,7 @@ public class JobManagerImpl

svn commit: r1631988 - /sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java

2014-10-15 Thread bdelacretaz
Author: bdelacretaz
Date: Wed Oct 15 10:13:29 2014
New Revision: 1631988

URL: http://svn.apache.org/r1631988
Log:
SLING-4016 - test TooManyCallsException with and without override

Added:

sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java

Added: 
sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java?rev=1631988&view=auto
==
--- 
sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java
 (added)
+++ 
sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/request/RequestDataTest.java
 Wed Oct 15 10:13:29 2014
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.engine.impl.request;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.request.TooManyCallsException;
+import org.apache.sling.engine.impl.SlingHttpServletRequestImpl;
+import org.apache.sling.engine.impl.SlingHttpServletResponseImpl;
+import org.jmock.Expectations;
+import org.jmock.Mockery;
+import org.jmock.integration.junit4.JMock;
+import org.jmock.integration.junit4.JUnit4Mockery;
+import org.jmock.lib.legacy.ClassImposteriser;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import static org.junit.Assert.fail;
+
+@RunWith(JMock.class)
+public class RequestDataTest {
+
+private Mockery context;
+private RequestData requestData;
+private HttpServletRequest req;
+private HttpServletResponse resp;
+private SlingHttpServletRequest slingRequest;
+private SlingHttpServletResponse slingResponse;
+
+@Before
+public void setup() throws Exception {
+context = new JUnit4Mockery() {{
+setImposteriser(ClassImposteriser.INSTANCE);
+}};
+
+req = context.mock(HttpServletRequest.class);
+resp = context.mock(HttpServletResponse.class);
+
+final ContentData contentData = context.mock(ContentData.class);
+final Servlet servlet = context.mock(Servlet.class);
+final ServletConfig servletConfig = context.mock(ServletConfig.class);
+
+context.checking(new Expectations() {{
+allowing(req).getServletPath();
+will(returnValue("/"));
+
+allowing(req).getPathInfo();
+will(returnValue(""));
+
+allowing(req).getMethod();
+will(returnValue("GET"));
+
+allowing(req).setAttribute(with(any(String.class)), 
with(any(Object.class)));
+
+allowing(contentData).getServlet();
+will(returnValue(servlet));
+
+allowing(servlet).getServletConfig();
+will(returnValue(servletConfig));
+
+allowing(servlet).service(with(any(ServletRequest.class)), 
with(any(ServletResponse.class)));
+
+allowing(servletConfig).getServletName();
+will(returnValue("SERVLET_NAME"));
+}});
+
+requestData = new RequestData(null, req, resp) {
+@Override
+public ContentData getContentData() {
+return contentData;
+}
+};
+
+slingRequest = new SlingHttpServletRequestImpl(requestData, req);
+slingResponse = new SlingHttpServletResponseImpl(requestData, resp);
+
+RequestData.setMaxCallCounter(2);
+}
+
+private void assertTooManyCallsException(int failAtCall) throws Exception {
+for(int i=0; i  < failAtCall - 1; i++) {
+RequestData.service(slingRequest, slingResponse);
+

svn commit: r1631965 - in /sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication: agent/impl/SimpleReplicationAgent.java packaging/impl/exporter/strategy/Privilege

2014-10-15 Thread tommaso
Author: tommaso
Date: Wed Oct 15 07:49:18 2014
New Revision: 1631965

URL: http://svn.apache.org/r1631965
Log:
SLING-3899 - correct check on agent session

Modified:

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java

sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/PrivilegeReplicationPackageExporterStrategy.java

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java?rev=1631965&r1=1631964&r2=1631965&view=diff
==
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java
 Wed Oct 15 07:49:18 2014
@@ -141,7 +141,15 @@ public class SimpleReplicationAgent impl
 
 List exportedPackages = 
replicationPackageExporterStrategy.exportPackages(resourceResolver,
 replicationRequest,
-replicationPackageExporter);
+new ReplicationPackageExporter() {
+public List 
exportPackage(ResourceResolver resourceResolver, ReplicationRequest 
replicationRequest) throws ReplicationPackageBuildingException {
+return 
replicationPackageExporter.exportPackage(getAgentResourceResolver(), 
replicationRequest);
+}
+
+public ReplicationPackage 
exportPackageById(ResourceResolver resourceResolver, String 
replicationPackageId) {
+return 
replicationPackageExporter.exportPackageById(getAgentResourceResolver(), 
replicationPackageId);
+}
+});
 replicationPackages.addAll(exportedPackages);
 
 return replicationPackages;
@@ -242,7 +250,7 @@ public class SimpleReplicationAgent impl
 private boolean processTransportQueue(ReplicationQueueItem queueItem) {
 boolean success = false;
 log.debug("reading package with id {}", queueItem.getId());
-ResourceResolver resourceResolver = getResourceResolver();
+ResourceResolver resourceResolver = getAgentResourceResolver();
 try {
 
 ReplicationPackage replicationPackage = 
replicationPackageExporter.exportPackageById(resourceResolver, 
queueItem.getId());
@@ -263,7 +271,7 @@ public class SimpleReplicationAgent impl
 return success;
 }
 
-private ResourceResolver getResourceResolver() {
+private ResourceResolver getAgentResourceResolver() {
 ResourceResolver resourceResolver = null;
 
 Map authenticationInfo = new HashMap();
@@ -293,7 +301,7 @@ public class SimpleReplicationAgent impl
 
 public void handle(ReplicationRequest request) {
 try {
-ResourceResolver resourceResolver = getResourceResolver();
+ResourceResolver resourceResolver = getAgentResourceResolver();
 agent.execute(resourceResolver, request);
 } catch (AgentReplicationException e) {
 log.error("Error executing handler", e);

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/PrivilegeReplicationPackageExporterStrategy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/PrivilegeReplicationPackageExporterStrategy.java?rev=1631965&r1=1631964&r2=1631965&view=diff
==
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/PrivilegeReplicationPackageExporterStrategy.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/PrivilegeReplicationPackageExporterStrategy.java
 Wed Oct 15 07:49:18 2014
@@ -31,7 +31,6 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.security.AccessControlManager;
 import javax.jcr.security.Privilege;
-import java.nio.file.AccessDeniedException;
 import java.util.List;
 import java.util.Map;
 
@@ -76,7 +75,7 @@ public class PrivilegeReplicationPackage
 throws RepositoryException, ReplicationPackageBuildingException {
 AccessControlManager acMgr = session.getAccessControlManager();
 
-Privilege[] privileges = new Privilege[] { 
acMgr.pri

svn commit: r1631960 - in /sling/trunk/bundles/extensions/event/src: main/java/org/apache/sling/event/impl/jobs/ main/java/org/apache/sling/event/impl/jobs/console/ main/java/org/apache/sling/event/im

2014-10-15 Thread cziegeler
Author: cziegeler
Date: Wed Oct 15 07:18:17 2014
New Revision: 1631960

URL: http://svn.apache.org/r1631960
Log:
SLING-4048 : Avoid keeping jobs in memory. Move topology handling to own 
handler service

Added:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/TopologyAware.java
   (with props)

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/TopologyCapabilities.java
  - copied, changed from r1631955, 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/TopologyCapabilities.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/topology/TopologyHandler.java
   (with props)
Removed:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/TopologyCapabilities.java
Modified:

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerConfiguration.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobSchedulerImpl.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/MaintenanceTask.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/InventoryPlugin.java

sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/console/WebConsolePlugin.java

sling/trunk/bundles/extensions/event/src/test/java/org/apache/sling/event/impl/jobs/InstanceDescriptionComparatorTest.java

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java?rev=1631960&r1=1631959&r2=1631960&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobConsumerManager.java
 Wed Oct 15 07:18:17 2014
@@ -42,6 +42,7 @@ import org.apache.sling.commons.osgi.Pro
 import org.apache.sling.discovery.PropertyProvider;
 import org.apache.sling.event.impl.support.TopicMatcher;
 import org.apache.sling.event.impl.support.TopicMatcherHelper;
+import org.apache.sling.event.impl.topology.TopologyCapabilities;
 import org.apache.sling.event.jobs.Job;
 import org.apache.sling.event.jobs.consumer.JobConsumer;
 import org.apache.sling.event.jobs.consumer.JobConsumer.JobResult;

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerConfiguration.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerConfiguration.java?rev=1631960&r1=1631959&r2=1631960&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerConfiguration.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerConfiguration.java
 Wed Oct 15 07:18:17 2014
@@ -34,6 +34,7 @@ import org.apache.sling.api.resource.Per
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.event.impl.EnvironmentComponent;
 import org.apache.sling.event.impl.support.Environment;
 import org.apache.sling.event.impl.support.ResourceHelper;
 import org.slf4j.Logger;
@@ -132,6 +133,10 @@ public class JobManagerConfiguration {
 /** The resource path where scheduled jobs are stored - ending with a 
slash. */
 private String scheduledJobsPathWithSlash;
 
+/** The environment component. */
+@Reference
+private EnvironmentComponent environment;
+
 @Reference
 private ResourceResolverFactory resourceResolverFactory;
 

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java?rev=1631960&r1=1631959&r2=1631960&view=diff
==
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
 (original)
+++ 
sl