use of org.talend.repository.model.IProxyRepositoryFactory in project tdi-studio-se by Talend.
the class AbstractStandardJobBuildProviderTest method createJobItem.
protected Item createJobItem() throws PersistenceException {
final IProxyRepositoryFactory repositoryFactory = DesignerPlugin.getDefault().getRepositoryService().getProxyRepositoryFactory();
final String testJobId = repositoryFactory.getNextId();
final String testJobLabel = StandardJobStandaloneBuildProvider.class.getSimpleName() + System.currentTimeMillis();
// copied from NewProcessWizard
Property property = PropertiesFactory.eINSTANCE.createProperty();
property.setAuthor(((RepositoryContext) CorePlugin.getContext().getProperty(Context.REPOSITORY_CONTEXT_KEY)).getUser());
property.setVersion(VersionUtils.DEFAULT_VERSION);
property.setStatusCode("");
property.setId(testJobId);
property.setDisplayName(testJobLabel);
property.setLabel(property.getDisplayName());
ProcessItem processItem = PropertiesFactory.eINSTANCE.createProcessItem();
processItem.setProperty(property);
property.setItem(processItem);
ProcessType process = TalendFileFactory.eINSTANCE.createProcessType();
ParametersType parameterType = TalendFileFactory.eINSTANCE.createParametersType();
List<RoutinesParameterType> dependenciesInPreference = RoutinesUtil.createDependenciesInPreference();
parameterType.getRoutinesParameter().addAll(dependenciesInPreference);
process.setParameters(parameterType);
processItem.setProcess(process);
repositoryFactory.create(processItem, new Path(""));
return processItem;
}
use of org.talend.repository.model.IProxyRepositoryFactory in project tesb-studio-se by Talend.
the class CreateRouteResourceAction method init.
@Override
public void init(TreeViewer viewer, IStructuredSelection selection) {
boolean canWork = !selection.isEmpty() && selection.size() == 1;
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
if (factory.isUserReadOnlyOnCurrentProject()) {
canWork = false;
}
if (canWork) {
Object o = selection.getFirstElement();
RepositoryNode node = (RepositoryNode) o;
switch(node.getType()) {
case SIMPLE_FOLDER:
case SYSTEM_FOLDER:
ERepositoryObjectType nodeType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE);
if (nodeType != CamelRepositoryNodeType.repositoryRouteResourceType) {
canWork = false;
}
if (node.getObject() != null && node.getObject().isDeleted()) {
canWork = false;
}
break;
default:
canWork = false;
}
if (canWork && !ProjectManager.getInstance().isInCurrentMainProject(node)) {
canWork = false;
}
}
setEnabled(canWork);
}
use of org.talend.repository.model.IProxyRepositoryFactory in project tesb-studio-se by Talend.
the class LocalWSDLEditor method saveModel.
private void saveModel() throws CoreException {
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
Definition definition = WSDLUtils.getDefinition(serviceItem);
// changed for TDI-18005
Map<String, String> portNameIdMap = new HashMap<String, String>();
Map<String, EMap<String, String>> portAdditionalMap = new HashMap<String, EMap<String, String>>();
Map<String, String> operNameIdMap = new HashMap<String, String>();
Map<String, String> operJobMap = new HashMap<String, String>();
EList<ServicePort> oldServicePorts = ((ServiceConnection) serviceItem.getConnection()).getServicePort();
// get old service port item names and operation names under them
HashMap<String, ArrayList<String>> oldPortItemNames = new HashMap<String, ArrayList<String>>();
for (ServicePort servicePort : oldServicePorts) {
// keep id
portNameIdMap.put(servicePort.getName(), servicePort.getId());
// keep additional infos
portAdditionalMap.put(servicePort.getId(), servicePort.getAdditionalInfo());
EList<ServiceOperation> operations = servicePort.getServiceOperation();
ArrayList<String> operationNames = new ArrayList<String>();
for (ServiceOperation operation : operations) {
operNameIdMap.put(operation.getName(), operation.getId());
operationNames.add(operation.getLabel());
// record assigned job
operJobMap.put(operation.getId(), operation.getReferenceJobId());
}
oldPortItemNames.put(servicePort.getName(), operationNames);
}
((ServiceConnection) serviceItem.getConnection()).getServicePort().clear();
for (Object obj : definition.getAllPortTypes().values()) {
PortType portType = (PortType) obj;
if (portType.isUndefined()) {
continue;
}
ServicePort port = ServicesFactory.eINSTANCE.createServicePort();
String portName = portType.getQName().getLocalPart();
port.setName(portName);
// set port id
String id = portNameIdMap.get(portName);
if (id != null) {
port.setId(id);
// restore additional infos
port.getAdditionalInfo().putAll(portAdditionalMap.get(id));
} else {
port.setId(factory.getNextId());
}
@SuppressWarnings("unchecked") List<Operation> list = portType.getOperations();
for (Operation operation : list) {
if (operation.isUndefined()) {
// means the operation has been removed already ,why ?
continue;
}
ServiceOperation serviceOperation = ServicesFactory.eINSTANCE.createServiceOperation();
serviceOperation.setName(operation.getName());
Iterator<String> operationIterator = operNameIdMap.keySet().iterator();
while (operationIterator.hasNext()) {
String oldOperationName = operationIterator.next();
String operationId = operNameIdMap.get(oldOperationName);
if (oldOperationName.equals(operation.getName())) {
serviceOperation.setId(operationId);
// re-assign job
String jobId = operJobMap.get(operationId);
if (jobId != null) {
serviceOperation.setReferenceJobId(jobId);
}
}
}
if (serviceOperation.getId() == null || serviceOperation.getId().equals("")) {
serviceOperation.setId(factory.getNextId());
}
if (operation.getDocumentationElement() != null) {
serviceOperation.setDocumentation(operation.getDocumentationElement().getTextContent());
}
boolean hasAssignedjob = false;
ArrayList<String> operationNames = oldPortItemNames.get(portName);
String referenceJobId = serviceOperation.getReferenceJobId();
if (operationNames != null && referenceJobId != null) {
IRepositoryViewObject repObj = null;
try {
repObj = factory.getLastVersion(referenceJobId);
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
if (repObj != null) {
for (String name : operationNames) {
if (name.equals(operation.getName() + '-' + repObj.getLabel())) {
serviceOperation.setLabel(name);
hasAssignedjob = true;
break;
}
}
}
}
if (!hasAssignedjob) {
serviceOperation.setLabel(operation.getName());
}
serviceOperation.setInBinding(WSDLUtils.isOperationInBinding(definition, portName, operation.getName()));
port.getServiceOperation().add(serviceOperation);
}
((ServiceConnection) serviceItem.getConnection()).getServicePort().add(port);
}
}
use of org.talend.repository.model.IProxyRepositoryFactory in project tdi-studio-se by Talend.
the class JobJavaScriptsManager method collectRoutinesFromRepository.
private Collection<IRepositoryViewObject> collectRoutinesFromRepository(Set<String> allRoutinesNames, ERepositoryObjectType type) {
IProxyRepositoryFactory factory = CorePlugin.getDefault().getProxyRepositoryFactory();
List<IRepositoryViewObject> toReturn = new ArrayList<IRepositoryViewObject>();
try {
List<IRepositoryViewObject> availableRoutines = factory.getAll(ProjectManager.getInstance().getCurrentProject(), type);
for (IRepositoryViewObject object : availableRoutines) {
if (allRoutinesNames.contains(object.getLabel())) {
allRoutinesNames.remove(object.getLabel());
toReturn.add(object);
}
}
if (allRoutinesNames.isEmpty()) {
return toReturn;
}
for (org.talend.core.model.general.Project project : ProjectManager.getInstance().getAllReferencedProjects()) {
for (IRepositoryViewObject object : factory.getAll(project, type)) {
if (allRoutinesNames.contains(object.getLabel())) {
allRoutinesNames.remove(object.getLabel());
toReturn.add(object);
}
}
if (allRoutinesNames.isEmpty()) {
return toReturn;
}
}
} catch (PersistenceException e) {
ExceptionHandler.process(e);
toReturn.addAll(RoutinesUtil.getCurrentSystemRoutines());
}
return toReturn;
}
use of org.talend.repository.model.IProxyRepositoryFactory in project tesb-studio-se by Talend.
the class CreateCamelProcess method init.
@Override
public void init(TreeViewer viewer, IStructuredSelection selection) {
boolean canWork = !selection.isEmpty() && selection.size() == 1;
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
if (factory.isUserReadOnlyOnCurrentProject()) {
canWork = false;
}
if (canWork) {
IRepositoryNode node = (IRepositoryNode) selection.getFirstElement();
switch(node.getType()) {
case SIMPLE_FOLDER:
case SYSTEM_FOLDER:
ERepositoryObjectType nodeType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE);
if (nodeType != null && !nodeType.equals(getProcessType()) && !nodeType.equals(CamelRepositoryNodeType.repositoryRouteDesinsType)) {
canWork = false;
}
if (node.getObject() != null && node.getObject().isDeleted()) {
canWork = false;
}
break;
default:
canWork = false;
}
if (canWork && !ProjectManager.getInstance().isInCurrentMainProject(node)) {
canWork = false;
}
}
setEnabled(canWork);
}
Aggregations