com.ibm.uddi.promoter.publish
Class KeyDetector

java.lang.Object
  |
  +--com.ibm.uddi.promoter.publish.KeyDetector
All Implemented Interfaces:
CommandLineConstants, PromoterConstants

public class KeyDetector
extends java.lang.Object
implements PromoterConstants

Checks entity specific database tables directly to detect if another entity type is using the specified key.

This can be used to ensure that entity keys are unique in the registry across entity types, as per the specification.

Author:
IBM

Field Summary
static java.lang.String java_copyright
           
static java.lang.String KEY_NOT_USED
          ID indicating the key does not exist in the registry.
static java.lang.String KEY_USED_IN_BINDING
          ID indicating the key exists in the binding table.
static java.lang.String KEY_USED_IN_BUSINESS
          ID indicating the key exists in the business table.
static java.lang.String KEY_USED_IN_SERVICE
          ID indicating the key exists in the service table.
static java.lang.String KEY_USED_IN_TMODEL
          ID indicating the key exists in the tModel table.
 
Fields inherited from interface com.ibm.uddi.promoter.PromoterConstants
BAD_ENTITY_MSG, CLASSPATH, CLP_FULLY_QUALIFIED_CLASSNAME, COMPLETED_OK, COMPLETED_WITH_ERRORS, CONFIGURATION_FILE_NAME, DATE_MASK, DB_DRIVER, DB_PASSWORD, DB_URL, DB_USERID, DEBUG_PREFIX, DEFINITION_FILE_ENCODING, DELETE_BINDING, DELETE_BUSINESS, DELETE_END, DELETE_SERVICE, DELETE_START, DELETE_TMODEL, DELIMITER_WITH_SPACE, DESERIALIZATION_END, DESERIALIZATION_START, ELEMENT_BINDING, ELEMENT_BUSINESS, ELEMENT_SERVICE, ELEMENT_TMODEL, ENTITY_BINDING, ENTITY_BUSINESS, ENTITY_DELIMITER, ENTITY_SERVICE, ENTITY_TMODEL, ENTRY_PREFIX, ERR_ARG_ALREADY_SPECIFIED, ERR_ARG_NOT_RECOGNISED, ERR_AUTO_COMMIT_OFF, ERR_BAD_ENTITY, ERR_BOOLEAN_PROPERTY, ERR_CANNOT_CONNECT_URL, ERR_CANNOT_WRITE_RESULTS, ERR_COMMIT_FAILED, ERR_CYCLE_IN_REF_TMODELS, ERR_DB_CONN_CLOSE, ERR_DB_CONN_FAILED, ERR_DB_DRIVER_LOAD_FAILED, ERR_DEFINITION_FILE_IOEXCEPTION, ERR_DEFINITION_FILE_NOT_FOUND, ERR_DEFINITION_FILE_READ_ERROR, ERR_DELETE_BINDING_FAILED, ERR_DELETE_BUSINESS_FAILED, ERR_DELETE_SERVICE_FAILED, ERR_DELETE_TMODEL_FAILED, ERR_DISCOVER_PUBLISHER_FAILED, ERR_ERROR_OCCURRED, ERR_EXCEPTION, ERR_FIND_BINDINGS_FAILED, ERR_FIND_BUSINESSES_FAILED, ERR_FIND_RELATED_BUSINESSES_FAILED, ERR_FIND_SERVICES_FAILED, ERR_FIND_TMODELS_FAILED, ERR_GET_AUTHINFO_FAILED, ERR_GET_BINDING_FAILED, ERR_GET_BUSINESS_FAILED, ERR_GET_SERVICE_FAILED, ERR_GET_TMODEL_FAILED, ERR_IMPORT_MISSING_DEF_FILE, ERR_INIT_PREPSTMT_FAILED, ERR_INQUIRYURL_MALFORMED, ERR_INTEGER_PROPERTY, ERR_INVALID_ENTITY, ERR_INVALID_FUNCTION, ERR_INVALID_KEY, ERR_JAVA_IO_ERROR, ERR_KEY_SPECIFIED, ERR_KEYFILE_IOEXCEPTION, ERR_KEYFILE_NOT_FOUND, ERR_KEYFILE_SPECIFIED, ERR_LOGGER_FILE_NOT_FOUND, ERR_MESSAGES_FILE_CLOSE, ERR_MISSING_FUNCTION, ERR_MISSING_PROPERTY, ERR_MISSING_VALUE, ERR_NO_KEYS, ERR_NO_PROPERTIES_FILE, ERR_ORPHANED_BINDING_STUB, ERR_ORPHANED_BUSINESS_STUB, ERR_ORPHANED_SERVICE_STUB, ERR_ORPHANED_TMODEL_STUB, ERR_OVERWRITE_BINDING, ERR_OVERWRITE_BUSINESS, ERR_OVERWRITE_SERVICE, ERR_OVERWRITE_TMODEL, ERR_PROMOTE_FAILED, ERR_PROPERTIES_FILE_IO, ERR_PROPERTIES_IOEXCEPTION, ERR_PUBLISHURL_MALFORMED, ERR_REPEATED_FUNCTION, ERR_ROLLBACK_FAILED, ERR_SAVE_BINDING_FAILED, ERR_SAVE_BINDING_NO_PARENT, ERR_SAVE_BUSINESS_FAILED, ERR_SAVE_SERVICE_FAILED, ERR_SAVE_SERVICE_NO_PARENT, ERR_SAVE_TMODEL_FAILED, ERR_STUB_BINDING, ERR_STUB_BUSINESS, ERR_STUB_CREATE_FAILED, ERR_STUB_SERVICE, ERR_STUB_TMODEL, ERR_STUB_UNDO_FAILED, ERR_TRACE_FILE_CLOSE, ERR_TRANSPORT_EXCEPTION, ERR_UNEXPECTED_EXCEPTION, ERR_XML_DOC_CREATE_FAILED, ERR_XML_DOC_PARSE_FAILED, ERR_XML_PARSE_ERRORS, ERR_XML_PARSE_WARNINGS, EXIT_PREFIX, EXPORT_BINDING, EXPORT_BUSINESS, EXPORT_END, EXPORT_FIND_END, EXPORT_FIND_START, EXPORT_REFED_TMODEL, EXPORT_SERVICE, EXPORT_START, EXPORT_TMODEL, FROM_GET_URL, FROM_INQUIRY_URL, IMPORT_BINDING, IMPORT_BUSINESS, IMPORT_END, IMPORT_REFED_TMODEL, IMPORT_REFERENCED_ENTITIES, IMPORT_SERVICE, IMPORT_START, IMPORT_TMODEL, JAVA_COMMAND, MESSAGE_CREATED_BINDING_STUB, MESSAGE_CREATED_BUSINESS_STUB, MESSAGE_CREATED_SERVICE_STUB, MESSAGE_CREATED_TMODEL_STUB, MESSAGE_DELETED_BINDING_STUB, MESSAGE_DELETED_BUSINESS_STUB, MESSAGE_DELETED_SERVICE_STUB, MESSAGE_DELETED_TMODEL_STUB, MESSAGE_DETAIL, MESSAGE_IMPORT_END, MESSAGE_LOG_FILENAME, MESSAGE_NORMAL, messages, MESSAGES_FILE, NAMESPACE_DEFAULT, NAMESPACE_PREFIX, NAMESPACE_PROMOTER, NAMESPACE_UDDI, NAMESPACE_XML, NORMAL_PREFIX, OVERWRITE, PROMOTER_ROOT_NAME, PROMOTING_ENTITY, PROPERTIES_HEADER, RESULTS_FILE_NAME, SCHEMA_FILE_PROMOTER, SCHEMA_FILE_UDDI, SCHEMA_FILE_XML, SECTION_BINDINGS, SECTION_BUSINESSES, SECTION_REFD_TMODELS, SECTION_SERVICES, SECTION_TMODELS, SECURE_CONNECTION, SERIALIZATION_END, SERIALIZATION_START, SOURCE_REGISTRY, STARTING_TOOL_BANNER, SUCCESSFUL, SYS_ID_NAME, SYS_PASSWORD_NAME, SYS_PROTOCOL_NAME, SYS_PROTOCOL_VALUE, SYS_TRANSPORT_NAME, SYS_TRANSPORT_VALUE, SYS_TRUST_STORE_NAME, SYS_TRUST_STORE_PASSWORD_NAME, TARGET_REGISTRY, TEMP_BUSINESS, TO_INQUIRY_URL, TO_PUBLISH_URL, TOOL_START, TRACE_DEBUG, TRACE_DETAIL, TRACE_LEVEL, TRACE_LOG_FILENAME, TRACE_NORMAL, TRACE_SEVERE, TRC_BINDING_NOT_IN_DEST, TRC_BUSINESS_NOT_IN_DEST, TRC_CREATED_BINDING, TRC_CREATED_BUSINESS_STUB, TRC_CREATED_SERVICE_STUB, TRC_CREATED_TMODEL_STUB, TRC_CREATING_BINDING, TRC_CREATING_BUSINESS_STUB, TRC_CREATING_SERVICE_STUB, TRC_CREATING_TMODEL_STUB, TRC_GET_BINDING, TRC_GET_BUSINESS, TRC_GET_SERVICE, TRC_GET_TMODEL, TRC_GOT_BINDING, TRC_GOT_BUSINESS, TRC_GOT_SERVICE, TRC_GOT_TMODEL, TRC_OVERWRITE_ON, TRC_PROMOTED_BINDING, TRC_PROMOTED_BUSINESS, TRC_PROMOTED_SERVICE, TRC_PROMOTED_TMODEL, TRC_PROMOTING_BINDING, TRC_PROMOTING_BUSINESS, TRC_PROMOTING_SERVICE, TRC_PROMOTING_TMODEL, TRC_REMOVING_DISCOS, TRC_SAVED_BINDING, TRC_SAVED_BUSINESS, TRC_SAVED_SERVICE, TRC_SAVED_TMODEL, TRC_SAVING_BINDING, TRC_SAVING_BUSINESS, TRC_SAVING_SERVICE, TRC_SAVING_TMODEL, TRC_SERVICE_NOT_IN_DEST, TRC_TMODEL_NOT_IN_DEST, TRUST_STORE_FILENAME, TRUST_STORE_PASSWORD, UDDI_ENTITY_DEFINITION_FILE, UDDI_PASSWORD, UDDI_USERID, VERBOSE, XML_FEATURE_NAMESPACES, XML_FEATURE_VALIDATION, XML_FEATURE_VALIDATION_SCHEMA, XML_PARSER_ERROR_PREFIX, XML_PARSER_FEATURE_UNREC, XML_PARSER_FEATURE_UNSUP, XML_PARSER_PROPERTY_UNREC, XML_PARSER_PROPERTY_UNSUP, XML_PARSER_WARNING_PREFIX, XML_PROPERTY_SCHEMA_LOCATION
 
