package org.openflexo.builders.utils;
import java.io.File;
import org.openflexo.foundation.resource.DefaultResourceCenterService;
import org.openflexo.foundation.resource.FlexoResourceCenterService;
import org.openflexo.foundation.resource.LocalResourceCenterImplementation;
import org.openflexo.foundation.resource.UserResourceCenter;
import org.openflexo.model.exceptions.ModelDefinitionException;
import org.openflexo.model.factory.ModelFactory;
public abstract class FlexoBuilderResourceCenterService extends DefaultResourceCenterService {
private LocalResourceCenterImplementation openFlexoResourceCenter;
private UserResourceCenter userResourceCenter;
public static FlexoResourceCenterService getNewInstance(File workingDir) {
FlexoBuilderResourceCenterService service = (FlexoBuilderResourceCenterService) _getNewInstance();
service.openFlexoResourceCenter = LocalResourceCenterImplementation.instanciateNewLocalResourceCenterImplementation(workingDir);
service.userResourceCenter = new UserResourceCenter(new File(workingDir, "UserResourceCenterData.xml"));
return service;
}
public static FlexoResourceCenterService _getNewInstance() {
try {
ModelFactory factory = new ModelFactory(FlexoResourceCenterService.class);
factory.setImplementingClassForInterface(FlexoBuilderResourceCenterService.class, FlexoResourceCenterService.class);
return factory.newInstance(FlexoResourceCenterService.class);
} catch (ModelDefinitionException e) {
e.printStackTrace();
}
return null;
}
@Override
public LocalResourceCenterImplementation getOpenFlexoResourceCenter() {
return openFlexoResourceCenter;
}
@Override
public UserResourceCenter getUserResourceCenter() {
return userResourceCenter;
}
}