use of com.amalto.workbench.webservices.WSGetConceptsInDataCluster in project tmdm-studio-se by Talend.
the class DataClusterComposite method refreshData.
protected boolean refreshData() {
try {
if (conceptCombo.isDisposed()) {
return false;
}
if (getXObject().getEndpointAddress() == null) {
return false;
}
TMDMService service = Util.getMDMService(getXObject());
WSDataCluster cluster = null;
if (getXObject().getWsObject() == null) {
// then fetch from server
cluster = service.getDataCluster(new WSGetDataCluster((WSDataClusterPK) getXObject().getWsKey()));
getXObject().setWsObject(cluster);
} else {
// it has been opened by an editor - use the object there
// added for TMDM-3064
// the following may throw ServerException to identify the data continer not exist on the server
cluster = service.getDataCluster(new WSGetDataCluster(new WSDataClusterPK(getXObject().getName())));
// if you could go to next line, that means the data container is on the server specified
cluster = (WSDataCluster) getXObject().getWsObject();
}
// add by myli; fix the bug:0013077: if the data is too much, just get the entities from the model instead
// of from the container.
// $NON-NLS-1$
String clusterName = URLEncoder.encode(cluster.getName(), "utf-8");
// WSString countStr = port.count(new WSCount(new WSDataClusterPK(cluster.getName()), "*", null, 100)); //$NON-NLS-1$
// long count = Long.parseLong(countStr.getValue());
WSStringArray conceptsInDataCluster = service.getConceptsInDataCluster(new WSGetConceptsInDataCluster(new WSDataClusterPK(clusterName)));
if (conceptsInDataCluster != null) {
List<String> concepts = conceptsInDataCluster.getStrings();
conceptCombo.removeAll();
// $NON-NLS-1$
conceptCombo.add("*");
for (String concept : concepts) {
conceptCombo.add(concept);
}
} else {
boolean selected = doSelectDataModelForEntityRecords(clusterName);
if (!selected) {
return false;
}
}
conceptCombo.select(0);
searchText.setFocus();
} catch (ServerException e) {
log.error(e.getMessage(), e);
MessageDialog.openError(getSite().getShell(), Messages._Error, Messages.DataClusterBrowser_dataContainerError);
return false;
} catch (WebServiceException e) {
log.error(e.getMessage(), e);
if (!Util.handleConnectionException(getSite().getShell(), e, null)) {
MessageDialog.openError(getSite().getShell(), Messages._Error, Messages.DataClusterBrowser_connectionError);
}
return false;
} catch (Exception e) {
log.error(e.getMessage(), e);
MessageDialog.openError(this.getSite().getShell(), Messages._Error, Messages.bind(Messages.DataClusterBrowser_error, e.getLocalizedMessage()));
return false;
}
return true;
}
use of com.amalto.workbench.webservices.WSGetConceptsInDataCluster in project tmdm-studio-se by Talend.
the class DataProcessRuleFactory method createProcessRouterFromRemote.
/**
* if using XML DB and the return records exceed limit, it will return null;
*
* @param port
* @param dataClusterName
* @return
*/
public static DataProcessRule createProcessRouterFromRemote(TMDMService service, String dataClusterName) {
WSGetConceptsInDataCluster param = new WSGetConceptsInDataCluster(new WSDataClusterPK(dataClusterName));
WSStringArray concepts = service.getConceptsInDataCluster(param);
if (concepts != null) {
DataProcessRule rule = new DataProcessRule();
for (String concept : concepts.getStrings()) {
rule.addNewEnityUnit(concept);
}
return rule;
}
return null;
}
Aggregations