Search in sources :

Example 1 with AdapterJobCommand

use of com.vmware.flowgate.common.model.AdapterJobCommand in project flowgate by vmware.

the class FacilityAdapterService method create.

public HttpHeaders create(FacilityAdapter adapter) {
    String displayName = adapter.getDisplayName();
    if (displayName == null || predefineName.contains(displayName)) {
        throw WormholeRequestException.InvalidFiled("DisplayName", displayName);
    }
    FacilityAdapter oldAdapter = facilityAdapterRepo.findByDisplayName(displayName);
    if (oldAdapter != null) {
        throw new WormholeRequestException("Adapter with dispalyName : " + displayName + " is existed");
    }
    List<AdapterJobCommand> commands = adapter.getCommands();
    if (commands == null || commands.isEmpty()) {
        throw new WormholeRequestException("The Commands field is required.");
    }
    HttpHeaders httpHeaders = new HttpHeaders();
    BaseDocumentUtil.generateID(adapter);
    String unique_value = adapter.getType().name() + JOIN_FLAG + UUID.randomUUID().toString().replaceAll("-", "");
    adapter.setTopic(unique_value);
    adapter.setSubCategory(unique_value);
    adapter.setQueueName(adapter.getSubCategory() + QUEUE_NAME_SUFFIX);
    String randomKey = UUID.randomUUID().toString().replaceAll("-", "");
    String serviceKey = DigestUtils.sha256Hex(randomKey);
    adapter.setServiceKey(serviceKey);
    facilityAdapterRepo.save(adapter);
    cacheServiceKey(serviceKey);
    httpHeaders.setLocation(linkTo(AssetController.class).slash(adapter.getId()).toUri());
    return httpHeaders;
}
Also used : WormholeRequestException(com.vmware.flowgate.exception.WormholeRequestException) AdapterJobCommand(com.vmware.flowgate.common.model.AdapterJobCommand) HttpHeaders(org.springframework.http.HttpHeaders) AssetController(com.vmware.flowgate.controller.AssetController) FacilityAdapter(com.vmware.flowgate.common.model.FacilityAdapter)

Example 2 with AdapterJobCommand

use of com.vmware.flowgate.common.model.AdapterJobCommand in project flowgate by vmware.

the class FacilityAdapterController method updateAdapterType.

@RequestMapping(method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
public void updateAdapterType(@RequestBody FacilityAdapter adapter) {
    FacilityAdapter equalNameAdapter = facilityAdapterRepo.findByDisplayName(adapter.getDisplayName());
    if (equalNameAdapter != null && !equalNameAdapter.getId().equals(adapter.getId())) {
        throw new WormholeRequestException("Adapter with dispalyName : " + adapter.getDisplayName() + " is existed");
    }
    List<AdapterJobCommand> commands = adapter.getCommands();
    if (commands == null || commands.isEmpty()) {
        throw new WormholeRequestException("The Commands field is required.");
    }
    FacilityAdapter oldAdapterType = facilityAdapterService.findById(adapter.getId());
    oldAdapterType.setDescription(adapter.getDescription());
    oldAdapterType.setDisplayName(adapter.getDisplayName());
    oldAdapterType.setCommands(commands);
    facilityAdapterRepo.save(adapter);
}
Also used : WormholeRequestException(com.vmware.flowgate.exception.WormholeRequestException) AdapterJobCommand(com.vmware.flowgate.common.model.AdapterJobCommand) FacilityAdapter(com.vmware.flowgate.common.model.FacilityAdapter) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 3 with AdapterJobCommand

use of com.vmware.flowgate.common.model.AdapterJobCommand in project flowgate by vmware.

the class MessageProcessingTest method testExecuteCustomerSendMessageJob2.

@Test
public void testExecuteCustomerSendMessageJob2() throws JobExecutionException {
    FacilitySoftwareConfig fac1 = createFacilitySoftware();
    String unique_value1 = UUID.randomUUID().toString();
    fac1.setSubCategory("OtherDCIM_" + unique_value1);
    when(restClient.getFacilitySoftwareInternalByType(FacilitySoftwareConfig.SoftwareType.OtherDCIM)).thenReturn(getFacilitySoftwareByType(fac1));
    when(restClient.getFacilitySoftwareInternalByType(FacilitySoftwareConfig.SoftwareType.OtherCMDB)).thenReturn(new ResponseEntity<FacilitySoftwareConfig[]>(new FacilitySoftwareConfig[0], HttpStatus.OK));
    FacilityAdapter adapter = new FacilityAdapter();
    adapter.setSubCategory("OtherDCIM_" + unique_value1);
    AdapterJobCommand command1 = new AdapterJobCommand();
    command1.setCommand("syncmetadata");
    command1.setTriggerCycle(20);
    List<AdapterJobCommand> commands = new ArrayList<AdapterJobCommand>();
    commands.add(command1);
    adapter.setCommands(commands);
    adapter.setTopic(unique_value1);
    adapter.setQueueName(unique_value1 + ":joblist");
    FacilityAdapter[] adapters = new FacilityAdapter[1];
    adapters[0] = adapter;
    when(restClient.getAllCustomerFacilityAdapters()).thenReturn(new ResponseEntity<FacilityAdapter[]>(new FacilityAdapter[0], HttpStatus.OK));
    customerAdapter.execute(null);
}
Also used : AdapterJobCommand(com.vmware.flowgate.common.model.AdapterJobCommand) ArrayList(java.util.ArrayList) FacilitySoftwareConfig(com.vmware.flowgate.common.model.FacilitySoftwareConfig) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) FacilityAdapter(com.vmware.flowgate.common.model.FacilityAdapter) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Test(org.junit.Test)

