Search in sources :

Example 1 with WSItem

use of com.amalto.workbench.webservices.WSItem in project tmdm-studio-se by Talend.

the class DataClusterDialog method showInTextWidget.

private void showInTextWidget(LineItem lineItem) {
    if (lineItem == null) {
        // $NON-NLS-1$
        textViewer.setText("");
        // $NON-NLS-1$
        recordContent = "";
        return;
    }
    try {
        final TMDMService service = Util.getMDMService(model);
        final WSItem wsItem = service.getItem(new WSGetItem(new WSItemPK(lineItem.getConcept().trim(), Arrays.asList(lineItem.getIds()), (WSDataClusterPK) model.getWsKey())));
        recordContent = Util.formatXsdSource(wsItem.getContent());
        textViewer.setText(recordContent);
    } catch (WebServiceException e) {
        log.error(e.getMessage(), e);
    } catch (XtentisException e) {
        log.error(e.getMessage(), e);
        MessageDialog.openError(getShell(), Messages._Error, Messages.bind(Messages.DataClusterBrowserMainPage_36, e.getLocalizedMessage()));
    }
}
Also used : WSGetItem(com.amalto.workbench.webservices.WSGetItem) WebServiceException(javax.xml.ws.WebServiceException) TMDMService(com.amalto.workbench.webservices.TMDMService) WSItem(com.amalto.workbench.webservices.WSItem) WSItemPK(com.amalto.workbench.webservices.WSItemPK) XtentisException(com.amalto.workbench.utils.XtentisException)

Example 2 with WSItem

use of com.amalto.workbench.webservices.WSItem in project tmdm-studio-se by Talend.

the class ImportItemsWizard method importClusterContents.

protected void importClusterContents(TreeObject item, TMDMService port, HashMap<String, String> picturePathMap) throws Exception {
    if (dataClusterContent.containsKey(item.getDisplayName())) {
        Reader reader = null;
        String[] paths = dataClusterContent.get(item.getDisplayName());
        Map<String, List<String>> conceptMap = new HashMap<String, List<String>>();
        for (String path : paths) {
            try {
                // $NON-NLS-1$//$NON-NLS-2$
                reader = new InputStreamReader(new FileInputStream(importFolder + "/" + path), "UTF-8");
                WSItem wsItem = (WSItem) Unmarshaller.unmarshal(WSItem.class, reader);
                String key = // $NON-NLS-1$//$NON-NLS-2$
                wsItem.getWsDataClusterPK().getPk() + "##" + wsItem.getConceptName() + "##" + wsItem.getDataModelName();
                List<String> list = null;
                list = conceptMap.get(key);
                if (list == null) {
                    list = new ArrayList<String>();
                    conceptMap.put(key, list);
                }
                // ymli; fix 0016875: set the right path of picture when import pictures
                String content = wsItem.getContent();
                boolean isUpdate = false;
                for (String picturekey : picturePathMap.keySet()) {
                    // $NON-NLS-1$
                    String fileName = picturekey.substring(picturekey.indexOf("-") + 1);
                    if (content.contains(fileName)) {
                        String targetPicturePath = picturePathMap.get(picturekey);
                        content = updatePicturePath(content, picturekey, targetPicturePath);
                        isUpdate = true;
                        list.add(content);
                        conceptMap.put(key, list);
                    }
                }
                if (!isUpdate) {
                    list.add(content);
                }
            } catch (Exception e1) {
                log.error(e1.getMessage(), e1);
            } finally {
                try {
                    if (reader != null) {
                        reader.close();
                    }
                } catch (Exception e) {
                }
            }
        }
        // store the items to db using bulkloadclient
        // $NON-NLS-1$
        String url = item.getEndpointIpAddress() + "/datamanager/loadServlet";
        for (Entry<String, List<String>> entry : conceptMap.entrySet()) {
            // $NON-NLS-1$
            String[] keys = entry.getKey().split("##");
            String cluster = keys[0];
            String concept = keys[1];
            String datamodel = keys[2];
            BulkloadClient bulkloadClient = new BulkloadClient(url, item.getUsername(), item.getPassword(), null, cluster, concept, datamodel);
            bulkloadClient.setOptions(new BulkloadOptions(false, false, 500));
            StringBuffer sb = new StringBuffer();
            for (String xml : entry.getValue()) {
                // $NON-NLS-1$
                sb.append(xml).append("\n");
            }
            try {
                InputStreamMerger manager = bulkloadClient.load();
                InputStream bin = new ByteArrayInputStream(sb.toString().getBytes(Messages.ImportItemsWizard_29));
                manager.push(bin);
                // bulkloadClient.load(sb.toString());
                manager.close();
            } catch (Exception e) {
                // " in Data Container: "+cluster + " Error --> "+e.getLocalizedMessage());
                throw new Exception(Messages.ImportItemsWizard_30 + concept + Messages.ImportItemsWizard_31 + cluster + Messages.ImportItemsWizard_32 + e.getLocalizedMessage());
            }
        }
    }
}
Also used : InputStreamReader(java.io.InputStreamReader) HashMap(java.util.HashMap) WSItem(com.amalto.workbench.webservices.WSItem) ByteArrayInputStream(java.io.ByteArrayInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) Reader(java.io.Reader) InputStreamReader(java.io.InputStreamReader) BulkloadOptions(org.talend.mdm.bulkload.client.BulkloadOptions) InputStreamMerger(org.talend.mdm.bulkload.client.InputStreamMerger) FileInputStream(java.io.FileInputStream) FileNotFoundException(java.io.FileNotFoundException) InvocationTargetException(java.lang.reflect.InvocationTargetException) DocumentException(org.dom4j.DocumentException) ByteArrayInputStream(java.io.ByteArrayInputStream) List(java.util.List) ArrayList(java.util.ArrayList) BulkloadClient(org.talend.mdm.bulkload.client.BulkloadClient)

