@Override public TagDefinition getTagDefinition(final UUID tagDefinitionId, final TenantContext context) throws TagDefinitionApiException { final TagDefinitionModelDao tagDefinitionModelDao = tagDefinitionDao.getById( tagDefinitionId, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)); return new DefaultTagDefinition( tagDefinitionModelDao, TagModelDaoHelper.isControlTag(tagDefinitionModelDao.getName())); }
@Override public TagDefinition getTagDefinitionForName( final String tagDefinitionName, final TenantContext context) throws TagDefinitionApiException { return new DefaultTagDefinition( tagDefinitionDao.getByName( tagDefinitionName, internalCallContextFactory.createInternalTenantContextWithoutAccountRecordId(context)), TagModelDaoHelper.isControlTag(tagDefinitionName)); }
@Override public TagDefinition createTagDefinition( final String definitionName, final String description, final CallContext context) throws TagDefinitionApiException { if (definitionName.matches(".*[A-Z].*")) { throw new TagDefinitionApiException(ErrorCode.TAG_DEFINITION_HAS_UPPERCASE, definitionName); } final TagDefinitionModelDao tagDefinitionModelDao = tagDefinitionDao.create( definitionName, description, internalCallContextFactory.createInternalCallContextWithoutAccountRecordId(context)); return new DefaultTagDefinition( tagDefinitionModelDao, TagModelDaoHelper.isControlTag(tagDefinitionModelDao.getName())); }
@Override public Tag apply(final TagModelDao input) { return TagModelDaoHelper.isControlTag(input.getTagDefinitionId()) ? new DefaultControlTag( input.getId(), ControlTagType.getTypeFromId(input.getTagDefinitionId()), input.getObjectType(), input.getObjectId(), input.getCreatedDate()) : new DescriptiveTag( input.getId(), input.getTagDefinitionId(), input.getObjectType(), input.getObjectId(), input.getCreatedDate()); }