use of org.talend.repository.services.model.services.ServicePort in project tesb-studio-se by Talend.
the class AssignJobAction method getAllReferenceJobId.
private List<String> getAllReferenceJobId(RepositoryNode repositoryNode) {
repositoryNode = getTopParent(repositoryNode);
List<IRepositoryNode> nodeList = repositoryNode.getChildren();
List<ServiceOperation> operaList = new ArrayList<ServiceOperation>();
List<String> jobIDList = new ArrayList<String>();
for (IRepositoryNode node : nodeList) {
if (node.getObject().getProperty().getItem() instanceof ServiceItem) {
ServiceItem item = (ServiceItem) node.getObject().getProperty().getItem();
ServiceConnection conn = (ServiceConnection) item.getConnection();
EList<ServicePort> portList = conn.getServicePort();
for (ServicePort port : portList) {
operaList.addAll(port.getServiceOperation());
}
}
}
for (ServiceOperation operation : operaList) {
String jobID = operation.getReferenceJobId();
if (jobID != null) {
jobIDList.add(jobID);
}
}
return jobIDList;
}
use of org.talend.repository.services.model.services.ServicePort in project tesb-studio-se by Talend.
the class ESBService method refreshOperationLabel.
@Override
public void refreshOperationLabel(String jobID) {
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
try {
List<IRepositoryViewObject> repList = factory.getAll(getServicesType());
for (IRepositoryViewObject obj : repList) {
ServiceItem item = (ServiceItem) obj.getProperty().getItem();
ServiceConnection conn = (ServiceConnection) item.getConnection();
for (ServicePort port : conn.getServicePort()) {
for (ServiceOperation operation : port.getServiceOperation()) {
if (operation.getReferenceJobId() != null && operation.getReferenceJobId().endsWith(jobID)) {
operation.setLabel(operation.getName());
operation.setReferenceJobId(null);
factory.save(item);
return;
}
}
}
}
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
}
use of org.talend.repository.services.model.services.ServicePort in project tesb-studio-se by Talend.
the class ESBService method editJobName.
@Override
public void editJobName(String originaleObjectLabel, String newLabel) {
IProxyRepositoryFactory proxyRepositoryFactory = CoreRuntimePlugin.getInstance().getProxyRepositoryFactory();
Project project = ProjectManager.getInstance().getCurrentProject();
List<IRepositoryViewObject> service = null;
try {
service = proxyRepositoryFactory.getAll(project, ESBRepositoryNodeType.SERVICES, true);
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
if (service != null && service.size() > 0) {
for (IRepositoryViewObject Object : service) {
boolean flag = false;
ServiceItem item = (ServiceItem) Object.getProperty().getItem();
ServiceConnection serviceConnection = (ServiceConnection) item.getConnection();
List<ServicePort> servicePorts = serviceConnection.getServicePort();
for (ServicePort port : servicePorts) {
List<ServiceOperation> serviceOperations = port.getServiceOperation();
for (ServiceOperation operation : serviceOperations) {
String originaleItemLabel = operation.getLabel();
if (originaleItemLabel.contains("-")) {
String[] array = originaleItemLabel.split("-");
if (originaleObjectLabel.equals(array[1])) {
operation.setLabel(array[0] + "-" + newLabel);
flag = true;
}
}
}
}
if (flag) {
try {
proxyRepositoryFactory.save(item);
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
}
}
}
// RepositoryManager.refresh(ESBRepositoryNodeType.SERVICES);
}
use of org.talend.repository.services.model.services.ServicePort in project tesb-studio-se by Talend.
the class ESBService method deleteOldRelation.
@Override
public void deleteOldRelation(String jobID) {
boolean portBreak = false;
boolean serviceBreak = false;
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
try {
for (IRepositoryViewObject viewObject : factory.getAll(ERepositoryObjectType.SERVICESOPERATION)) {
ServiceItem serviceItem = (ServiceItem) viewObject.getProperty().getItem();
ServiceConnection serviceConnection = (ServiceConnection) serviceItem.getConnection();
List<ServicePort> ports = serviceConnection.getServicePort();
for (ServicePort port : ports) {
List<ServiceOperation> operations = port.getServiceOperation();
for (ServiceOperation operation : operations) {
String referenceJobId = operation.getReferenceJobId();
if (jobID.equals(referenceJobId)) {
operation.setLabel(operation.getName());
operation.setReferenceJobId(null);
portBreak = true;
break;
}
}
if (portBreak) {
serviceBreak = true;
break;
}
}
if (serviceBreak) {
factory.save(serviceItem, null);
break;
}
}
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
}
use of org.talend.repository.services.model.services.ServicePort in project tesb-studio-se by Talend.
the class ESBRepositoryContentHandler method addNode.
// public RepositoryNode createRepositoryNode(RepositoryNode node) {
// RepositoryNode serviceNode = new RepositoryNode(null, node, ENodeType.SYSTEM_FOLDER);
// serviceNode.setProperties(EProperties.LABEL, ESBRepositoryNodeType.SERVICES);
// serviceNode.setProperties(EProperties.CONTENT_TYPE, ESBRepositoryNodeType.SERVICES);
// return serviceNode;
// }
@Override
public void addNode(ERepositoryObjectType type, RepositoryNode recBinNode, IRepositoryViewObject repositoryObject, RepositoryNode node) {
if (type == ESBRepositoryNodeType.SERVICES) {
ServiceConnection serviceConnection = (ServiceConnection) ((ServiceItem) repositoryObject.getProperty().getItem()).getConnection();
List<ServicePort> listPort = serviceConnection.getServicePort();
for (ServicePort port : listPort) {
PortRepositoryObject portRepositoryObject = new PortRepositoryObject(repositoryObject, port);
RepositoryNode portNode = new RepositoryNode(portRepositoryObject, node, ENodeType.REPOSITORY_ELEMENT);
portNode.setProperties(EProperties.LABEL, port.getName());
portNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.SERVICESPORT);
node.getChildren().add(portNode);
//
List<ServiceOperation> listOperation = port.getServiceOperation();
for (ServiceOperation operation : listOperation) {
OperationRepositoryObject operationRepositoryObject = new OperationRepositoryObject(repositoryObject, operation);
RepositoryNode operationNode = new RepositoryNode(operationRepositoryObject, portNode, ENodeType.REPOSITORY_ELEMENT);
operationNode.setProperties(EProperties.LABEL, operation.getLabel());
operationNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.SERVICESOPERATION);
if (!operation.isInBinding()) {
operationRepositoryObject.setInformationStatus(ERepositoryStatus.ERROR);
operationRepositoryObject.setDescription(Messages.LocalWSDLEditor_refreshBindingMessage);
} else {
operationRepositoryObject.setInformationStatus(null);
operationRepositoryObject.setDescription(null);
}
portNode.getChildren().add(operationNode);
}
}
}
}
Aggregations