Search in sources :

Example 6 with EMap

use of org.eclipse.emf.common.util.EMap 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);
    }
}
Also used : ServicePort(org.talend.repository.services.model.services.ServicePort) ServiceConnection(org.talend.repository.services.model.services.ServiceConnection) HashMap(java.util.HashMap) Definition(javax.wsdl.Definition) ArrayList(java.util.ArrayList) ServiceOperation(org.talend.repository.services.model.services.ServiceOperation) Operation(javax.wsdl.Operation) ServiceOperation(org.talend.repository.services.model.services.ServiceOperation) EMap(org.eclipse.emf.common.util.EMap) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) PersistenceException(org.talend.commons.exception.PersistenceException) EObject(org.eclipse.emf.ecore.EObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) IProxyRepositoryFactory(org.talend.repository.model.IProxyRepositoryFactory) PortType(javax.wsdl.PortType)

Example 7 with EMap

use of org.eclipse.emf.common.util.EMap in project tmdm-studio-se by Talend.

the class ConsistencyServiceTest method testGetCurrentDigestValue.

@Test
public void testGetCurrentDigestValue() {
    assertNull(ConsistencyService.getInstance().getCurrentDigestValue(null));
    // $NON-NLS-1$
    String currentDigestValue = "current_digest_value_0123";
    MDMServerObject mockMDMServerObj = Mockito.mock(MDMServerObject.class);
    Mockito.when(mockMDMServerObj.getCurrentDigestValue()).thenReturn(currentDigestValue);
    MDMServerObjectItem mockItem = Mockito.mock(MDMServerObjectItem.class);
    Mockito.when(mockItem.getMDMServerObject()).thenReturn(mockMDMServerObj);
    // 
    assertEquals(currentDigestValue, ConsistencyService.getInstance().getCurrentDigestValue(mockItem));
    EMap mockProperties = Mockito.mock(EMap.class);
    // $NON-NLS-1$
    Mockito.when(mockProperties.get(eq("currentDigestValue"))).thenReturn(currentDigestValue);
    Property mockProperty = Mockito.mock(Property.class);
    Mockito.when(mockProperty.getAdditionalProperties()).thenReturn(mockProperties);
    ProcessItem mockProcessItem = Mockito.mock(ProcessItem.class);
    Mockito.when(mockProcessItem.getProperty()).thenReturn(mockProperty);
    // 
    assertEquals(currentDigestValue, ConsistencyService.getInstance().getCurrentDigestValue(mockProcessItem));
}
Also used : ProcessItem(org.talend.core.model.properties.ProcessItem) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) EMap(org.eclipse.emf.common.util.EMap) Property(org.talend.core.model.properties.Property) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 8 with EMap

use of org.eclipse.emf.common.util.EMap in project tmdm-studio-se by Talend.

the class JobResourceListener method removeLastServerInfo.

private void removeLastServerInfo(Item item) {
    Property property = item.getProperty();
    EMap additionalProperties = property.getAdditionalProperties();
    if (additionalProperties != null && additionalProperties.containsKey(RepositoryResourceUtil.PROP_LAST_SERVER_DEF)) {
        RepositoryResourceUtil.setLastServerDef(item, null);
        ProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
        try {
            item = RepositoryResourceUtil.assertItem(item);
            factory.save(item, true);
        } catch (PersistenceException e) {
            log.error(e.getMessage(), e);
        }
    }
}
Also used : ProxyRepositoryFactory(org.talend.core.repository.model.ProxyRepositoryFactory) EMap(org.eclipse.emf.common.util.EMap) PersistenceException(org.talend.commons.exception.PersistenceException) Property(org.talend.core.model.properties.Property)

Example 9 with EMap

use of org.eclipse.emf.common.util.EMap in project tdq-studio-se by Talend.

the class ColumnSetIndicatorEvaluatorTest method testExecuteSqlQuery_file.

/**
 * Test method for {@link org.talend.dq.indicators.ColumnSetIndicatorEvaluator#executeSqlQuery(String)} .
 */