Example 3 with WSItem

use of com.amalto.workbench.webservices.WSItem in project tmdm-studio-se by Talend.

the class ExportItemsWizard method exportCluster.

protected TreeObject exportCluster(List<TreeObject> exports, WSDataClusterPK pk, TMDMService service) {
    String encodedID = null;
    try {
        List<String> items1 = new ArrayList<String>();
        List<WSItemPKsByCriteriaResponseResults> results = service.getItemPKsByCriteria(new WSGetItemPKsByCriteria(null, encodedID, (long) -1, encodedID, encodedID, Integer.MAX_VALUE, 0, (long) -1, pk)).getResults();
        if (results == null) {
            return null;
        }
        for (WSItemPKsByCriteriaResponseResults item : results) {
            if (item.getWsItemPK().getIds() == null) {
                continue;
            }
            WSItem wsitem = service.getItem(new WSGetItem(item.getWsItemPK()));
            // Marshal
            StringWriter sw1 = new StringWriter();
            Marshaller.marshal(wsitem, sw1);
            // $NON-NLS-1$
            String uniqueId = pk.getPk() + "." + wsitem.getConceptName();
            for (String id : wsitem.getIds()) {
                // $NON-NLS-1$
                uniqueId = uniqueId + "." + id;
            }
            // $NON-NLS-1$
            encodedID = URLEncoder.encode(uniqueId, "UTF-8");
            // $NON-NLS-1$//$NON-NLS-2$
            writeString(sw1.toString(), TreeObject.DATACONTAINER_COTENTS + "/" + pk.getPk() + "/" + encodedID);
            // $NON-NLS-1$//$NON-NLS-2$
            items1.add(TreeObject.DATACONTAINER_COTENTS + "/" + pk.getPk() + "/" + encodedID);
        }
        TreeObject obj1 = new TreeObject(pk.getPk(), null, TreeObject.DATA_CLUSTER_CONTENTS, null, null);
        obj1.setItems(items1.toArray(new String[items1.size()]));
        exports.add(obj1);
        return obj1;
    } catch (Exception e) {
    }
    return null;
}
Also used : WSGetItem(com.amalto.workbench.webservices.WSGetItem) StringWriter(java.io.StringWriter) WSItem(com.amalto.workbench.webservices.WSItem) ArrayList(java.util.ArrayList) TreeObject(com.amalto.workbench.models.TreeObject) WSGetItemPKsByCriteria(com.amalto.workbench.webservices.WSGetItemPKsByCriteria) WSItemPKsByCriteriaResponseResults(com.amalto.workbench.webservices.WSItemPKsByCriteriaResponseResults)

Aggregations

WSItem (com.amalto.workbench.webservices.WSItem)3 WSGetItem (com.amalto.workbench.webservices.WSGetItem)2 ArrayList (java.util.ArrayList)2 TreeObject (com.amalto.workbench.models.TreeObject)1 XtentisException (com.amalto.workbench.utils.XtentisException)1 TMDMService (com.amalto.workbench.webservices.TMDMService)1 WSGetItemPKsByCriteria (com.amalto.workbench.webservices.WSGetItemPKsByCriteria)1 WSItemPK (com.amalto.workbench.webservices.WSItemPK)1 WSItemPKsByCriteriaResponseResults (com.amalto.workbench.webservices.WSItemPKsByCriteriaResponseResults)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 FileInputStream (java.io.FileInputStream)1 FileNotFoundException (java.io.FileNotFoundException)1 InputStream (java.io.InputStream)1 InputStreamReader (java.io.InputStreamReader)1 Reader (java.io.Reader)1 StringWriter (java.io.StringWriter)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 HashMap (java.util.HashMap)1 List (java.util.List)1 WebServiceException (javax.xml.ws.WebServiceException)1