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"
}
}
OMBDISCONNECT
The 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_ASSOCIATIONScypressor - 24. Mai, 17:21