@Test
public void testExecuteSqlQuery_file() throws Exception {
    Analysis analysis = mock(Analysis.class);
    // $NON-NLS-1$
    stub(method(DelimitedFileIndicatorEvaluator.class, "handleByARow"));
    // $NON-NLS-1$
    stub(method(DelimitedFileIndicatorEvaluator.class, "addResultToIndicatorToRowMap", Indicator.class, EMap.class));
    AnalysisContext context = mock(AnalysisContext.class);
    when(analysis.getContext()).thenReturn(context);
    DelimitedFileConnection deliFileConn = mock(DelimitedFileConnection.class);
    when(context.getConnection()).thenReturn(deliFileConn);
    when(deliFileConn.isContextMode()).thenReturn(true);
    when(deliFileConn.getFilePath()).thenReturn(context_fd1_File);
    when(deliFileConn.getFieldSeparatorValue()).thenReturn(context_fd1_FieldSeparator);
    when(deliFileConn.getEncoding()).thenReturn(context_fd1_Encoding);
    IPath iPath = mock(IPath.class);
    File file = new File(realFile);
    BufferedWriter output = new BufferedWriter(new FileWriter(file));
    String str = "id;Cocust(Tests);owner_id\n" + "1;yellow;3301\n" + "2;blue;3302\n" + "4;red;3307\n" + "5;white;4563\n" + "6;pink2;457883\n" + "7;blank;231233\n";
    output.write(str);
    output.close();
    when(iPath.toFile()).thenReturn(file);
    assertTrue(file.exists());
    PowerMockito.mockStatic(JavaSqlFactory.class);
    when(JavaSqlFactory.getURL(deliFileConn)).thenReturn(realFile);
    when(JavaSqlFactory.getFieldSeparatorValue(deliFileConn)).thenReturn(realFieldSeparator);
    when(JavaSqlFactory.getEncoding(deliFileConn)).thenReturn(realEncoding);
    PowerMockito.mockStatic(ResourceBundle.class);
    ResourceBundle bundle = mock(ResourceBundle.class);
    // $NON-NLS-1$
    when(ResourceBundle.getBundle("Messages")).thenReturn(bundle);
    PowerMockito.mockStatic(Messages.class);
    // $NON-NLS-1$
    when(Messages.getString(anyString())).thenReturn("testString");
    AnalysisResult results = mock(AnalysisResult.class);
    when(analysis.getResults()).thenReturn(results);
    EMap<Indicator, AnalyzedDataSet> indicToRowMap = mock(EMap.class);
    when(results.getIndicToRowMap()).thenReturn(indicToRowMap);
    when(deliFileConn.getHeaderValue()).thenReturn(context_fd1_Header);
    when(deliFileConn.getFooterValue()).thenReturn(zero);
    when(deliFileConn.getLimitValue()).thenReturn(zero);
    when(deliFileConn.getEscapeType()).thenReturn(Escape.DELIMITED);
    when(deliFileConn.getRowSeparatorValue()).thenReturn(context_fd1_RowSeparator);
    when(deliFileConn.isSplitRecord()).thenReturn(false);
    when(deliFileConn.isRemoveEmptyRow()).thenReturn(false);
    when(JavaSqlFactory.getHeadValue(deliFileConn)).thenReturn(realHeading);
    when(JavaSqlFactory.getRowSeparatorValue(deliFileConn)).thenReturn(realRowSeparator);
    PowerMockito.mockStatic(LanguageManager.class);
    when(LanguageManager.getCurrentLanguage()).thenReturn(ECodeLanguage.JAVA);
    PowerMockito.mockStatic(ParameterUtil.class);
    when(ParameterUtil.trimParameter(realFile)).thenReturn(realFile);
    when(ParameterUtil.trimParameter(realEncoding)).thenReturn(realEncoding);
    PowerMockito.mockStatic(StringUtils.class);
    when(StringUtils.loadConvert(realFieldSeparator, ECodeLanguage.JAVA.getName())).thenReturn(realFieldSeparator);
    when(ParameterUtil.trimParameter(realFieldSeparator)).thenReturn(realFieldSeparator);
    when(StringUtils.loadConvert(realRowSeparator, ECodeLanguage.JAVA.getName())).thenReturn(realRowSeparator);
    when(ParameterUtil.trimParameter(realRowSeparator)).thenReturn(realRowSeparator);
    List<ModelElement> columnElementList = new BasicEList<ModelElement>();
    List<MetadataColumn> columnElementList2 = new BasicEList<MetadataColumn>();
    MetadataColumn mc0 = mock(MetadataColumn.class);
    MetadataColumn mc1 = mock(MetadataColumn.class);
    MetadataColumn mc2 = mock(MetadataColumn.class);
    columnElementList.add(mc0);
    columnElementList.add(mc1);
    columnElementList.add(mc2);
    columnElementList2.add(mc0);
    columnElementList2.add(mc1);
    columnElementList2.add(mc2);
    EList<ModelElement> eLs = (EList<ModelElement>) columnElementList;
    when(context.getAnalysedElements()).thenReturn(eLs);
    PowerMockito.mockStatic(ColumnHelper.class);
    MetadataTable mTable = mock(MetadataTable.class);
    when(mTable.getColumns()).thenReturn((EList<MetadataColumn>) columnElementList2);
    when(ColumnHelper.getColumnOwnerAsMetadataTable(mc0)).thenReturn(mTable);
    when(ColumnHelper.getColumnOwnerAsMetadataTable(mc1)).thenReturn(mTable);
    when(ColumnHelper.getColumnOwnerAsMetadataTable(mc2)).thenReturn(mTable);
    ColumnSetIndicatorEvaluator evaluator = new ColumnSetIndicatorEvaluator(analysis);
    ColumnSetIndicatorEvaluator spyEvaluator = Mockito.spy(evaluator);
    Mockito.doReturn(true).when(spyEvaluator).continueRun();
    ReturnCode rc = spyEvaluator.executeSqlQuery(empty);
    assertTrue(rc.isOk());
}
Also used : FileWriter(java.io.FileWriter) AnalysisContext(org.talend.dataquality.analysis.AnalysisContext) Matchers.anyString(org.mockito.Matchers.anyString) BufferedWriter(java.io.BufferedWriter) ModelElement(orgomg.cwm.objectmodel.core.ModelElement) MetadataColumn(org.talend.core.model.metadata.builder.connection.MetadataColumn) MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) ReturnCode(org.talend.utils.sugars.ReturnCode) IPath(org.eclipse.core.runtime.IPath) AnalyzedDataSet(org.talend.dataquality.analysis.AnalyzedDataSet) BasicEList(org.eclipse.emf.common.util.BasicEList) DelimitedFileConnection(org.talend.core.model.metadata.builder.connection.DelimitedFileConnection) Indicator(org.talend.dataquality.indicators.Indicator) AnalysisResult(org.talend.dataquality.analysis.AnalysisResult) BasicEList(org.eclipse.emf.common.util.BasicEList) EList(org.eclipse.emf.common.util.EList) Analysis(org.talend.dataquality.analysis.Analysis) EMap(org.eclipse.emf.common.util.EMap) ResourceBundle(java.util.ResourceBundle) File(java.io.File) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 10 with EMap