Example 4 with AdapterJobCommand

use of com.vmware.flowgate.common.model.AdapterJobCommand in project flowgate by vmware.

the class MessageProcessingTest method testExecuteCustomerSendMessageJob3.

@Test
public void testExecuteCustomerSendMessageJob3() throws JobExecutionException {
    ListOperations<String, String> listOp = Mockito.mock(ListOperations.class);
    ValueOperations<String, String> valueOp = Mockito.mock(ValueOperations.class);
    when(template.opsForList()).thenReturn(listOp);
    when(listOp.leftPushAll(anyString(), anyString())).thenReturn(1L);
    when(template.hasKey(anyString())).thenReturn(true);
    when(template.opsForValue()).thenReturn(valueOp);
    when(valueOp.increment(anyString())).thenReturn(4l);
    FacilitySoftwareConfig fac1 = createFacilitySoftware();
    String unique_value1 = UUID.randomUUID().toString();
    fac1.setSubCategory("OtherDCIM_" + unique_value1);
    when(restClient.getFacilitySoftwareInternalByType(FacilitySoftwareConfig.SoftwareType.OtherDCIM)).thenReturn(new ResponseEntity<FacilitySoftwareConfig[]>(new FacilitySoftwareConfig[0], HttpStatus.OK));
    when(restClient.getFacilitySoftwareInternalByType(FacilitySoftwareConfig.SoftwareType.OtherCMDB)).thenReturn(new ResponseEntity<FacilitySoftwareConfig[]>(new FacilitySoftwareConfig[0], HttpStatus.OK));
    FacilityAdapter adapter = new FacilityAdapter();
    adapter.setSubCategory("OtherDCIM_" + unique_value1);
    AdapterJobCommand command1 = new AdapterJobCommand();
    command1.setCommand("syncmetadata");
    command1.setTriggerCycle(20);
    List<AdapterJobCommand> commands = new ArrayList<AdapterJobCommand>();
    commands.add(command1);
    adapter.setCommands(commands);
    adapter.setTopic(unique_value1);
    adapter.setQueueName(unique_value1 + ":joblist");
    FacilityAdapter[] adapters = new FacilityAdapter[1];
    adapters[0] = adapter;
    when(restClient.getAllCustomerFacilityAdapters()).thenReturn(new ResponseEntity<FacilityAdapter[]>(adapters, HttpStatus.OK));
    customerAdapter.execute(null);
}
Also used : AdapterJobCommand(com.vmware.flowgate.common.model.AdapterJobCommand) ArrayList(java.util.ArrayList) FacilitySoftwareConfig(com.vmware.flowgate.common.model.FacilitySoftwareConfig) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) FacilityAdapter(com.vmware.flowgate.common.model.FacilityAdapter) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Test(org.junit.Test)

