TECH_ Retrieving OWB Object Properties using OWB Public Java API
As OMB*Plus has such a poor documentation, I had to find another way to look up the available properties for common OWB Metadata Objects like ORACLE_MODULES or TABLES. Some hours after starting to play with the OWB Public Java API (where "public" means "go and look for yourself to find a way to do your stuff and find out libraries"), I managed to receive some information.
Here is what I did:
I extracted some properties for basic objects and tested them. Green ones work, the red ones produced the error that I printed behind the property.
Oracle Module
Oracle Database Location
Here is what I did:
RepositoryManager rman = RepositoryManager.getInstance(); rman.openConnection( "<user>", "<pass>" "<host>:<port><service>", RepositoryManager.MULTIPLE_USER_MODE, "<repository>"); ProjectManager pman = ProjectManager.getInstance(); pman.setWorkingProject("MY_PROJECT"); Project project = pman.getWorkingProject(); String[] keys = project.getPropertyKeys(); for (int i = 0; i < keys.length; i++) { System.out.println("project key " + i + ": " + keys[i]); }Using that keys within OMB*Plus in the following way, I could test which of these do actually work:
set props { <every property goes here, separated by spaces> } OMBCONNECT <user>/<pass>@<host>:<port>:<service>\ USE REPOSITORY '<repository>' foreach prop $props { if [catch {OMBRETRIEVE PROJECT 'MY_PROJECT' GET PROPERTIES($prop)} err] { puts "ERR $prop: $err" } else { puts "OK $prop: $err" } } OMBDISCONNECTThe problem is that these properties can only be retrieved for objects, not classes. So you have to have at least one object of a class you want to check the attributes for.
I extracted some properties for basic objects and tested them. Green ones work, the red ones produced the error that I printed behind the property.
Oracle Module
ABAP_DIRECTORY abap\\ ABAP_EXTENSION .abap ABAP_RUN_PARAMETER_FILE _run.ini ABAP_SPOOL_DIRECTORY abap\\log\\ AGGREGATED_SIGNATURE {2007-05-10 17:18:16.0} APPLICATION_SHORT_NAME WB APPLY_FILTER false ARCHIVE_DIRECTORY archive\\ CAN_BE_HUB true CAN_BE_SOURCE false CAN_BE_WAREHOUSE true CLASS_NAME oracle.wh.repos.impl.application.CMPWBDataWarehouse COMPLETED false CREATED_BY owb_adm CREATION_TIMESTAMP {2007-05-10 17:18:15.0} CUSTOMER_DELETABLE true CUSTOMER_EDITABLE true CUSTOMER_RENAMABLE false DATABASE_LINK {} DB_LOCATION MY_ORACLE_TESTMODULE_LOCATION1 DDL_DIRECTORY ddl\\ DDL_EXTENSION .ddl DDL_SPOOL_DIRECTORY ddl\\log\\ DEFAULT_INDEX_TABLESPACE {} DEFAULT_OBJECT_TABLESPACE {} DEPLOYABLE true DESCRIPTION {This is just a Testmodule,} DISABLED false EDITABLE true ELEMENT_ID 423318 END_OF_LINE {\r\n} FROZEN false GENERATED false IMPORTED false IMPORT_ADVANCED_QUEUE false IMPORT_EXTERNAL_TABLE false IMPORT_PL_SQL false IMPORT_SEQUENCE true IMPORT_SYNONYM true IMPORT_TABLE true IMPORT_VIEW true INPUT_DIRECTORY input\\ INVALID_DIRECTORY invalid\\ LIB_DIRECTORY lib\\ LIB_EXTENSION .lib LIB_SPOOL_DIRECTORY lib\\log\\ LOADER_DIRECTORY ctl\\ LOADER_EXTENSION .ctl LOADER_RUN_PARAMETER_FILE _run.ini LOGICAL_NAME MY_ORACLE_TESTMODULE LOG_DIRECTORY log\\ MAIN_APPLICATION_SHORT_NAME ora METADATA_DBLINK {} METADATA_IMPORTED false METADATA_SIGNATURE 1647406385ce407f27183d61ada225ab NAME_FILTER {} NOTE {} NOTM 4 PERSISTENT true PHYSICAL_NAME MY_ORACLE_TESTMODULE PLSQL_DIRECTORY pls\\ PLSQL_EXTENSION .pls PLSQL_GENERATION_MODE Oracle9i PLSQL_RUN_PARAMETER_FILE _run.ini PLSQL_SPOOL_DIRECTORY pls\\log\\ RECEIVE_DIRECTORY receive\\ SCHEMA {} SEEDED false SORT_DIRECTORY sort\\ STATUS Development STREAMS_ADMINISTRATOR_LOCATION {} STRONG_TYPE_NAME oracle.wh.repos.impl.application.CMPWBDataWarehouse TCL_DIRECTORY tcl\\ TOP_DIRECTORY ..\\..\\codegen\\ TYPE_CODE DATABASE_DICTIONARY. UOID 1A70592A45B320F1E0440003BAF29218 UPDATED_BY owb_adm UPDATE_TIMESTAMP {2007-05-10 17:18:16.0} VERSION {} WORK_DIRECTORY work\\ ACLCONTAINER OMB01719: Non-primitive property ACLCONTAINER not supported. CHANGE_LOGS OMB01719: Non-primitive property CHANGE_LOGS not supported. CUBES OMB00001: Encountered CUBES at line: 1, column: 60. Was expecting one of: <UNQUOTED_STRING> ... . DAES OMB01719: Non-primitive property DAES not supported. DATA_SOURCE_INFO OMB01719: Non-primitive property DATA_SOURCE_INFO not supported. DEPENDENCIES OMB01719: Non-primitive property DEPENDENCIES not supported. DEPENDENTS OMB00001: Encountered DEPENDENTS at line: 1, column: 60. Was expecting one of: <UNQUOTED_STRING> ... . DERIVATION_SCHEMA OMB01719: Non-primitive property DERIVATION_SCHEMA not supported. DERIVATION_SETS OMB01719: Non-primitive property DERIVATION_SETS not supported. DERIVED_FCOS OMB01719: Non-primitive property DERIVED_FCOS not supported. DIMENSIONS OMB00001: Encountered DIMENSIONS at line: 1, column: 60. Was expecting one of: <UNQUOTED_STRING> ... . FUNCTION_CATEGORIES OMB01719: Non-primitive property FUNCTION_CATEGORIES not supported. ICON_OBJECT OMB01719: Non-primitive property ICON_OBJECT not supported. LOCATION_USAGES OMB01719: Non-primitive property LOCATION_USAGES not supported. LOGICAL OMB00001: Encountered LOGICAL at line: 1, column: 60. Was expectingone of: <UNQUOTED_STRING> ... . MAPS OMB01719: Non-primitive property MAPS not supported. NAME OMB00001: Encountered NAME at line: 1, column: 60. Was expecting one of <UNQUOTED_STRING> ... . OWNED_CLUSTERS OMB01719: Non-primitive property OWNED_CLUSTERS not supported. OWNED_COLLECTIONS OMB01719: Non-primitive property OWNED_COLLECTIONS not supported. OWNED_COMPONENTS OMB01719: Non-primitive property OWNED_COMPONENTS not supported. OWNED_CONFIGS OMB01719: Non-primitive property OWNED_CONFIGS not supported. OWNED_WEAK_FIRST_CLASS_OBJECTS OMB01719: Non-primitive property OWNED_WEAK_FIRST_CLASS_OBJECTS not supported. OWNED_WEAK_SECOND_CLASS_OBJECTSOMB01719: Non-primitive property OWNED_WEAK_SECOND_CLASS_OBJECTS not supported. OWNING_FOLDER OMB01719: Non-primitive property OWNING_FOLDER not supported. OWNING_PROJECT OMB01719: Non-primitive property OWNING_PROJECT not supported. PROJECT OMB00001: Encountered PROJECT at line: 1, column: 60. Was expecting one of: <UNQUOTED_STRING> ... . PROPERTIES OMB00001: Encountered PROPERTIES at line: 1, column: 60. Was expecting one of: <UNQUOTED_STRING> ... . REFERENCING_SHORTCUTS OMB01719: Non-primitive property REFERENCING_SHORTCUTS not supported. SECOND_CLASS_OBJECTS OMB00001: Encountered SECOND_CLASS_OBJECTS at line: 1,column: 60. Was expecting one of: <UNQUOTED_STRING> ... . SOFTWARE_MODULE_VERSION OMB01719: Non-primitive property SOFTWARE_MODULE_VERSION not supported. SOFTWARE_MOD_VERSION OMB01719: Non-primitive property SOFTWARE_MOD_VERSION not supported. TASK_FLOWS OMB01719: Non-primitive property TASK_FLOWS not supported. TRANSLATION OMB01719: Non-primitive property TRANSLATION not supported. TRIGGER_TASK_FLOW_SETS OMB01719: Non-primitive property TRIGGER_TASK_FLOW_SETS not supported. VALIDATION_RESULT OMB00001: Encountered VALIDATION_RESULT at line: 1, column: 60. Was expecting one of: <UNQUOTED_STRING> ... . WEAK_ASSOCIATIONS OMB01719: Non-primitive property WEAK_ASSOCIATIONS not supported.As you can see, there seems to be some kind of "non-primitive" property that cannot be retrieved using OMB*Plus. Additionally , some properties are not implemented in the OMP*Plus command parser (the UNQUOTED_STRING expectation...)
Oracle Database Location
AGGREGATED_SIGNATURE {2007-08-06 09:15:04.0} CLASS_NAME oracle.wh.repos.impl.environment.CMPLogicalLocation COMPLETED false CONNECT_AS_USER DBA CREATED_BY owb_adm CREATION_TIMESTAMP {2007-08-06 09:15:00.0} CUSTOMER_DELETABLE false CUSTOMER_EDITABLE true CUSTOMER_RENAMABLE true DATABASE_NAME {} DATA_SOURCE_FLAG false DATA_TARGET_FLAG false DESCRIPTION {Test-Datenbank-Locator} DISABLED false EDITABLE true ELEMENT_ID 742200 FROZEN false FROZEN_FLAG false GENERATED false HOST 192.168.1.100 IMPORTED false LOC_DEFAULT_FLAG false LOC_TYPE {Oracle Database} LOC_TYPE_VERSION 10.2 LOGICAL_NAME MY_ORACLE_TESTMODULE_LOCATION1 METADATA_SIGNATURE b46992004dc293c2602f65bafe4c2b87 NAME MY_ORACLE_TESTMODULE_LOCATION1 NET_SERVICE_NAME {} NOTE {} NOTM 4 PASSWORD {} PERSISTENT true PHYSICAL_NAME MY_ORACLE_TESTMODULE_LOCATION1 PORT 1521 REGISTERED true SCHEMA DBA SEEDED false SERVICE_NAME orahost STRONG_TYPE_NAME oracle.wh.repos.impl.environment.CMPOracleDatabaseLocation UOID 3703A24D3A86218FE0440003BAF29218 UPDATED_BY owb_adm UPDATE_TIMESTAMP {2007-08-23 16:50:41.0} VERSION 10.2 VERSION 10.2 ACLCONTAINER Not a primitive property:ACLCONTAINER DEFAULT_OWNING_USER Not a primitive property:DEFAULT_OWNING_USER DEPENDENCIES Not a primitive property:DEPENDENCIES DEPENDENTS Not a primitive property:DEPENDENTS EXTERNAL_TABLES Not a primitive property:EXTERNAL_TABLES ICON_OBJECT Not a primitive property:ICON_OBJECT INTEGRATOR_MAP Not a primitive property:INTEGRATOR_MAP LOCATION_USAGES Not a primitive property:LOCATION_USAGES OWNED_COMPONENTS Not a primitive property:OWNED_COMPONENTS OWNED_CONNECTORS Not a primitive property:OWNED_CONNECTORS OWNED_WEAK_FIRST_CLASS_OBJECTS Not a primitive property:OWNED_WEAK_FIRST_CLASS_OBJECTS OWNED_WEAK_SECOND_CLASS_OBJECTSNot a primitive property:OWNED_WEAK_SECOND_CLASS_OBJECTS OWNING_FOLDER Not a primitive property:OWNING_FOLDER OWNING_PROJECT Not a primitive property:OWNING_PROJECT PROPERTIES Not a primitive property:PROPERTIES REFERENCING_CONNECTOR Not a primitive property:REFERENCING_CONNECTOR REFERENCING_SHORTCUTS Not a primitive property:REFERENCING_SHORTCUTS SECOND_CLASS_OBJECTS Not a primitive property:SECOND_CLASS_OBJECTS SOFTWARE_MOD_VERSION Not a primitive property:SOFTWARE_MOD_VERSION TRANSLATION Not a primitive property:TRANSLATION TRIGGER_TASK_FLOW_SETS Not a primitive property:TRIGGER_TASK_FLOW_SETS VALIDATION_RESULT Not a primitive property:VALIDATION_RESULT WEAK_ASSOCIATIONS Not a primitive property:WEAK_ASSOCIATIONS
cypressor - 24. Mai, 17:21