use of org.eclipse.emf.common.util.EMap in project tdq-studio-se by Talend.

the class DelimitedFileIndicatorEvaluatorTest method testExecuteSqlQuery_delimetd.

@Ignore
@Test
public void testExecuteSqlQuery_delimetd() throws Exception {
    // $NON-NLS-1$
    String empty = "";
    Analysis analysis = mock(Analysis.class);
    DelimitedFileIndicatorEvaluator delFileIndiEvaluator = new DelimitedFileIndicatorEvaluator(analysis);
    DelimitedFileIndicatorEvaluator spyEvaluator = Mockito.spy(delFileIndiEvaluator);
    // $NON-NLS-1$
    stub(method(DelimitedFileIndicatorEvaluator.class, "handleByARow"));
    // $NON-NLS-1$
    stub(method(DelimitedFileIndicatorEvaluator.class, "addResultToIndicatorToRowMap", Indicator.class, EMap.class));
    AnalysisContext context = mock(AnalysisContext.class);
    when(analysis.getContext()).thenReturn(context);
    DelimitedFileConnection deliFileConn = mock(DelimitedFileConnection.class);
    when(context.getConnection()).thenReturn(deliFileConn);
    when(deliFileConn.isContextMode()).thenReturn(false);
    // $NON-NLS-1$
    String path = "test.txt";
    PowerMockito.mockStatic(JavaSqlFactory.class);
    when(JavaSqlFactory.getURL(deliFileConn)).thenReturn(path);
    IPath iPath = mock(IPath.class);
    File file = new File(path);
    BufferedWriter output = new BufferedWriter(new FileWriter(file));
    String str = // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
    "id;Cocust(Tests);owner_id\n" + "1;yellow;3301\n" + "2;blue;3302\n" + " 4;red;3307\n" + "5;white;4563\n" + "6;pink2;457883\n" + // $NON-NLS-1$ //$NON-NLS-2$
    "7;blank;231233\n";
    output.write(str);
    output.close();
    when(iPath.toFile()).thenReturn(file);
    // $NON-NLS-1$
    when(deliFileConn.getFieldSeparatorValue()).thenReturn(";");
    // $NON-NLS-1$
    when(deliFileConn.getEncoding()).thenReturn("US-ASCII");
    AnalysisResult results = mock(AnalysisResult.class);
    when(analysis.getResults()).thenReturn(results);
    EMap<Indicator, AnalyzedDataSet> indicToRowMap = mock(EMap.class);
    when(results.getIndicToRowMap()).thenReturn(indicToRowMap);
    List<ModelElement> columnElementList = new BasicEList<ModelElement>();
    List<MetadataColumn> columnElementList2 = new BasicEList<MetadataColumn>();
    MetadataColumn mc0 = mock(MetadataColumn.class);
    MetadataColumn mc1 = mock(MetadataColumn.class);
    MetadataColumn mc2 = mock(MetadataColumn.class);
    columnElementList.add(mc0);
    columnElementList.add(mc1);
    columnElementList.add(mc2);
    columnElementList2.add(mc0);
    columnElementList2.add(mc1);
    columnElementList2.add(mc2);
    EList<ModelElement> eLs = (EList<ModelElement>) columnElementList;
    when(context.getAnalysedElements()).thenReturn(eLs);
    PowerMockito.mockStatic(ColumnHelper.class);
    MetadataTable mTable = mock(MetadataTable.class);
    when(mTable.getColumns()).thenReturn((EList<MetadataColumn>) columnElementList2);
    when(ColumnHelper.getColumnOwnerAsMetadataTable(mc0)).thenReturn(mTable);
    when(ColumnHelper.getColumnOwnerAsMetadataTable(mc1)).thenReturn(mTable);
    when(deliFileConn.getHeaderValue()).thenReturn(empty);
    when(deliFileConn.getFooterValue()).thenReturn(empty);
    when(deliFileConn.getLimitValue()).thenReturn(empty);
    when(deliFileConn.getEscapeType()).thenReturn(Escape.DELIMITED);
    // $NON-NLS-1$
    when(deliFileConn.getRowSeparatorValue()).thenReturn("\\n");
    when(deliFileConn.isRemoveEmptyRow()).thenReturn(false);
    when(deliFileConn.isSplitRecord()).thenReturn(false);
    PowerMockito.mockStatic(LanguageManager.class);
    when(LanguageManager.getCurrentLanguage()).thenReturn(ECodeLanguage.JAVA);
    Mockito.doReturn(true).when(spyEvaluator).continueRun();
    spyEvaluator.executeSqlQuery(empty);
}
Also used : IPath(org.eclipse.core.runtime.IPath) AnalyzedDataSet(org.talend.dataquality.analysis.AnalyzedDataSet) FileWriter(java.io.FileWriter) BasicEList(org.eclipse.emf.common.util.BasicEList) DelimitedFileConnection(org.talend.core.model.metadata.builder.connection.DelimitedFileConnection) AnalysisContext(org.talend.dataquality.analysis.AnalysisContext) Indicator(org.talend.dataquality.indicators.Indicator) AnalysisResult(org.talend.dataquality.analysis.AnalysisResult) BufferedWriter(java.io.BufferedWriter) ModelElement(orgomg.cwm.objectmodel.core.ModelElement) MetadataColumn(org.talend.core.model.metadata.builder.connection.MetadataColumn) BasicEList(org.eclipse.emf.common.util.BasicEList) EList(org.eclipse.emf.common.util.EList) Analysis(org.talend.dataquality.analysis.Analysis) EMap(org.eclipse.emf.common.util.EMap) MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) File(java.io.File) Ignore(org.junit.Ignore) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Aggregations

EMap (org.eclipse.emf.common.util.EMap)10 Test (org.junit.Test)4 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)4 PersistenceException (org.talend.commons.exception.PersistenceException)4 Property (org.talend.core.model.properties.Property)4 ArrayList (java.util.ArrayList)3 EList (org.eclipse.emf.common.util.EList)3 ProcessItem (org.talend.core.model.properties.ProcessItem)3 BufferedWriter (java.io.BufferedWriter)2 File (java.io.File)2 FileWriter (java.io.FileWriter)2 HashMap (java.util.HashMap)2 Iterator (java.util.Iterator)2 Map (java.util.Map)2 IPath (org.eclipse.core.runtime.IPath)2 BasicEList (org.eclipse.emf.common.util.BasicEList)2 DelimitedFileConnection (org.talend.core.model.metadata.builder.connection.DelimitedFileConnection)2 MetadataColumn (org.talend.core.model.metadata.builder.connection.MetadataColumn)2 MetadataTable (org.talend.core.model.metadata.builder.connection.MetadataTable)2 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)2