static List<MetaData> fromRequestTargetMetadata(final List<MgmtMetadata> metadata, final EntityFactory entityFactory) { if (metadata == null) { return Collections.emptyList(); } return metadata.stream().map( metadataRest -> entityFactory.generateTargetMetadata(metadataRest.getKey(), metadataRest.getValue())) .collect(Collectors.toList()); }
@Override public ResponseEntity<MgmtMetadata> updateMetadata(@PathVariable("targetId") final String targetId, @PathVariable("metadataKey") final String metadataKey, @RequestBody final MgmtMetadataBodyPut metadata) { final TargetMetadata updated = targetManagement.updateMetadata(targetId, entityFactory.generateTargetMetadata(metadataKey, metadata.getValue())); return ResponseEntity.ok(MgmtTargetMapper.toResponseTargetMetadata(updated)); }
@Override protected MetaData createMetadata(final Target entity, final String key, final String value) { final TargetMetadata metaData = targetManagement .createMetaData(entity.getControllerId(), Collections.singletonList(entityFactory.generateTargetMetadata(key, value))) .get(0); setSelectedEntity(metaData.getTarget()); return metaData; }
@Override protected MetaData createMetadata(final Target entity, final String key, final String value) { final TargetMetadata metaData = targetManagement .createMetaData(entity.getControllerId(), Collections.singletonList(entityFactory.generateTargetMetadata(key, value))) .get(0); setSelectedEntity(metaData.getTarget()); return metaData; }
@Override protected MetaData updateMetadata(final Target entity, final String key, final String value) { final TargetMetadata metaData = targetManagement.updateMetadata(entity.getControllerId(), entityFactory.generateTargetMetadata(key, value)); setSelectedEntity(metaData.getTarget()); return metaData; }
@Override protected MetaData updateMetadata(final Target entity, final String key, final String value) { final TargetMetadata metaData = targetManagement.updateMetadata(entity.getControllerId(), entityFactory.generateTargetMetadata(key, value)); setSelectedEntity(metaData.getTarget()); return metaData; }
@Test @Description("Update a single meta data value for specific key." + " Required Permission: " + SpPermission.UPDATE_REPOSITORY) public void updateMetadata() throws Exception { // prepare and create metadata for update final String knownKey = "knownKey"; final String knownValue = "knownValue"; final String updateValue = "valueForUpdate"; final Target testTarget = testdataFactory.createTarget(targetId); targetManagement.createMetaData(testTarget.getControllerId(), Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue))); final JSONObject jsonObject = new JSONObject().put("key", knownKey).put("value", updateValue); mockMvc.perform(put(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata/{metadatakey}", testTarget.getControllerId(), knownKey) .contentType(MediaType.APPLICATION_JSON_UTF8).content(jsonObject.toString())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andDo(this.document.document( pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID), parameterWithName("metadatakey").description(ApiModelPropertiesGeneric.ITEM_ID)), requestFields(requestFieldWithPath("key").description(MgmtApiModelProperties.META_DATA_KEY), requestFieldWithPath("value").description(MgmtApiModelProperties.META_DATA_VALUE)), responseFields(fieldWithPath("key").description(MgmtApiModelProperties.META_DATA_KEY), fieldWithPath("value").description(MgmtApiModelProperties.META_DATA_VALUE)))); }
@Test @Description("Delete a single meta data." + " Required Permission: " + SpPermission.UPDATE_REPOSITORY) public void deleteMetadata() throws Exception { // prepare and create metadata for deletion final String knownKey = "knownKey"; final String knownValue = "knownValue"; final Target testTarget = testdataFactory.createTarget(targetId); targetManagement.createMetaData(testTarget.getControllerId(), Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue))); mockMvc.perform(delete(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata/{key}", testTarget.getControllerId(), knownKey)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andDo(this.document.document( pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID), parameterWithName("key").description(ApiModelPropertiesGeneric.ITEM_ID)))); }
@Test @Description("Get a single meta data value for a meta data key." + " Required Permission: " + SpPermission.READ_REPOSITORY) public void getMetadataValue() throws Exception { // prepare and create metadata final String knownKey = "knownKey"; final String knownValue = "knownValue"; final Target testTarget = testdataFactory.createTarget(targetId); targetManagement.createMetaData(testTarget.getControllerId(), Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue))); mockMvc.perform(get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata/{metadatakey}", testTarget.getControllerId(), knownKey)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andDo(this.document.document( pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID), parameterWithName("metadatakey").description(ApiModelPropertiesGeneric.ITEM_ID)), responseFields(fieldWithPath("key").description(MgmtApiModelProperties.META_DATA_KEY), fieldWithPath("value").description(MgmtApiModelProperties.META_DATA_VALUE)))); }
@Test @Description("Get a paged list of meta data for a target with standard page size." + " Required Permission: " + SpPermission.READ_REPOSITORY) public void getMetadata() throws Exception { final int totalMetadata = 4; final String knownKeyPrefix = "knownKey"; final String knownValuePrefix = "knownValue"; final Target testTarget = testdataFactory.createTarget(targetId); for (int index = 0; index < totalMetadata; index++) { targetManagement.createMetaData(testTarget.getControllerId(), Lists.newArrayList( entityFactory.generateTargetMetadata(knownKeyPrefix + index, knownValuePrefix + index))); } mockMvc.perform( get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata", testTarget.getControllerId())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON_UTF8)) .andDo(this.document.document( pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID)), responseFields(fieldWithPath("total").description(ApiModelPropertiesGeneric.TOTAL_ELEMENTS), fieldWithPath("size").type(JsonFieldType.NUMBER) .description(ApiModelPropertiesGeneric.SIZE), fieldWithPath("content").description(MgmtApiModelProperties.META_DATA), fieldWithPath("content[].key").description(MgmtApiModelProperties.META_DATA_KEY), fieldWithPath("content[].value").description(MgmtApiModelProperties.META_DATA_VALUE)))); }
for (int index = 0; index < totalMetadata; index++) { targetManagement.createMetaData(testTarget.getControllerId(), Lists.newArrayList( entityFactory.generateTargetMetadata(knownKeyPrefix + index, knownValuePrefix + index)));