/** * Gets a list of keys for all existing business object definition tags that are associated with the specified business object definition. * * @param namespace the namespace of the business object definition * @param businessObjectDefinitionName the name of the business object definition * * @return the list of business object definition tag keys */ @RequestMapping(value = BUSINESS_OBJECT_DEFINITION_TAGS_URI_PREFIX + "/namespaces/{namespace}" + "/businessObjectDefinitionNames/{businessObjectDefinitionName}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_BUSINESS_OBJECT_DEFINITION_TAGS_BY_BUSINESS_OBJECT_DEFINITION_GET) public BusinessObjectDefinitionTagKeys getBusinessObjectDefinitionTagsByBusinessObjectDefinition(@PathVariable(value = "namespace") String namespace, @PathVariable(value = "businessObjectDefinitionName") String businessObjectDefinitionName) { return businessObjectDefinitionTagService .getBusinessObjectDefinitionTagsByBusinessObjectDefinition(new BusinessObjectDefinitionKey(namespace, businessObjectDefinitionName)); }
/** * Gets a list of keys for all existing business object definition tags that are associated with the specified business object definition. * * @param namespace the namespace of the business object definition * @param businessObjectDefinitionName the name of the business object definition * * @return the list of business object definition tag keys */ @RequestMapping(value = BUSINESS_OBJECT_DEFINITION_TAGS_URI_PREFIX + "/namespaces/{namespace}" + "/businessObjectDefinitionNames/{businessObjectDefinitionName}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_BUSINESS_OBJECT_DEFINITION_TAGS_BY_BUSINESS_OBJECT_DEFINITION_GET) public BusinessObjectDefinitionTagKeys getBusinessObjectDefinitionTagsByBusinessObjectDefinition(@PathVariable(value = "namespace") String namespace, @PathVariable(value = "businessObjectDefinitionName") String businessObjectDefinitionName) { return businessObjectDefinitionTagService .getBusinessObjectDefinitionTagsByBusinessObjectDefinition(new BusinessObjectDefinitionKey(namespace, businessObjectDefinitionName)); }
@Test public void testGetBusinessObjectDefinitionTagsByBusinessObjectDefinition() { // Create a business object definition key. BusinessObjectDefinitionKey businessObjectDefinitionKey = new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME); // Create tag keys. List<TagKey> tagKeys = Arrays.asList(new TagKey(TAG_TYPE, TAG_CODE), new TagKey(TAG_TYPE_2, TAG_CODE_2)); BusinessObjectDefinitionTagKey businessObjectDefinitionTagKey = new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, new TagKey(TAG_TYPE, TAG_CODE)); BusinessObjectDefinitionTagKeys BusinessObjectDefinitionTagKeys = new BusinessObjectDefinitionTagKeys(Arrays.asList(businessObjectDefinitionTagKey)); when(businessObjectDefinitionTagService.getBusinessObjectDefinitionTagsByBusinessObjectDefinition(businessObjectDefinitionKey)) .thenReturn(BusinessObjectDefinitionTagKeys); // Get business object definition tags by business object definition. BusinessObjectDefinitionTagKeys result = businessObjectDefinitionTagRestController.getBusinessObjectDefinitionTagsByBusinessObjectDefinition(BDEF_NAMESPACE, BDEF_NAME); // Verify the external calls. verify(businessObjectDefinitionTagService).getBusinessObjectDefinitionTagsByBusinessObjectDefinition(businessObjectDefinitionKey); verifyNoMoreInteractions(businessObjectDefinitionTagService); // Validate the returned object. assertEquals(BusinessObjectDefinitionTagKeys, result); }
@Test public void testGetBusinessObjectDefinitionTagsByBusinessObjectDefinitionMissingRequiredParameters() { // Try to get business object definition tags by business object definition when business object definition namespace is not specified. try { businessObjectDefinitionTagService .getBusinessObjectDefinitionTagsByBusinessObjectDefinition(new BusinessObjectDefinitionKey(BLANK_TEXT, BDEF_NAME)); fail(); } catch (IllegalArgumentException e) { assertEquals("A namespace must be specified.", e.getMessage()); } // Try to get business object definition tags by business object definition when business object definition name is not specified. try { businessObjectDefinitionTagService .getBusinessObjectDefinitionTagsByBusinessObjectDefinition(new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BLANK_TEXT)); fail(); } catch (IllegalArgumentException e) { assertEquals("A business object definition name must be specified.", e.getMessage()); } }
@Test public void testGetBusinessObjectDefinitionTagsByBusinessObjectDefinitionUpperCaseParameters() { // Create a business object definition key. BusinessObjectDefinitionKey businessObjectDefinitionKey = new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME); // Create tag keys. List<TagKey> tagKeys = Arrays.asList(new TagKey(TAG_TYPE, TAG_CODE), new TagKey(TAG_TYPE_2, TAG_CODE_2)); // Create and persist business object definition tag entities. for (TagKey tagKey : tagKeys) { businessObjectDefinitionTagDaoTestHelper.createBusinessObjectDefinitionTagEntity(businessObjectDefinitionKey, tagKey); } // Get business object definition tags by business object definition using upper case parameter values. BusinessObjectDefinitionTagKeys result = businessObjectDefinitionTagService .getBusinessObjectDefinitionTagsByBusinessObjectDefinition(new BusinessObjectDefinitionKey(BDEF_NAMESPACE.toUpperCase(), BDEF_NAME.toUpperCase())); // Validate the returned object. assertNotNull(result); assertEquals(Arrays.asList(new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, tagKeys.get(0)), new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, tagKeys.get(1))), result.getBusinessObjectDefinitionTagKeys()); }
@Test public void testGetBusinessObjectDefinitionTagsByBusinessObjectDefinitionLowerCaseParameters() { // Create a business object definition key. BusinessObjectDefinitionKey businessObjectDefinitionKey = new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME); // Create tag keys. List<TagKey> tagKeys = Arrays.asList(new TagKey(TAG_TYPE, TAG_CODE), new TagKey(TAG_TYPE_2, TAG_CODE_2)); // Create and persist business object definition tag entities. for (TagKey tagKey : tagKeys) { businessObjectDefinitionTagDaoTestHelper.createBusinessObjectDefinitionTagEntity(businessObjectDefinitionKey, tagKey); } // Get business object definition tags by business object definition using lower case parameter values. BusinessObjectDefinitionTagKeys result = businessObjectDefinitionTagService .getBusinessObjectDefinitionTagsByBusinessObjectDefinition(new BusinessObjectDefinitionKey(BDEF_NAMESPACE.toLowerCase(), BDEF_NAME.toLowerCase())); // Validate the returned object. assertNotNull(result); assertEquals(Arrays.asList(new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, tagKeys.get(0)), new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, tagKeys.get(1))), result.getBusinessObjectDefinitionTagKeys()); }
@Test public void testGetBusinessObjectDefinitionTagsByBusinessObjectDefinitionNoBusinessObjectDefinitionTagsExist() { // Create a business object definition key. BusinessObjectDefinitionKey businessObjectDefinitionKey = new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME); // Create and persist a business object definition entity. businessObjectDefinitionDaoTestHelper.createBusinessObjectDefinitionEntity(businessObjectDefinitionKey, DATA_PROVIDER_NAME, DESCRIPTION); // Get business object definition tags by business object definition. BusinessObjectDefinitionTagKeys result = businessObjectDefinitionTagService.getBusinessObjectDefinitionTagsByBusinessObjectDefinition(businessObjectDefinitionKey); // Validate the returned object. assertNotNull(result); assertTrue(result.getBusinessObjectDefinitionTagKeys().isEmpty()); }
@Test public void testGetBusinessObjectDefinitionTagsByBusinessObjectDefinition() { // Create a business object definition key. BusinessObjectDefinitionKey businessObjectDefinitionKey = new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME); // Create tag keys. List<TagKey> tagKeys = Arrays.asList(new TagKey(TAG_TYPE, TAG_CODE), new TagKey(TAG_TYPE_2, TAG_CODE_2)); // Create and persist business object definition tag entities. for (TagKey tagKey : tagKeys) { businessObjectDefinitionTagDaoTestHelper.createBusinessObjectDefinitionTagEntity(businessObjectDefinitionKey, tagKey); } // Get business object definition tags by business object definition. BusinessObjectDefinitionTagKeys result = businessObjectDefinitionTagService.getBusinessObjectDefinitionTagsByBusinessObjectDefinition(businessObjectDefinitionKey); // Validate the returned object. assertNotNull(result); assertEquals(Arrays.asList(new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, tagKeys.get(0)), new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, tagKeys.get(1))), result.getBusinessObjectDefinitionTagKeys()); }
@Test public void testGetBusinessObjectDefinitionTagsByBusinessObjectDefinitionTrimParameters() { // Create a business object definition key. BusinessObjectDefinitionKey businessObjectDefinitionKey = new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME); // Create tag keys. List<TagKey> tagKeys = Arrays.asList(new TagKey(TAG_TYPE, TAG_CODE), new TagKey(TAG_TYPE_2, TAG_CODE_2)); // Create and persist business object definition tag entities. for (TagKey tagKey : tagKeys) { businessObjectDefinitionTagDaoTestHelper.createBusinessObjectDefinitionTagEntity(businessObjectDefinitionKey, tagKey); } // Get business object definition tags by business object definition using input parameters with leading and trailing empty spaces. BusinessObjectDefinitionTagKeys result = businessObjectDefinitionTagService.getBusinessObjectDefinitionTagsByBusinessObjectDefinition( new BusinessObjectDefinitionKey(addWhitespace(BDEF_NAMESPACE), addWhitespace(BDEF_NAME))); // Validate the returned object. assertNotNull(result); assertEquals(Arrays.asList(new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, tagKeys.get(0)), new BusinessObjectDefinitionTagKey(businessObjectDefinitionKey, tagKeys.get(1))), result.getBusinessObjectDefinitionTagKeys()); }
@Test public void testGetBusinessObjectDefinitionTagsByBusinessObjectDefinitionBusinessObjectDefinitionNoExists() { // Try to business object definition tags for a non-existing business object definition. try { businessObjectDefinitionTagService .getBusinessObjectDefinitionTagsByBusinessObjectDefinition(new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME)); fail(); } catch (ObjectNotFoundException e) { assertEquals(businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionNotFoundErrorMessage(BDEF_NAMESPACE, BDEF_NAME), e.getMessage()); } }