Example 5 with AdapterJobCommand

use of com.vmware.flowgate.common.model.AdapterJobCommand in project flowgate by vmware.

the class MessageProcessingTest method testExecuteCustomerSendMessageJob.

@Test
public void testExecuteCustomerSendMessageJob() throws JobExecutionException {
    ListOperations<String, String> listOp = Mockito.mock(ListOperations.class);
    ValueOperations<String, String> valueOp = Mockito.mock(ValueOperations.class);
    when(template.opsForList()).thenReturn(listOp);
    when(listOp.leftPushAll(anyString(), anyString())).thenReturn(1L);
    when(template.hasKey(anyString())).thenReturn(true);
    when(template.opsForValue()).thenReturn(valueOp);
    FacilitySoftwareConfig fac1 = createFacilitySoftware();
    String unique_value1 = UUID.randomUUID().toString();
    fac1.setSubCategory("OtherDCIM_" + unique_value1);
    when(restClient.getFacilitySoftwareInternalByType(FacilitySoftwareConfig.SoftwareType.OtherDCIM)).thenReturn(getFacilitySoftwareByType(fac1));
    FacilitySoftwareConfig fac2 = createFacilitySoftware();
    fac2.setType(FacilitySoftwareConfig.SoftwareType.OtherCMDB);
    String unique_value2 = UUID.randomUUID().toString();
    fac2.setSubCategory("OtherCMDB_" + unique_value2);
    when(restClient.getFacilitySoftwareInternalByType(FacilitySoftwareConfig.SoftwareType.OtherCMDB)).thenReturn(getFacilitySoftwareByType(fac2));
    FacilityAdapter adapter = new FacilityAdapter();
    adapter.setSubCategory("OtherDCIM_" + unique_value1);
    AdapterJobCommand command1 = new AdapterJobCommand();
    command1.setCommand("syncmetadata");
    command1.setTriggerCycle(20);
    List<AdapterJobCommand> commands = new ArrayList<AdapterJobCommand>();
    commands.add(command1);
    adapter.setCommands(commands);
    adapter.setTopic(unique_value1);
    adapter.setQueueName(unique_value1 + ":joblist");
    FacilityAdapter adapter2 = new FacilityAdapter();
    adapter2.setSubCategory("OtherCMDB_" + unique_value2);
    AdapterJobCommand command2 = new AdapterJobCommand();
    command2.setCommand("syncmetadata");
    command2.setTriggerCycle(20);
    List<AdapterJobCommand> commands2 = new ArrayList<AdapterJobCommand>();
    commands2.add(command2);
    adapter2.setCommands(commands2);
    adapter2.setTopic(unique_value2);
    adapter2.setQueueName(unique_value2 + ":joblist");
    FacilityAdapter[] adapters = new FacilityAdapter[2];
    adapters[0] = adapter;
    adapters[1] = adapter2;
    when(restClient.getAllCustomerFacilityAdapters()).thenReturn(new ResponseEntity<FacilityAdapter[]>(adapters, HttpStatus.OK));
    customerAdapter.execute(null);
}
Also used : AdapterJobCommand(com.vmware.flowgate.common.model.AdapterJobCommand) ArrayList(java.util.ArrayList) FacilitySoftwareConfig(com.vmware.flowgate.common.model.FacilitySoftwareConfig) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) FacilityAdapter(com.vmware.flowgate.common.model.FacilityAdapter) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Test(org.junit.Test)

Aggregations

AdapterJobCommand (com.vmware.flowgate.common.model.AdapterJobCommand)8 FacilityAdapter (com.vmware.flowgate.common.model.FacilityAdapter)7 FacilitySoftwareConfig (com.vmware.flowgate.common.model.FacilitySoftwareConfig)5 ArrayList (java.util.ArrayList)5 Test (org.junit.Test)4 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)4 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)4 WormholeRequestException (com.vmware.flowgate.exception.WormholeRequestException)2 EventMessage (com.vmware.flowgate.common.model.redis.message.EventMessage)1 AssetController (com.vmware.flowgate.controller.AssetController)1 IOException (java.io.IOException)1 HttpHeaders (org.springframework.http.HttpHeaders)1 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)1