use of org.eclipse.ecf.remoteserviceadmin.ui.endpoint.model.EndpointNode in project ecf by eclipse.
the class EndpointDiscoveryView method makeActions.
protected void makeActions() {
copyValueAction = new Action() {
public void run() {
Object o = ((ITreeSelection) viewer.getSelection()).getFirstElement();
String data = ((EndpointPropertyNode) o).getPropertyValue().toString();
if (data != null && data.length() > 0) {
clipboard.setContents(new Object[] { data }, new Transfer[] { TextTransfer.getInstance() });
}
}
};
copyValueAction.setText(Messages.EndpointDiscoveryView_COPY_PROPERTY_VALUE);
copyValueAction.setToolTipText(Messages.EndpointDiscoveryView_COPY_PROPERTY_VALUE);
copyValueAction.setImageDescriptor(RSAImageRegistry.DESC_PROPERTY_OBJ);
copyNameAction = new Action() {
public void run() {
Object o = ((ITreeSelection) viewer.getSelection()).getFirstElement();
String data = ((EndpointPropertyNode) o).getPropertyName();
if (data != null && data.length() > 0) {
clipboard.setContents(new Object[] { data }, new Transfer[] { TextTransfer.getInstance() });
}
}
};
copyNameAction.setText(Messages.EndpointDiscoveryView_COPY_PROPERTY_NAME);
copyNameAction.setToolTipText(Messages.EndpointDiscoveryView_COPY_PROPERTY_NAME);
copyNameAction.setImageDescriptor(RSAImageRegistry.DESC_PROPERTY_OBJ);
importAction = new Action() {
public void run() {
EndpointNode edNode = getEDNodeSelected();
if (edNode != null) {
RemoteServiceAdmin rsa = discovery.getRSA();
if (rsa == null)
showMessage(Messages.EndpointDiscoveryView_ERROR_MSG_RSA_IS_NULL);
else {
// Do import
EndpointDescription ed = edNode.getEndpointDescription();
ImportRegistration reg = (ImportRegistration) rsa.importService(ed);
if (reg == null) {
logError(Messages.EndpointDiscoveryView_ERROR_MSG_RSA_IMPORTSERVICE_FAILED, // $NON-NLS-1$
new Exception("Import Registration Is Null"));
showMessage(Messages.EndpointDiscoveryView_ERROR_MSG_RSA_IMPORTSERVICE_FAILED_PREFIX + // $NON-NLS-1$
"Import Registration Is Null" + Messages.EndpointDiscoveryView_ERROR_MSG_SUFFIX);
return;
}
// Check if import exception in returned registration
Throwable exception = reg.getException();
if (exception != null) {
logError(Messages.EndpointDiscoveryView_ERROR_MSG_RSA_IMPORTSERVICE_FAILED, exception);
showMessage(Messages.EndpointDiscoveryView_ERROR_MSG_RSA_IMPORTSERVICE_FAILED_PREFIX + exception.getMessage() + Messages.EndpointDiscoveryView_ERROR_MSG_SUFFIX);
} else {
// Success! Set registration
// and refresh
edNode.setImportReference((ImportReference) reg.getImportReference());
viewer.refresh();
}
}
}
}
};
importAction.setText(Messages.EndpointDiscoveryView_IMPORT_REMOTE_SERVICE);
importAction.setToolTipText(Messages.EndpointDiscoveryView_IMPORT_REMOTE_SERVICE_TT);
importAction.setImageDescriptor(RSAImageRegistry.DESC_RSPROXY_CO);
edefDiscoverAction = new Action() {
public void run() {
IEndpointDescriptionLocator locator = discovery.getEndpointDescriptionLocator();
if (locator != null) {
FileDialog dialog = new FileDialog(viewer.getControl().getShell(), SWT.OPEN);
// $NON-NLS-1$
dialog.setFilterExtensions(new String[] { "*.xml" });
dialog.setText(Messages.EndpointDiscoveryView_OPEN_EDEF_FILE);
dialog.setFilterPath(null);
String result = dialog.open();
if (result != null)
try {
EndpointDescription[] eds = (EndpointDescription[]) new EndpointDescriptionReader().readEndpointDescriptions(new FileInputStream(result));
if (eds != null) {
for (int i = 0; i < eds.length; i++) locator.discoverEndpoint(eds[i]);
}
} catch (IOException e) {
logError(Messages.EndpointDiscoveryView_ERROR_MSG_ENDPOINT_PARSING_FAILED, e);
showMessage(Messages.EndpointDiscoveryView_ERROR_MSG_ENDPOINT_PARSING_FAILED_PREFIX + e.getMessage() + Messages.EndpointDiscoveryView_ERROR_MSG_SUFFIX);
}
}
}
};
edefDiscoverAction.setText(Messages.EndpointDiscoveryView_OPEN_EDEF_FILE_DIALOG);
edefDiscoverAction.setToolTipText(Messages.EndpointDiscoveryView_OPEN_EDEF_FILE_DIALOG_TT);
edefDiscoverAction.setEnabled(discovery.getRSA() != null);
edefDiscoverAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FILE));
undiscoverAction = new Action() {
public void run() {
EndpointNode endpoint = getEDNodeSelected();
if (endpoint != null && endpoint.getImportReference() == null) {
IEndpointDescriptionLocator l = discovery.getEndpointDescriptionLocator();
if (l != null && MessageDialog.openQuestion(viewer.getControl().getShell(), Messages.EndpointDiscoveryView_REMOVE_ENDPOINT_QUESTION_TITLE, Messages.EndpointDiscoveryView_REMOVE_ENDPOINT_QUESTION))
l.undiscoverEndpoint(endpoint.getEndpointDescription());
}
}
};
undiscoverAction.setText(Messages.EndpointDiscoveryView_REMOVE_ENDPOINT);
undiscoverAction.setToolTipText(Messages.EndpointDiscoveryView_REMOVE_ENDPOINT_TT);
}
use of org.eclipse.ecf.remoteserviceadmin.ui.endpoint.model.EndpointNode in project ecf by eclipse.
the class EndpointDiscoveryView method fillContextMenu.
protected void fillContextMenu(IMenuManager manager) {
ITreeSelection selection = (ITreeSelection) viewer.getSelection();
if (selection != null) {
Object e = selection.getFirstElement();
if (e instanceof EndpointPropertyNode) {
manager.add(copyNameAction);
manager.add(copyValueAction);
} else if (e instanceof EndpointNode) {
EndpointNode edNode = (EndpointNode) e;
ImportReference ir = edNode.getImportReference();
if (ir == null) {
manager.add(importAction);
manager.add(undiscoverAction);
}
}
}
}
use of org.eclipse.ecf.remoteserviceadmin.ui.endpoint.model.EndpointNode in project ecf by eclipse.
the class EndpointDiscoveryView method createEndpointDescriptionNode.
protected EndpointNode createEndpointDescriptionNode(EndpointDescription ed) {
EndpointNode edo = new EndpointNode(ed, findImportReference(ed));
// Interfaces
EndpointInterfacesNode ein = new EndpointInterfacesNode();
for (String intf : ed.getInterfaces()) ein.addChild(new EndpointPackageVersionNode(EndpointNode.getPackageName(intf)));
edo.addChild(ein);
// Async Interfaces (if present)
List<String> aintfs = ed.getAsyncInterfaces();
if (aintfs.size() > 0) {
EndpointAsyncInterfacesNode ain = new EndpointAsyncInterfacesNode();
for (String intf : ed.getAsyncInterfaces()) ain.addChild(new EndpointPackageVersionNode(EndpointNode.getPackageName(intf)));
edo.addChild(ain);
}
// ID
edo.addChild(new EndpointIDNode());
// Remote Service Host
EndpointHostGroupNode idp = new EndpointHostGroupNode(Messages.EndpointDiscoveryView_REMOTE_HOST_NAME);
// Host children
idp.addChild(new EndpointNamespaceNode());
idp.addChild(new EndpointRemoteServiceIDNode());
org.eclipse.ecf.core.identity.ID connectTarget = ed.getConnectTargetID();
if (connectTarget != null)
idp.addChild(new EndpointConnectTargetIDNode());
idp.addChild(new EndpointServiceIDNode());
idp.addChild(new EndpointIntentsNode());
idp.addChild(new EndpointConfigTypesNode());
idp.addChild(new EndpointFrameworkIDNode());
idp.addChild(new EndpointTimestampNode());
String filter = ed.getRemoteServiceFilter();
if (filter != null)
idp.addChild(new EndpointRemoteServiceFilterNode());
edo.addChild(idp);
IEndpointDescriptionLocator locator = discovery.getEndpointDescriptionLocator();
IServiceID serviceID = (locator == null) ? null : locator.getNetworkDiscoveredServiceID(ed);
if (serviceID != null)
edo.addChild(new EndpointDiscoveryGroupNode(Messages.EndpointDiscoveryView_DISCOVERY_GROUP_NAME, serviceID));
return edo;
}
use of org.eclipse.ecf.remoteserviceadmin.ui.endpoint.model.EndpointNode in project ecf by eclipse.
the class EndpointDiscoveryView method handleRSAEent.
public void handleRSAEent(RemoteServiceAdminEvent event) {
final int type = event.getType();
Throwable t = event.getException();
if (t == null) {
TreeViewer treeViewer = this.viewer;
if (treeViewer == null)
return;
switch(type) {
case RemoteServiceAdminEvent.IMPORT_UNREGISTRATION:
final ImportReference ir = (ImportReference) event.getImportReference();
if (ir != null) {
treeViewer.getControl().getDisplay().asyncExec(new Runnable() {
@Override
public void run() {
EndpointGroupNode egn = contentProvider.getRootNode();
for (AbstractEndpointNode aen : egn.getChildren()) {
if (aen instanceof EndpointNode) {
EndpointNode en = (EndpointNode) aen;
ImportReference iRef = en.getImportReference();
if (iRef != null && iRef.equals(ir))
en.setImportReference(null);
}
}
viewer.refresh();
}
});
}
break;
}
}
}
use of org.eclipse.ecf.remoteserviceadmin.ui.endpoint.model.EndpointNode in project ecf by eclipse.
the class EndpointDiscoveryView method findEndpointNode.
EndpointNode findEndpointNode(final ImportReference ir) {
EndpointGroupNode egn = contentProvider.getRootNode();
for (AbstractEndpointNode aen : egn.getChildren()) {
if (aen instanceof EndpointNode) {
EndpointNode en = (EndpointNode) aen;
ImportReference iRef = en.getImportReference();
if (iRef != null && iRef.equals(ir))
return en;
}
}
return null;
}
Aggregations