Donnerstag, 24. Mai 2007

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:
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_ASSOCIATIONS

Reflog

Informationstechnische Howtos, Hinweise und Merkwürdiges

Batchlib v1.0 2008-03-29

Aktuelle Beiträge

HOWTO_ O2 DSL Surf &...
Der O2 DSL Surf & Phone-Router ist für die alleinige...
cypressor - 12. Feb, 19:57
Uptweak Windows XP Home...
There are a lot of annoying limitations in Windows...
cypressor - 9. Okt, 19:30
BATCHLIB_ Batchlib package...
Download Batchlib package v1.0 (5 KB zip file) What...
cypressor - 29. Mär, 19:10
BATCHLIB_ Batchlib library...
The batchlib library string.cmd is part of the batchlib...
cypressor - 29. Mär, 18:10

Homepage Ticker

Links

Status

Online seit 6818 Tagen
Zuletzt aktualisiert: 28. Jun, 11:32
RSS XML 1.0 Button-Get-Firefox

batch
batchlib
howto
tech
video
Profil
Abmelden
Weblog abonnieren