use of org.apache.sling.distribution.agent.DistributionAgent in project sling by apache.
the class ExtendedDistributionServiceResourceProvider method getChildResourceProperties.
@Override
protected Map<String, Object> getChildResourceProperties(DistributionComponent<?> component, String childResourceName) {
DistributionComponentKind kind = component.getKind();
if (DistributionComponentKind.AGENT == kind) {
DistributionAgent agent = (DistributionAgent) component.getService();
if (agent != null && childResourceName != null) {
if (childResourceName.startsWith(QUEUES_PATH)) {
SimplePathInfo queuePathInfo = SimplePathInfo.parsePathInfo(QUEUES_PATH, childResourceName);
return getQueueProperties(agent, queuePathInfo);
} else if (childResourceName.startsWith(LOG_PATH)) {
Map<String, Object> result = new HashMap<String, Object>();
result.put(SLING_RESOURCE_TYPE, DistributionResourceTypes.LOG_RESOURCE_TYPE);
DistributionLog distributionLog = agent.getLog();
result.put(INTERNAL_ADAPTABLE, distributionLog);
return result;
} else if (childResourceName.startsWith(STATUS_PATH)) {
Map<String, Object> result = new HashMap<String, Object>();
DistributionAgentState agentState = agent.getState();
result.put("state", agentState.name());
return result;
}
}
}
return null;
}
use of org.apache.sling.distribution.agent.DistributionAgent in project sling by apache.
the class ExtendedDistributionServiceResourceProvider method getChildResourceChildren.
@Override
protected Iterable<String> getChildResourceChildren(DistributionComponent<?> component, String childResourceName) {
DistributionComponentKind kind = component.getKind();
if (DistributionComponentKind.AGENT == kind) {
DistributionAgent agent = (DistributionAgent) component.getService();
if (agent != null) {
if (childResourceName == null) {
List<String> nameList = new ArrayList<String>();
nameList.add(QUEUES_PATH);
nameList.add(LOG_PATH);
nameList.add(STATUS_PATH);
return nameList;
}
}
}
return null;
}
use of org.apache.sling.distribution.agent.DistributionAgent in project sling by apache.
the class TriggerAgentRequestHandlerTest method testHandlePassive.
@Test
public void testHandlePassive() throws Exception {
DistributionAgent agent = mock(DistributionAgent.class);
SimpleDistributionAgentAuthenticationInfo authenticationInfo = mock(SimpleDistributionAgentAuthenticationInfo.class);
DefaultDistributionLog log = mock(DefaultDistributionLog.class);
TriggerAgentRequestHandler triggerAgentRequestHandler = new TriggerAgentRequestHandler(agent, authenticationInfo, log, false);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionRequest request = mock(DistributionRequest.class);
triggerAgentRequestHandler.handle(resourceResolver, request);
}
use of org.apache.sling.distribution.agent.DistributionAgent in project sling by apache.
the class DistributionQueueHealthCheckTest method testWithNoItemInTheQueue.
@Test
public void testWithNoItemInTheQueue() throws Exception {
DistributionQueueHealthCheck distributionQueueHealthCheck = new DistributionQueueHealthCheck();
distributionQueueHealthCheck.activate(Collections.<String, Object>emptyMap());
DistributionQueue queue = mock(DistributionQueue.class);
when(queue.getHead()).thenReturn(null);
DistributionAgent distributionAgent = mock(DistributionAgent.class);
List<String> queues = new ArrayList<String>();
queues.add("queueName");
when(distributionAgent.getQueueNames()).thenReturn(queues);
when(distributionAgent.getQueue(anyString())).thenReturn(queue);
distributionQueueHealthCheck.bindDistributionAgent(distributionAgent);
Result result = distributionQueueHealthCheck.execute();
assertNotNull(result);
assertTrue(result.isOk());
}
use of org.apache.sling.distribution.agent.DistributionAgent in project sling by apache.
the class DistributionQueueHealthCheckTest method testWithOneOkItemInTheQueue.
@Test
public void testWithOneOkItemInTheQueue() throws Exception {
DistributionQueueHealthCheck distributionQueueHealthCheck = new DistributionQueueHealthCheck();
distributionQueueHealthCheck.activate(Collections.<String, Object>emptyMap());
DistributionQueue queue = mock(DistributionQueue.class);
DistributionQueueItem item = mock(DistributionQueueItem.class);
DistributionQueueItemStatus status = mock(DistributionQueueItemStatus.class);
when(status.getAttempts()).thenReturn(1);
when(queue.getItem(any(String.class))).thenReturn(new DistributionQueueEntry(null, item, status));
when(queue.getHead()).thenReturn(new DistributionQueueEntry(null, item, status));
DistributionAgent distributionAgent = mock(DistributionAgent.class);
List<String> queues = new ArrayList<String>();
queues.add("queueName");
when(distributionAgent.getQueueNames()).thenReturn(queues);
when(distributionAgent.getQueue(anyString())).thenReturn(queue);
distributionQueueHealthCheck.bindDistributionAgent(distributionAgent);
Result result = distributionQueueHealthCheck.execute();
assertNotNull(result);
assertTrue(result.isOk());
}
Aggregations