package com.dgrid.service.impl;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import com.dgrid.plugin.PluginContext;
import com.dgrid.service.DGridClient;
import com.dgrid.service.DGridExecutorService;
import com.dgrid.service.DGridPluginContext;
import com.dgrid.threads.DGridTaskListener;
public class DGridPluginContextImpl implements PluginContext,
DGridPluginContext, ApplicationContextAware {
private ApplicationContext ctx;
private DGridClient gridClient;
private DGridExecutorService executor;
public DGridPluginContextImpl() {
}
public void setApplicationContext(ApplicationContext ctx)
throws BeansException {
this.ctx = ctx;
}
public void setGridClient(DGridClient gridClient) {
this.gridClient = gridClient;
}
public void setThreadPool(DGridExecutorService service) {
this.executor = service;
}
public Object getBean(String name) {
return ctx.getBean(name);
}
public DGridClient getGridClient() {
return gridClient;
}
public void addExecutionListener(DGridTaskListener listener) {
executor.addListener(listener);
}
public void removeExecutionListener(DGridTaskListener listener) {
executor.removeListener(listener);
}
}