use of org.apache.sling.distribution.component.impl.DistributionComponentKind 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.component.impl.DistributionComponentKind 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;
}
Aggregations