Fields inherited from interface com.ibm.uddi.promoter.CommandLineConstants
ARG_BINDING, ARG_BUSINESS, ARG_DEFINITION_FILE, ARG_DELETE, ARG_EXPORT, ARG_IMPORT, ARG_IMPORT_REFERENCED_ENTITIES, ARG_INPUT_KEYFILE, ARG_INPUT_KEYFILE_OLD, ARG_OVERWRITE, ARG_OVERWRITE_OLD, ARG_PROMOTE, ARG_PROPERTIES_FILE, ARG_SERVICE, ARG_TMODEL, ARG_VERBOSE, ARG_VERBOSE_OLD, USAGE
 
Constructor Summary
KeyDetector(java.sql.Connection connection)
          Constructor taking a Connection.
 
Method Summary
 java.lang.String findTableContainingKey(java.lang.String entityKey)
          Returns the name of the table that contains the specified key.
 java.sql.Connection getConnection()
          Returns the connection.
 boolean keyUsedInBinding(java.lang.String entityKey)
          Searches binding table for existence of specified key.
 boolean keyUsedInBusiness(java.lang.String entityKey)
          Searches business table for existence of specified key.
 boolean keyUsedInService(java.lang.String entityKey)
          Searches service table for existence of specified key
 boolean keyUsedInTModel(java.lang.String entityKey)
          Searches tModel table for existence of specified key.
 void setConnection(java.sql.Connection connection)
          Sets the connection.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

