Search in sources :

Example 1 with WSLong

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

the class ConsistencyServiceTest method testUpdateDigestValue.

@Test
public void testUpdateDigestValue() {
    PowerMockito.mockStatic(RepositoryResourceUtil.class);
    IRepositoryViewObject mockViewObj = PowerMockito.mock(IRepositoryViewObject.class);
    MDMServerObjectItem mockItem = PowerMockito.mock(MDMServerObjectItem.class);
    Property mockProperty = PowerMockito.mock(Property.class);
    PowerMockito.when(mockProperty.getItem()).thenReturn(mockItem);
    PowerMockito.when(mockItem.getProperty()).thenReturn(mockProperty);
    PowerMockito.when(mockViewObj.getProperty()).thenReturn(mockProperty);
    PowerMockito.when(RepositoryResourceUtil.assertItem(mockItem)).thenReturn(mockItem);
    PowerMockito.when(mockViewObj.getRepositoryObjectType()).thenReturn(IServerObjectRepositoryType.TYPE_DATAMODEL);
    try {
        TMDMService mockService = PowerMockito.mock(TMDMService.class);
        MDMServerDef mockServerDef = PowerMockito.mock(MDMServerDef.class);
        PowerMockito.mockStatic(RepositoryWebServiceAdapter.class);
        PowerMockito.when(RepositoryWebServiceAdapter.getMDMService(mockServerDef)).thenReturn(mockService);
        WSLong timeValue = new WSLong(11);
        PowerMockito.when(mockService.updateDigest(any(WSDigest.class))).thenReturn(timeValue);
        ConsistencyService mockCService = PowerMockito.mock(ConsistencyService.class);
        // $NON-NLS-1$
        PowerMockito.doNothing().when(mockCService, "updateLocalDigestValue", mockViewObj);
        // $NON-NLS-1$
        String label = "Product";
        // $NON-NLS-1$
        PowerMockito.when(mockCService, "getObjectName", mockViewObj).thenReturn(label);
        PowerMockito.when(mockCService.getLocalDigestValue(mockItem)).thenReturn(label);
        PowerMockito.when(mockCService, "updateDigestValue", any(MDMServerDef.class), any(IRepositoryViewObject.class)).thenCallRealMethod();
        mockCService.updateDigestValue(mockServerDef, mockViewObj);
        // check
        Mockito.verify(mockCService, times(1)).updateLocalDigestValue(mockViewObj);
        Mockito.verify(mockService, Mockito.times(1)).updateDigest(any(WSDigest.class));
        PowerMockito.verifyStatic();
        RepositoryResourceUtil.saveItem(mockItem);
    } catch (Exception e) {
        log.error(e.getMessage(), e);
    }
}
Also used : WSLong(com.amalto.workbench.webservices.WSLong) TMDMService(com.amalto.workbench.webservices.TMDMService) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) WSDigest(com.amalto.workbench.webservices.WSDigest) Property(org.talend.core.model.properties.Property) MDMServerDef(org.talend.mdm.repository.model.mdmmetadata.MDMServerDef) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 2 with WSLong

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

the class ConsistencyService method updateDigestValue.

public void updateDigestValue(MDMServerDef serverDef, IRepositoryViewObject viewObj) throws XtentisException {
    Item item = viewObj.getProperty().getItem();
    if (item instanceof MDMServerObjectItem) {
        TMDMService service = RepositoryWebServiceAdapter.getMDMService(serverDef);
        updateLocalDigestValue(viewObj);
        // key
        String type = viewObj.getRepositoryObjectType().getKey();
        String objectName = getObjectName(viewObj);
        WSDigestKey key = new WSDigestKey(objectName, type);
        // value
        WSDigest value = new WSDigest(getLocalDigestValue(item), 0L, key);
        WSLong timeValue = service.updateDigest(value);
        // 
        if (timeValue != null) {
            updateLocalTimestamp(item, timeValue.getValue());
        }
        if (!viewObj.getRepositoryObjectType().equals(IServerObjectRepositoryType.TYPE_MATCH_RULE_MAPINFO)) {
            item = RepositoryResourceUtil.assertItem(item);
            Property property = item.getProperty();
            boolean eDeliver = property.eDeliver();
            property.eSetDeliver(false);
            RepositoryResourceUtil.saveItem(item);
            property.eSetDeliver(eDeliver);
        }
    }
}
Also used : ReferenceFileItem(org.talend.core.model.properties.ReferenceFileItem) Item(org.talend.core.model.properties.Item) ProcessItem(org.talend.core.model.properties.ProcessItem) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) WSLong(com.amalto.workbench.webservices.WSLong) TMDMService(com.amalto.workbench.webservices.TMDMService) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) WSDigestKey(com.amalto.workbench.webservices.WSDigestKey) WSDigest(com.amalto.workbench.webservices.WSDigest) Property(org.talend.core.model.properties.Property)

Aggregations

TMDMService (com.amalto.workbench.webservices.TMDMService)2 WSDigest (com.amalto.workbench.webservices.WSDigest)2 WSLong (com.amalto.workbench.webservices.WSLong)2 Property (org.talend.core.model.properties.Property)2 MDMServerObjectItem (org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem)2 WSDigestKey (com.amalto.workbench.webservices.WSDigestKey)1 Test (org.junit.Test)1 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)1 Item (org.talend.core.model.properties.Item)1 ProcessItem (org.talend.core.model.properties.ProcessItem)1 ReferenceFileItem (org.talend.core.model.properties.ReferenceFileItem)1 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)1 MDMServerDef (org.talend.mdm.repository.model.mdmmetadata.MDMServerDef)1