java_copyright

public static final java.lang.String java_copyright

KEY_NOT_USED

public static final java.lang.String KEY_NOT_USED
ID indicating the key does not exist in the registry.

KEY_USED_IN_BUSINESS

public static final java.lang.String KEY_USED_IN_BUSINESS
ID indicating the key exists in the business table.

KEY_USED_IN_SERVICE

public static final java.lang.String KEY_USED_IN_SERVICE
ID indicating the key exists in the service table.

KEY_USED_IN_BINDING

public static final java.lang.String KEY_USED_IN_BINDING
ID indicating the key exists in the binding table.

KEY_USED_IN_TMODEL

public static final java.lang.String KEY_USED_IN_TMODEL
ID indicating the key exists in the tModel table.
Constructor Detail

KeyDetector

public KeyDetector(java.sql.Connection connection)
            throws PromoterDBException
Constructor taking a Connection.

Parameters:
connection -  
Throws:
PromoterDBException -  
Method Detail

keyUsedInBusiness

public boolean keyUsedInBusiness(java.lang.String entityKey)
                          throws PromoterDBException
Searches business table for existence of specified key.

Parameters:
entityKey -  
Returns:
true if the key exists in the business table.

keyUsedInService

public boolean keyUsedInService(java.lang.String entityKey)
                         throws PromoterDBException
Searches service table for existence of specified key

Parameters:
entityKey -  
Returns:
true if the key exists in the service table.

keyUsedInBinding

public boolean keyUsedInBinding(java.lang.String entityKey)
                         throws PromoterDBException
Searches binding table for existence of specified key.

Parameters:
entityKey -  
Returns:
true if the key exists in the binding table.

keyUsedInTModel

public boolean keyUsedInTModel(java.lang.String entityKey)
                        throws PromoterDBException
Searches tModel table for existence of specified key.

Parameters:
entityKey -  
Returns:
true if the key exists in the tModel table.

findTableContainingKey

public java.lang.String findTableContainingKey(java.lang.String entityKey)
                                        throws PromoterDBException
Returns the name of the table that contains the specified key.

Parameters:
entityKey -  
Returns:
String - id of table on which the key is present.
Throws:
PromoterDBException -  
See Also:
KEY_NOT_USED, KEY_USED_IN_BUSINESS, KEY_USED_IN_SERVICE, KEY_USED_IN_BINDING, KEY_USED_IN_TMODEL

getConnection

public java.sql.Connection getConnection()
Returns the connection.

Returns:
Connection

setConnection

public void setConnection(java.sql.Connection connection)
Sets the connection.

Parameters:
connection - The connection to set