-- Create sql in-place upgrade patch for some up.xml -- property changes. The sql will be shown (as much as -- possible) in-line with associated segment of up.xml. -- The xml will be set off from the sql by commenting each -- line with "-- up.xml ->". -- -- Bug #'s/Properties added -- -- Bug 9209524 - IMPORTED PACKAGE'S BODY EMPTY AFTER COPY/PASTE -- SET SERVEROUTPUT ON SET LINESIZE 500 -- ########################################################################## DECLARE -- Outer block for utility functions/variables BUGBUG: Should these be packagized (uprop_util) -- ########################################################################## SCRIPTID CONSTANT VARCHAR2(40) := 'bug 9209524'; -- For output logging EOL CONSTANT VARCHAR2(01) := CHR(10); -- new line TRACEON CONSTANT BOOLEAN := TRUE; -- Provide function level trace output OUTINITED BOOLEAN := FALSE; -- Flag indicating output has been enabled PROPERTYTYPE_CORE NUMBER:= 0; PROPERTYTYPE_LOGICAL NUMBER:= 1; PROPERTYTYPE_PHYSICAL NUMBER:= 2; PROPERTYTYPE_CONFIGURATION NUMBER:= 2; PROPERTYTYPE_USERDEFINED NUMBER:= 3; -- Record definitions for the various views -- Handy sql to make record definitions (some hand editing required (in sqlworksheet anyway) -- ========================================================================== TYPE CMPClassDefinition IS RECORD ( -- ========================================================================== WORKSPACEID CMPClassDefinition_r.WORKSPACEID%TYPE DEFAULT 1 -- NUMBER(9,0) 1 ,DELETIONPARENT CMPClassDefinition_r.DELETIONPARENT%TYPE DEFAULT null -- NUMBER(9,0) 2 ,AGGREGATEDSIGNATURE CMPClassDefinition_r.AGGREGATEDSIGNATURE%TYPE DEFAULT null --sysdate -- TIMESTAMP(6) 3 ,CLASSNAME CMPClassDefinition_r.CLASSNAME%TYPE DEFAULT 'CMPClassDefinition' -- VARCHAR2(255) 4 ,COMPLETED CMPClassDefinition_r.COMPLETED%TYPE DEFAULT 1 -- CHAR(1) 5 ,CREATEDBY CMPClassDefinition_r.CREATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 6 ,CREATIONTIMESTAMP CMPClassDefinition_r.CREATIONTIMESTAMP%TYPE DEFAULT null --sysdate -- DATE 7 ,CUSTOMERDELETABLE CMPClassDefinition_r.CUSTOMERDELETABLE%TYPE DEFAULT 1 -- CHAR(1) 8 ,CUSTOMERRENAMABLE CMPClassDefinition_r.CUSTOMERRENAMABLE%TYPE DEFAULT 0 -- CHAR(1) 9 ,DELETEINOVERRIDE CMPClassDefinition_r.DELETEINOVERRIDE%TYPE DEFAULT 0 -- CHAR(1) 10 ,DESCRIPTION CMPClassDefinition_r.DESCRIPTION%TYPE DEFAULT null --DEFINITIONKEY -- VARCHAR2(4000) 11 ,EDITABLE CMPClassDefinition_r.EDITABLE%TYPE DEFAULT 1 -- CHAR(1) 12 ,ELEMENTID CMPClassDefinition_r.ELEMENTID%TYPE DEFAULT null --ELEMENTID -- NUMBER(9,0) 13 ,IMPORTED CMPClassDefinition_r.IMPORTED%TYPE DEFAULT 0 -- CHAR(1) 14 ,LOGICALNAME CMPClassDefinition_r.LOGICALNAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 15 ,METADATASIGNATURE CMPClassDefinition_r.METADATASIGNATURE%TYPE DEFAULT null --METADATASIGNATURE -- VARCHAR2(255) 16 ,NAME CMPClassDefinition_r.NAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 17 ,NOTE CMPClassDefinition_r.NOTE%TYPE DEFAULT null -- VARCHAR2(4000) 18 ,NOTM CMPClassDefinition_r.NOTM%TYPE DEFAULT 1 -- NUMBER(9,0) 19 ,OVERRIDEATTRIBUTES CMPClassDefinition_r.OVERRIDEATTRIBUTES%TYPE DEFAULT 0 -- CHAR(1) 20 ,OVERRIDECHILDREN CMPClassDefinition_r.OVERRIDECHILDREN%TYPE DEFAULT 0 -- CHAR(1) 21 ,OVERRIDEROLES CMPClassDefinition_r.OVERRIDEROLES%TYPE DEFAULT 0 -- CHAR(1) 22 ,PERSISTENT CMPClassDefinition_r.PERSISTENT%TYPE DEFAULT 1 -- CHAR(1) 23 ,SEEDED CMPClassDefinition_r.SEEDED%TYPE DEFAULT 0 -- CHAR(1) 24 ,STRONGTYPENAME CMPClassDefinition_r.STRONGTYPENAME%TYPE DEFAULT null -- VARCHAR2(255) 25 ,UOID CMPClassDefinition_r.UOID%TYPE DEFAULT null --UOID -- VARCHAR2(40) 26 ,UPDATEDBY CMPClassDefinition_r.UPDATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 27 ,UPDATETIMESTAMP CMPClassDefinition_r.UPDATETIMESTAMP%TYPE DEFAULT null --sysdate -- DATE 28 ,ICONOBJECT CMPClassDefinition_r.ICONOBJECT%TYPE DEFAULT null -- NUMBER(9,0) 29 ,EDITORCLASSNAME CMPClassDefinition_r.EDITORCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 30 ,PROPERTYSHEETCLASSNAME CMPClassDefinition_r.PROPERTYSHEETCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 31 ,WIZARDCLASSNAME CMPClassDefinition_r.WIZARDCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 32 ,COMPARATOR CMPClassDefinition_r.COMPARATOR%TYPE DEFAULT 'oracle.wh.repos.impl.domain.comparator.ElementNameComparator' -- VARCHAR2(255) 33 ,OWNINGMODEL CMPClassDefinition_r.OWNINGMODEL%TYPE DEFAULT null -- NUMBER(9,0) 34 ,ACLCONTAINER CMPClassDefinition_r.ACLCONTAINER%TYPE DEFAULT null -- NUMBER(9,0) 35 ,VALIDATIONRESULT CMPClassDefinition_r.VALIDATIONRESULT%TYPE DEFAULT null -- NUMBER(9,0) 36 ,OWNINGFOLDER CMPClassDefinition_r.OWNINGFOLDER%TYPE DEFAULT null -- NUMBER(9,0) 37 ,POSITION CMPClassDefinition_r.POSITION%TYPE DEFAULT 0 -- NUMBER(9,0) 38 ,ABSTRACT CMPClassDefinition_r.ABSTRACT%TYPE DEFAULT '0' -- CHAR(1) 39 ,CLASSPERSISTENT CMPClassDefinition_r.CLASSPERSISTENT%TYPE DEFAULT '1' -- CHAR(1) 40 ,DISPLAYNAME CMPClassDefinition_r.DISPLAYNAME%TYPE DEFAULT null -- VARCHAR2(255) 41 ,EXTENSIBLE CMPClassDefinition_r.EXTENSIBLE%TYPE DEFAULT '1' -- CHAR(1) 42 ,FOLDERTREEICON CMPClassDefinition_r.FOLDERTREEICON%TYPE DEFAULT null -- VARCHAR2(255) 43 ,GENERATABLE CMPClassDefinition_r.GENERATABLE%TYPE DEFAULT '0' -- CHAR(1) 44 ,NAMESPACEDOMAIN CMPClassDefinition_r.NAMESPACEDOMAIN%TYPE DEFAULT null -- VARCHAR2(255) 45 ,PACKAGENAME CMPClassDefinition_r.PACKAGENAME%TYPE DEFAULT null -- VARCHAR2(255) 46 ,PUBLICCLASSNAME CMPClassDefinition_r.PUBLICCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 47 ,PUBLICWEAKLYTYPED CMPClassDefinition_r.PUBLICWEAKLYTYPED%TYPE DEFAULT '1' -- CHAR(1) 48 ,SHORTCUTTREEICON CMPClassDefinition_r.SHORTCUTTREEICON%TYPE DEFAULT null -- VARCHAR2(255) 49 ,STEREOTYPE CMPClassDefinition_r.STEREOTYPE%TYPE DEFAULT 2 -- NUMBER(9,0) 50 ,TREEICON CMPClassDefinition_r.TREEICON%TYPE DEFAULT null -- VARCHAR2(255) 51 ,WEAKLYTYPED CMPClassDefinition_r.WEAKLYTYPED%TYPE DEFAULT '1' -- CHAR(1) 52 ,OVERRIDEE CMPClassDefinition_r.OVERRIDEE%TYPE DEFAULT null -- NUMBER(9,0) 53 ,SUPERCLASS CMPClassDefinition_r.SUPERCLASS%TYPE DEFAULT null -- NUMBER(9,0) 54 ); -- ========================================================================== TYPE CMPPropertySetDefinition IS RECORD ( -- ========================================================================== WORKSPACEID CMPPropertySetDefinition_r.WORKSPACEID%TYPE DEFAULT 1 -- NUMBER(9,0) 1 ,DELETIONPARENT CMPPropertySetDefinition_r.DELETIONPARENT%TYPE DEFAULT null -- NUMBER(9,0) 2 ,AGGREGATEDSIGNATURE CMPPropertySetDefinition_r.AGGREGATEDSIGNATURE%TYPE DEFAULT null --sysdate -- TIMESTAMP(6) 3 ,CLASSNAME CMPPropertySetDefinition_r.CLASSNAME%TYPE DEFAULT 'CMPPropertySetDefinition' -- VARCHAR2(255) 4 ,COMPLETED CMPPropertySetDefinition_r.COMPLETED%TYPE DEFAULT 1 -- CHAR(1) 5 ,CREATEDBY CMPPropertySetDefinition_r.CREATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 6 ,CREATIONTIMESTAMP CMPPropertySetDefinition_r.CREATIONTIMESTAMP%TYPE DEFAULT null --sysdate -- DATE 7 ,CUSTOMERDELETABLE CMPPropertySetDefinition_r.CUSTOMERDELETABLE%TYPE DEFAULT 1 -- CHAR(1) 8 ,CUSTOMERRENAMABLE CMPPropertySetDefinition_r.CUSTOMERRENAMABLE%TYPE DEFAULT 0 -- CHAR(1) 9 ,DELETEINOVERRIDE CMPPropertySetDefinition_r.DELETEINOVERRIDE%TYPE DEFAULT 0 -- CHAR(1) 10 ,DESCRIPTION CMPPropertySetDefinition_r.DESCRIPTION%TYPE DEFAULT null --DEFINITIONKEY -- VARCHAR2(4000) 11 ,EDITABLE CMPPropertySetDefinition_r.EDITABLE%TYPE DEFAULT 1 -- CHAR(1) 12 ,ELEMENTID CMPPropertySetDefinition_r.ELEMENTID%TYPE DEFAULT null --ELEMENTID -- NUMBER(9,0) 13 ,IMPORTED CMPPropertySetDefinition_r.IMPORTED%TYPE DEFAULT 0 -- CHAR(1) 14 ,LOGICALNAME CMPPropertySetDefinition_r.LOGICALNAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 15 ,METADATASIGNATURE CMPPropertySetDefinition_r.METADATASIGNATURE%TYPE DEFAULT null --METADATASIGNATURE -- VARCHAR2(255) 16 ,NAME CMPPropertySetDefinition_r.NAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 17 ,NOTE CMPPropertySetDefinition_r.NOTE%TYPE DEFAULT null -- VARCHAR2(4000) 18 ,NOTM CMPPropertySetDefinition_r.NOTM%TYPE DEFAULT 0 -- NUMBER(9,0) 19 ,OVERRIDEATTRIBUTES CMPPropertySetDefinition_r.OVERRIDEATTRIBUTES%TYPE DEFAULT 0 -- CHAR(1) 20 ,OVERRIDECHILDREN CMPPropertySetDefinition_r.OVERRIDECHILDREN%TYPE DEFAULT 0 -- CHAR(1) 21 ,OVERRIDEROLES CMPPropertySetDefinition_r.OVERRIDEROLES%TYPE DEFAULT 0 -- CHAR(1) 22 ,PERSISTENT CMPPropertySetDefinition_r.PERSISTENT%TYPE DEFAULT 1 -- CHAR(1) 23 ,SEEDED CMPPropertySetDefinition_r.SEEDED%TYPE DEFAULT 0 -- CHAR(1) 24 ,STRONGTYPENAME CMPPropertySetDefinition_r.STRONGTYPENAME%TYPE DEFAULT null -- VARCHAR2(255) 25 ,UOID CMPPropertySetDefinition_r.UOID%TYPE DEFAULT null --UOID -- VARCHAR2(40) 26 ,UPDATEDBY CMPPropertySetDefinition_r.UPDATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 27 ,UPDATETIMESTAMP CMPPropertySetDefinition_r.UPDATETIMESTAMP%TYPE DEFAULT null --sysdate -- DATE 28 ,ICONOBJECT CMPPropertySetDefinition_r.ICONOBJECT%TYPE DEFAULT null -- NUMBER(9,0) 29 ,EDITORCLASSNAME CMPPropertySetDefinition_r.EDITORCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 30 ,PROPERTYSHEETCLASSNAME CMPPropertySetDefinition_r.PROPERTYSHEETCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 31 ,WIZARDCLASSNAME CMPPropertySetDefinition_r.WIZARDCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 32 ,FIRSTCLASSOBJECT CMPPropertySetDefinition_r.FIRSTCLASSOBJECT%TYPE DEFAULT null --FIRSTCLASSOBJECT -- NUMBER(9,0) 33 ,POSITION CMPPropertySetDefinition_r.POSITION%TYPE DEFAULT 0 --POSITION -- NUMBER(9,0) 34 ,PROPERTYTYPE CMPPropertySetDefinition_r.PROPERTYTYPE%TYPE DEFAULT PROPERTYTYPE_PHYSICAL --PROPERTYTYPE -- NUMBER(9,0) 35 ,OWNINGCLASSDEFINITION CMPPropertySetDefinition_r.OWNINGCLASSDEFINITION%TYPE DEFAULT 0 --OWNINGCLASSDEFINITION -- NUMBER(9,0) 36 ,OVERRIDEE CMPPropertySetDefinition_r.OVERRIDEE%TYPE DEFAULT null --OVERRIDEE -- NUMBER(9,0) 37 ,PARENTPROPERTYSET CMPPropertySetDefinition_r.PARENTPROPERTYSET%TYPE DEFAULT null --PARENTPROPERTYSET -- NUMBER(9,0) 38 ,SUPERPROPERTYSET CMPPropertySetDefinition_r.SUPERPROPERTYSET%TYPE DEFAULT null --SUPERPROPERTYSET -- NUMBER(9,0) 39 ); -- ========================================================================== TYPE CMPPropertyDefinition IS RECORD ( -- ========================================================================== WORKSPACEID CMPPropertyDefinition_r.WORKSPACEID%TYPE DEFAULT 1 -- NUMBER(9,0) 1 ,DELETIONPARENT CMPPropertyDefinition_r.DELETIONPARENT%TYPE DEFAULT null -- NUMBER(9,0) 2 ,AGGREGATEDSIGNATURE CMPPropertyDefinition_r.AGGREGATEDSIGNATURE%TYPE DEFAULT null --sysdate -- TIMESTAMP(6) 3 ,CLASSNAME CMPPropertyDefinition_r.CLASSNAME%TYPE DEFAULT 'CMPPropertyDefinition' -- VARCHAR2(255) 4 ,COMPLETED CMPPropertyDefinition_r.COMPLETED%TYPE DEFAULT 1 -- CHAR(1) 5 ,CREATEDBY CMPPropertyDefinition_r.CREATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 6 ,CREATIONTIMESTAMP CMPPropertyDefinition_r.CREATIONTIMESTAMP%TYPE DEFAULT null --sysdate -- DATE 7 ,CUSTOMERDELETABLE CMPPropertyDefinition_r.CUSTOMERDELETABLE%TYPE DEFAULT 1 -- CHAR(1) 8 ,CUSTOMERRENAMABLE CMPPropertyDefinition_r.CUSTOMERRENAMABLE%TYPE DEFAULT 0 -- CHAR(1) 9 ,DELETEINOVERRIDE CMPPropertyDefinition_r.DELETEINOVERRIDE%TYPE DEFAULT 0 -- CHAR(1) 10 ,DESCRIPTION CMPPropertyDefinition_r.DESCRIPTION%TYPE DEFAULT null --DEFINITIONKEY -- VARCHAR2(4000) 11 ,EDITABLE CMPPropertyDefinition_r.EDITABLE%TYPE DEFAULT 1 -- CHAR(1) 12 ,ELEMENTID CMPPropertyDefinition_r.ELEMENTID%TYPE DEFAULT null --ELEMENTID -- NUMBER(9,0) 13 ,IMPORTED CMPPropertyDefinition_r.IMPORTED%TYPE DEFAULT 0 -- CHAR(1) 14 ,LOGICALNAME CMPPropertyDefinition_r.LOGICALNAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 15 ,METADATASIGNATURE CMPPropertyDefinition_r.METADATASIGNATURE%TYPE DEFAULT null --METADATASIGNATURE -- VARCHAR2(255) 16 ,NAME CMPPropertyDefinition_r.NAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 17 ,NOTE CMPPropertyDefinition_r.NOTE%TYPE DEFAULT null -- VARCHAR2(4000) 18 ,NOTM CMPPropertyDefinition_r.NOTM%TYPE DEFAULT 0 -- NUMBER(9,0) 19 ,OVERRIDEATTRIBUTES CMPPropertyDefinition_r.OVERRIDEATTRIBUTES%TYPE DEFAULT 0 -- CHAR(1) 20 ,OVERRIDECHILDREN CMPPropertyDefinition_r.OVERRIDECHILDREN%TYPE DEFAULT 0 -- CHAR(1) 21 ,OVERRIDEROLES CMPPropertyDefinition_r.OVERRIDEROLES%TYPE DEFAULT 0 -- CHAR(1) 22 ,PERSISTENT CMPPropertyDefinition_r.PERSISTENT%TYPE DEFAULT 1 -- CHAR(1) 23 ,SEEDED CMPPropertyDefinition_r.SEEDED%TYPE DEFAULT 0 -- CHAR(1) 24 ,STRONGTYPENAME CMPPropertyDefinition_r.STRONGTYPENAME%TYPE DEFAULT null -- VARCHAR2(255) 25 ,UOID CMPPropertyDefinition_r.UOID%TYPE DEFAULT null --UOID -- VARCHAR2(40) 26 ,UPDATEDBY CMPPropertyDefinition_r.UPDATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 27 ,UPDATETIMESTAMP CMPPropertyDefinition_r.UPDATETIMESTAMP%TYPE DEFAULT null --sysdate -- DATE 28 ,ICONOBJECT CMPPropertyDefinition_r.ICONOBJECT%TYPE DEFAULT null -- NUMBER(9,0) 29 ,EDITORCLASSNAME CMPPropertyDefinition_r.EDITORCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 30 ,PROPERTYSHEETCLASSNAME CMPPropertyDefinition_r.PROPERTYSHEETCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 31 ,WIZARDCLASSNAME CMPPropertyDefinition_r.WIZARDCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 32 ,FIRSTCLASSOBJECT CMPPropertyDefinition_r.FIRSTCLASSOBJECT%TYPE DEFAULT null --FIRSTCLASSOBJECT -- NUMBER(9,0) 33 ,POSITION CMPPropertyDefinition_r.POSITION%TYPE DEFAULT 0 --POSITION -- NUMBER(9,0) 34 ,ADVANCED CMPPropertyDefinition_r.ADVANCED%TYPE DEFAULT 0 -- CHAR(1) 35 ,CONTRIBUTETOSIGNATURE CMPPropertyDefinition_r.CONTRIBUTETOSIGNATURE%TYPE DEFAULT 1 --CONTRIBUTETOSIGNATURE-- CHAR(1) 36 ,CUSTOMEDITOR CMPPropertyDefinition_r.CUSTOMEDITOR%TYPE DEFAULT null -- VARCHAR2(255) 37 ,DEFAULTVALUE CMPPropertyDefinition_r.DEFAULTVALUE%TYPE DEFAULT null -- VARCHAR2(4000) 38 ,DEFINITIONKEY CMPPropertyDefinition_r.DEFINITIONKEY%TYPE DEFAULT null --DEFINITIONKEY -- VARCHAR2(255) 39 ,DYNAMICDEFAULT CMPPropertyDefinition_r.DYNAMICDEFAULT%TYPE DEFAULT null -- VARCHAR2(255) 40 ,EXPORTCONTROL CMPPropertyDefinition_r.EXPORTCONTROL%TYPE DEFAULT 0 -- NUMBER(9,0) 41 ,HIDDEN CMPPropertyDefinition_r.HIDDEN%TYPE DEFAULT 0 -- CHAR(1) 42 ,INPLACEEDITOR CMPPropertyDefinition_r.INPLACEEDITOR%TYPE DEFAULT null -- VARCHAR2(255) 43 ,ISPUBLISHEDTOPUBLICAPI CMPPropertyDefinition_r.ISPUBLISHEDTOPUBLICAPI%TYPE DEFAULT 1 -- CHAR(1) 44 ,ISROLE CMPPropertyDefinition_r.ISROLE%TYPE DEFAULT 0 -- CHAR(1) 45 ,NAMECHECKED CMPPropertyDefinition_r.NAMECHECKED%TYPE DEFAULT 0 -- CHAR(1) 46 ,OVERRIDE CMPPropertyDefinition_r.OVERRIDE%TYPE DEFAULT 0 -- CHAR(1) 47 ,PASSWORD CMPPropertyDefinition_r.PASSWORD%TYPE DEFAULT 0 -- CHAR(1) 48 ,PROPERTYREADONLY CMPPropertyDefinition_r.PROPERTYREADONLY%TYPE DEFAULT 0 -- CHAR(1) 49 ,PROPERTYTYPE CMPPropertyDefinition_r.PROPERTYTYPE%TYPE DEFAULT null --propertyset type -- NUMBER(9,0) 50 ,TRANSLATABLE CMPPropertyDefinition_r.TRANSLATABLE%TYPE DEFAULT 0 -- CHAR(1) 51 ,USERCHOICEALLOWED CMPPropertyDefinition_r.USERCHOICEALLOWED%TYPE DEFAULT 0 -- CHAR(1) 52 ,TYPE CMPPropertyDefinition_r.TYPE%TYPE DEFAULT null --datatype id -- NUMBER(9,0) 53 ,OVERRIDEE CMPPropertyDefinition_r.OVERRIDEE%TYPE DEFAULT null -- NUMBER(9,0) 54 ,PROPERTYGROUPDEFINITION CMPPropertyDefinition_r.PROPERTYGROUPDEFINITION%TYPE DEFAULT null --property group -- NUMBER(9,0) 55 ,OWNINGPROPERTYSETDEFINITION CMPPropertyDefinition_r.OWNINGPROPERTYSETDEFINITION%TYPE DEFAULT null --propertyset -- NUMBER(9,0) 56 ); -- ========================================================================== TYPE CMPAnonymousDomain IS RECORD ( -- ========================================================================== WORKSPACEID CMPAnonymousDomain_r.WORKSPACEID%TYPE DEFAULT 1 -- NUMBER(9,0) 1 ,DELETIONPARENT CMPAnonymousDomain_r.DELETIONPARENT%TYPE DEFAULT null -- NUMBER(9,0) 2 ,AGGREGATEDSIGNATURE CMPAnonymousDomain_r.AGGREGATEDSIGNATURE%TYPE DEFAULT null -- TIMESTAMP(6) 3 ,CLASSNAME CMPAnonymousDomain_r.CLASSNAME%TYPE DEFAULT 'CMPAnonymousDomain' -- VARCHAR2(255) 4 ,COMPLETED CMPAnonymousDomain_r.COMPLETED%TYPE DEFAULT 1 -- CHAR(1) 5 ,CREATEDBY CMPAnonymousDomain_r.CREATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 6 ,CREATIONTIMESTAMP CMPAnonymousDomain_r.CREATIONTIMESTAMP%TYPE DEFAULT null -- DATE 7 ,CUSTOMERDELETABLE CMPAnonymousDomain_r.CUSTOMERDELETABLE%TYPE DEFAULT 1 -- CHAR(1) 8 ,CUSTOMERRENAMABLE CMPAnonymousDomain_r.CUSTOMERRENAMABLE%TYPE DEFAULT 0 -- CHAR(1) 9 ,DELETEINOVERRIDE CMPAnonymousDomain_r.DELETEINOVERRIDE%TYPE DEFAULT 0 -- CHAR(1) 10 ,DESCRIPTION CMPAnonymousDomain_r.DESCRIPTION%TYPE DEFAULT null --DEFINITIONKEY -- VARCHAR2(4000) 11 ,EDITABLE CMPAnonymousDomain_r.EDITABLE%TYPE DEFAULT 1 -- CHAR(1) 12 ,ELEMENTID CMPAnonymousDomain_r.ELEMENTID%TYPE DEFAULT null --ELEMENTID -- NUMBER(9,0) 13 ,IMPORTED CMPAnonymousDomain_r.IMPORTED%TYPE DEFAULT 0 -- CHAR(1) 14 ,LOGICALNAME CMPAnonymousDomain_r.LOGICALNAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 15 ,METADATASIGNATURE CMPAnonymousDomain_r.METADATASIGNATURE%TYPE DEFAULT null --METADATASIGNATURE -- VARCHAR2(255) 16 ,NAME CMPAnonymousDomain_r.NAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 17 ,NOTE CMPAnonymousDomain_r.NOTE%TYPE DEFAULT null -- VARCHAR2(4000) 18 ,NOTM CMPAnonymousDomain_r.NOTM%TYPE DEFAULT 1 -- NUMBER(9,0) 19 ,OVERRIDEATTRIBUTES CMPAnonymousDomain_r.OVERRIDEATTRIBUTES%TYPE DEFAULT 0 -- CHAR(1) 20 ,OVERRIDECHILDREN CMPAnonymousDomain_r.OVERRIDECHILDREN%TYPE DEFAULT 0 -- CHAR(1) 21 ,OVERRIDEROLES CMPAnonymousDomain_r.OVERRIDEROLES%TYPE DEFAULT 0 -- CHAR(1) 22 ,PERSISTENT CMPAnonymousDomain_r.PERSISTENT%TYPE DEFAULT 1 -- CHAR(1) 23 ,SEEDED CMPAnonymousDomain_r.SEEDED%TYPE DEFAULT 0 -- CHAR(1) 24 ,STRONGTYPENAME CMPAnonymousDomain_r.STRONGTYPENAME%TYPE DEFAULT null -- VARCHAR2(255) 25 ,UOID CMPAnonymousDomain_r.UOID%TYPE DEFAULT null --UOID -- VARCHAR2(40) 26 ,UPDATEDBY CMPAnonymousDomain_r.UPDATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 27 ,UPDATETIMESTAMP CMPAnonymousDomain_r.UPDATETIMESTAMP%TYPE DEFAULT null -- DATE 28 ,ICONOBJECT CMPAnonymousDomain_r.ICONOBJECT%TYPE DEFAULT null -- NUMBER(9,0) 29 ,EDITORCLASSNAME CMPAnonymousDomain_r.EDITORCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 30 ,PROPERTYSHEETCLASSNAME CMPAnonymousDomain_r.PROPERTYSHEETCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 31 ,WIZARDCLASSNAME CMPAnonymousDomain_r.WIZARDCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 32 ,COMPARATOR CMPAnonymousDomain_r.COMPARATOR%TYPE DEFAULT 'oracle.wh.repos.impl.domain.comparator.PrimitiveValueComparator' -- VARCHAR2(255) 33 ,OWNINGMODEL CMPAnonymousDomain_r.OWNINGMODEL%TYPE DEFAULT null -- NUMBER(9,0) 34 ,CHOOSER CMPAnonymousDomain_r.CHOOSER%TYPE DEFAULT null -- VARCHAR2(255) 35 ,DATATYPEAGSG CMPAnonymousDomain_r.DATATYPEAGSG%TYPE DEFAULT null -- TIMESTAMP(6) 36 ,DATATYPEFQN CMPAnonymousDomain_r.DATATYPEFQN%TYPE DEFAULT null -- VARCHAR2(4000) 37 ,DATATYPELUPD CMPAnonymousDomain_r.DATATYPELUPD%TYPE DEFAULT null -- TIMESTAMP(6) 38 ,DATATYPEUOID CMPAnonymousDomain_r.DATATYPEUOID%TYPE DEFAULT null -- VARCHAR2(40) 39 ,USERCHOICEALLOWED CMPAnonymousDomain_r.USERCHOICEALLOWED%TYPE DEFAULT 0 -- CHAR(1) 40 ,VALUEINTERPRETER CMPAnonymousDomain_r.VALUEINTERPRETER%TYPE DEFAULT null -- VARCHAR2(255) 41 ,DATATYPE CMPAnonymousDomain_r.DATATYPE%TYPE DEFAULT null -- NUMBER(9,0) 42 ,ACLCONTAINER CMPAnonymousDomain_r.ACLCONTAINER%TYPE DEFAULT null -- NUMBER(9,0) 43 ,VALIDATIONRESULT CMPAnonymousDomain_r.VALIDATIONRESULT%TYPE DEFAULT null -- NUMBER(9,0) 44 ,OWNINGFOLDER CMPAnonymousDomain_r.OWNINGFOLDER%TYPE DEFAULT null -- NUMBER(9,0) 45 ,POSITION CMPAnonymousDomain_r.POSITION%TYPE DEFAULT 0 -- NUMBER(9,0) 46 ); -- ========================================================================== TYPE CMPArrayType IS RECORD ( -- ========================================================================== WORKSPACEID CMPArrayType_r.WORKSPACEID%TYPE DEFAULT 1 -- NUMBER(9,0) 1 ,DELETIONPARENT CMPArrayType_r.DELETIONPARENT%TYPE DEFAULT null -- NUMBER(9,0) 2 ,AGGREGATEDSIGNATURE CMPArrayType_r.AGGREGATEDSIGNATURE%TYPE DEFAULT null --sysdate -- TIMESTAMP(6) 3 ,CLASSNAME CMPArrayType_r.CLASSNAME%TYPE DEFAULT 'CMPArrayType' -- VARCHAR2(255) 4 ,COMPLETED CMPArrayType_r.COMPLETED%TYPE DEFAULT 1 -- CHAR(1) 5 ,CREATEDBY CMPArrayType_r.CREATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 6 ,CREATIONTIMESTAMP CMPArrayType_r.CREATIONTIMESTAMP%TYPE DEFAULT null --sysdate -- DATE 7 ,CUSTOMERDELETABLE CMPArrayType_r.CUSTOMERDELETABLE%TYPE DEFAULT 1 -- CHAR(1) 8 ,CUSTOMERRENAMABLE CMPArrayType_r.CUSTOMERRENAMABLE%TYPE DEFAULT 0 -- CHAR(1) 9 ,DELETEINOVERRIDE CMPArrayType_r.DELETEINOVERRIDE%TYPE DEFAULT 0 -- CHAR(1) 10 ,DESCRIPTION CMPArrayType_r.DESCRIPTION%TYPE DEFAULT null --DEFINITIONKEY -- VARCHAR2(4000) 11 ,EDITABLE CMPArrayType_r.EDITABLE%TYPE DEFAULT 1 -- CHAR(1) 12 ,ELEMENTID CMPArrayType_r.ELEMENTID%TYPE DEFAULT null --ELEMENTID -- NUMBER(9,0) 13 ,IMPORTED CMPArrayType_r.IMPORTED%TYPE DEFAULT 0 -- CHAR(1) 14 ,LOGICALNAME CMPArrayType_r.LOGICALNAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 15 ,METADATASIGNATURE CMPArrayType_r.METADATASIGNATURE%TYPE DEFAULT null --METADATASIGNATURE -- VARCHAR2(255) 16 ,NAME CMPArrayType_r.NAME%TYPE DEFAULT null --NAME -- VARCHAR2(1000) 17 ,NOTE CMPArrayType_r.NOTE%TYPE DEFAULT null -- VARCHAR2(4000) 18 ,NOTM CMPArrayType_r.NOTM%TYPE DEFAULT 0 -- NUMBER(9,0) 19 ,OVERRIDEATTRIBUTES CMPArrayType_r.OVERRIDEATTRIBUTES%TYPE DEFAULT 0 -- CHAR(1) 20 ,OVERRIDECHILDREN CMPArrayType_r.OVERRIDECHILDREN%TYPE DEFAULT 0 -- CHAR(1) 21 ,OVERRIDEROLES CMPArrayType_r.OVERRIDEROLES%TYPE DEFAULT 0 -- CHAR(1) 22 ,PERSISTENT CMPArrayType_r.PERSISTENT%TYPE DEFAULT 1 -- CHAR(1) 23 ,SEEDED CMPArrayType_r.SEEDED%TYPE DEFAULT 0 -- CHAR(1) 24 ,STRONGTYPENAME CMPArrayType_r.STRONGTYPENAME%TYPE DEFAULT null -- VARCHAR2(255) 25 ,UOID CMPArrayType_r.UOID%TYPE DEFAULT null --UOID -- VARCHAR2(40) 26 ,UPDATEDBY CMPArrayType_r.UPDATEDBY%TYPE DEFAULT 'OWBSYS' -- VARCHAR2(40) 27 ,UPDATETIMESTAMP CMPArrayType_r.UPDATETIMESTAMP%TYPE DEFAULT null --sysdate -- DATE 28 ,ICONOBJECT CMPArrayType_r.ICONOBJECT%TYPE DEFAULT null -- NUMBER(9,0) 29 ,EDITORCLASSNAME CMPArrayType_r.EDITORCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 30 ,PROPERTYSHEETCLASSNAME CMPArrayType_r.PROPERTYSHEETCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 31 ,WIZARDCLASSNAME CMPArrayType_r.WIZARDCLASSNAME%TYPE DEFAULT null -- VARCHAR2(255) 32 ,COMPARATOR CMPArrayType_r.COMPARATOR%TYPE DEFAULT 'oracle.wh.repos.impl.domain.comparator.CollectionValueComparator' -- VARCHAR2(255) 33 ,OWNINGMODEL CMPArrayType_r.OWNINGMODEL%TYPE DEFAULT null -- NUMBER(9,0) 34 ,ACLCONTAINER CMPArrayType_r.ACLCONTAINER%TYPE DEFAULT null -- NUMBER(9,0) 35 ,VALIDATIONRESULT CMPArrayType_r.VALIDATIONRESULT%TYPE DEFAULT null -- NUMBER(9,0) 36 ,OWNINGFOLDER CMPArrayType_r.OWNINGFOLDER%TYPE DEFAULT null -- NUMBER(9,0) 37 ,POSITION CMPArrayType_r.POSITION%TYPE DEFAULT 0 -- NUMBER(9,0) 38 ,BASEELEMENTTYPEAGSG CMPArrayType_r.BASEELEMENTTYPEAGSG%TYPE DEFAULT null -- TIMESTAMP(6) 39 ,BASEELEMENTTYPEFQN CMPArrayType_r.BASEELEMENTTYPEFQN%TYPE DEFAULT null -- VARCHAR2(4000) 40 ,BASEELEMENTTYPELUPD CMPArrayType_r.BASEELEMENTTYPELUPD%TYPE DEFAULT null -- TIMESTAMP(6) 41 ,BASEELEMENTTYPEUOID CMPArrayType_r.BASEELEMENTTYPEUOID%TYPE DEFAULT null -- VARCHAR2(40) 42 ,BASEELEMENTTYPE CMPArrayType_r.BASEELEMENTTYPE%TYPE DEFAULT null -- NUMBER(9,0) 43 ); -- ************************************************************************** -- ************************************************************************** -- Useful functions/procedures -- ************************************************************************** -- ************************************************************************** -- ========================================================================== -- put message to output (uses DBMS_OUTPUT) PROCEDURE put(msg VARCHAR2) IS -- ========================================================================== BEGIN IF NOT OUTINITED THEN OUTINITED := TRUE; DBMS_OUTPUT.ENABLE(200000); put('DBMS_OUTPUT Enabled.'); END IF; IF (LENGTH(msg) + LENGTH(SCRIPTID) + 2) > 255 THEN -- 10.1 database can't handle messages with length > 255 --DBMS_OUTPUT.put_line('Message length > 255'); --DBMS_OUTPUT.put_line(SUBSTR(msg, 0, 255)); -- Break the string up into lines or 255-byte chunks DECLARE l_msg_line VARCHAR2(255); l_eol_index NUMBER; l_curr_index NUMBER; l_msg_len NUMBER := LENGTH(msg); l_loop_index NUMBER := 0; BEGIN DBMS_OUTPUT.PUT_LINE(SCRIPTID || ':'); l_eol_index := 1; l_curr_index := 1; l_loop_index := 0; WHILE (l_curr_index < l_msg_len AND l_loop_index < 10) LOOP l_eol_index := INSTR(msg, EOL, l_curr_index); --DBMS_OUTPUT.put_line('l_eol_index = ' || TO_CHAR(l_eol_index)); IF (l_eol_index <= 0) OR (l_eol_index - l_curr_index) > 255 THEN l_msg_line := SUBSTR(msg, l_curr_index, 255); l_curr_index := l_curr_index + 255; ELSE l_msg_line := SUBSTR(msg, l_curr_index, l_eol_index - l_curr_index); l_curr_index := l_eol_index + 1; END IF; DBMS_OUTPUT.PUT_LINE(l_msg_line); l_loop_index := l_loop_index + 1; END LOOP; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLERRM); END; ELSE DBMS_OUTPUT.put_line(SCRIPTID || ': ' || msg); END IF; END; -- ========================================================================== -- put message to output controlled by TRACEON variable (uses put) PROCEDURE putTrace(msg VARCHAR2) IS -- ========================================================================== BEGIN IF TRACEON THEN put(msg); END IF; END; -- ========================================================================== -- return next element id for new objects FUNCTION getNextElementId RETURN NUMBER -- ========================================================================== IS l_id NUMBER; BEGIN SELECT cwmseq.nextval INTO l_id FROM DUAL; RETURN l_id; END; -- ========================================================================== FUNCTION getPlatformIdByName( p_platformName VARCHAR2 ) RETURN NUMBER -- ========================================================================== IS p_id NUMBER(9,0); BEGIN SELECT ELEMENTID INTO p_id FROM CMPPlatform_r WHERE WORKSPACEID=1 AND NAME=p_platformName; put( 'Found Platform [name: ' || p_platformName || '; elementid: ' || p_id || ']' || EOL); RETURN p_id; END; -- ========================================================================== FUNCTION getClassIdByName( p_platformId NUMBER, p_className VARCHAR2 ) RETURN NUMBER -- ========================================================================== IS p_classId NUMBER(9,0); BEGIN SELECT ELEMENTID INTO p_classId FROM CMPClassDefinition_r WHERE NAME=p_className AND OWNINGFOLDER=p_platformId; put( 'Found ClassDefinition [name: ' || p_className || '; elementid: ' || p_classId || '; owningPlatform: ' || p_platformId || ']' || EOL); RETURN p_classId; END; -- ========================================================================== FUNCTION getPropertySetId( p_classId NUMBER, p_propertyType NUMBER, p_name VARCHAR2 ) RETURN NUMBER -- ========================================================================== IS p_propertySetId NUMBER(9,0); BEGIN SELECT ELEMENTID INTO p_propertySetId FROM CMPPropertySetDefinition_r WHERE FIRSTCLASSOBJECT=p_classId AND PROPERTYTYPE=p_propertyType AND NAME LIKE '%'||p_name||'%'; put( 'Found PropertySetDefinition [name: ' || p_name || '; elementid: ' || p_propertySetId || '; owningClassDef: ' || p_classId || ']' || EOL); RETURN p_propertySetId; END; -- ========================================================================== FUNCTION getPropertyGroupId( p_propertySetId NUMBER, p_definitionKey VARCHAR2 ) RETURN NUMBER -- ========================================================================== IS p_propertyGroupId NUMBER(9,0); BEGIN SELECT ELEMENTID INTO p_propertyGroupId FROM CMPPropertyGroupDefinition_r WHERE PROPERTYGROUPOWNER=p_propertySetId AND LOGICALNAME=p_definitionKey; RETURN p_propertyGroupId; END; -- ========================================================================== FUNCTION getPropertyDefinitionId( p_propertySetId NUMBER, p_definitionKey VARCHAR2 ) RETURN NUMBER -- ========================================================================== IS p_propertyDefinitionId NUMBER(9,0); BEGIN SELECT ELEMENTID INTO p_propertyDefinitionId FROM CMPPropertyDefinition_r WHERE OWNINGPROPERTYSETDEFINITION=p_propertySetId AND DEFINITIONKEY=p_definitionKey; RETURN p_propertyDefinitionId; END; -- ========================================================================== -- Get ElementID of PrimitiveType from name. -- Valid values for parameter p_name: Timestamp, String, Double, Integer, -- Long, Boolean, Date, Float FUNCTION getPrimitiveTypeId( p_name IN VARCHAR2 ) RETURN NUMBER -- ========================================================================== IS p_datatypeId NUMBER(9,0); BEGIN SELECT ELEMENTID INTO p_datatypeId FROM CMPPrimitiveType_r WHERE NAME = p_name; RETURN p_datatypeId; END; -- ========================================================================== FUNCTION getStringDatatypeId RETURN NUMBER -- ========================================================================== IS p_datatypeId NUMBER(9,0); BEGIN p_datatypeId := getPrimitiveTypeId('String'); RETURN p_datatypeId; END; -- ========================================================================== -- CMPClassDefinition FUNCTION newCMPClassDefinition( logicalName IN VARCHAR2 DEFAULT null ,name IN VARCHAR2 DEFAULT null ,metadataSignature IN VARCHAR2 DEFAULT null ,owningModel IN NUMBER DEFAULT 0 ,owningFolder IN NUMBER DEFAULT 0 ,packageName IN VARCHAR2 DEFAULT null ,publicClassName IN VARCHAR2 DEFAULT null ,superClass IN NUMBER DEFAULT 0 ) RETURN CMPClassDefinition -- ========================================================================== IS cdef CMPClassDefinition; BEGIN cdef.AGGREGATEDSIGNATURE := SYSDATE; cdef.CREATIONTIMESTAMP := SYSDATE; cdef.ELEMENTID := getNextElementId; cdef.LOGICALNAME := logicalName; cdef.METADATASIGNATURE := metadataSignature; cdef.NAME := name; cdef.UOID := RAWTOHEX(SYS_GUID()); cdef.UPDATETIMESTAMP := SYSDATE; cdef.OWNINGMODEL := owningModel; cdef.OWNINGFOLDER := owningFolder; cdef.PACKAGENAME := packageName; cdef.PUBLICCLASSNAME := publicClassName; cdef.SUPERCLASS := superClass; RETURN cdef; END newCMPClassDefinition; -- ========================================================================== PROCEDURE AddCMPClassDefinition( cdef IN OUT CMPClassDefinition ) -- ========================================================================== IS l_count NUMBER := 0; l_str VARCHAR2(4000); BEGIN select count(1) into l_count from CMPClassDefinition_r where name = cdef.NAME and owningModel=cdef.OWNINGMODEL and owningFolder=cdef.OWNINGFOLDER and workspaceid=cdef.WORKSPACEID; If l_count = 1 then put('Found ClassDefinition with name ''' || cdef.NAME ||'''. Will Retrieve it from Repository.' || EOL); l_str := 'select * from CMPClassDefinition_r where name = ''' || cdef.NAME || ''' and owningModel=' || cdef.OWNINGMODEL || ' and owningFolder=' || cdef.OWNINGFOLDER || ' and workspaceid=' || cdef.WORKSPACEID; EXECUTE IMMEDIATE l_str INTO cdef; else If l_count = 0 then put('Add ClassDefinition with name ''' || cdef.NAME ||'''.' || EOL); insert into CMPClassDefinition_r VALUES cdef; else put('Error! Found ' || l_count || ' ClassDefinitions with same name ''' || cdef.NAME || '''!' || EOL); end if; end if; END; -- ========================================================================== -- CMPPropertySetDefinition FUNCTION newCMPPropertySetDefinition( description IN VARCHAR2 DEFAULT null ,logicalName IN VARCHAR2 DEFAULT null ,metadataSignature IN VARCHAR2 DEFAULT null ,name IN VARCHAR2 DEFAULT null ,firstClassObject IN NUMBER DEFAULT 0 ,propertyType IN NUMBER DEFAULT 0 ,owningClassDefinition IN NUMBER DEFAULT null ,parentPropertySet IN NUMBER DEFAULT null ) RETURN CMPPropertySetDefinition -- ========================================================================== IS psdef CMPPropertySetDefinition; BEGIN psdef.AGGREGATEDSIGNATURE := SYSDATE; psdef.CREATIONTIMESTAMP := SYSDATE; psdef.DESCRIPTION := description; psdef.ELEMENTID := getNextElementId; psdef.LOGICALNAME := logicalName; psdef.METADATASIGNATURE := metadataSignature; psdef.NAME := name; psdef.UOID := RAWTOHEX(SYS_GUID()); psdef.UPDATETIMESTAMP := SYSDATE; psdef.FIRSTCLASSOBJECT := firstClassObject; psdef.PROPERTYTYPE := propertyType; psdef.OWNINGCLASSDEFINITION := owningClassDefinition; psdef.PARENTPROPERTYSET := parentPropertySet; RETURN psdef; END newCMPPropertySetDefinition; -- ========================================================================== PROCEDURE AddCMPPropertySetDefinition( psdef IN OUT CMPPropertySetDefinition ) -- ========================================================================== IS l_count NUMBER := 0; l_str VARCHAR2(4000); BEGIN select count(1) into l_count from CMPPropertySetDefinition_r where name = psdef.NAME and logicalname=psdef.LOGICALNAME and owningClassDefinition=psdef.OWNINGCLASSDEFINITION and propertyType=psdef.PROPERTYTYPE and workspaceid=psdef.WORKSPACEID; If l_count = 1 then put('Found PropertySetDefinition with name ''' || psdef.NAME ||'''. Will Retrieve it from Repository.' || EOL); l_str := 'select * from CMPPropertySetDefinition_r where name = ''' || psdef.NAME || ''' and logicalname=''' || psdef.LOGICALNAME || ''' and owningClassDefinition=' || psdef.OWNINGCLASSDEFINITION || ' and propertyType=' || psdef.PROPERTYTYPE || ' and workspaceid=' || psdef.WORKSPACEID; EXECUTE IMMEDIATE l_str INTO psdef; else If l_count = 0 then put('Add PropertySetDefinition with name ''' || psdef.NAME ||'''.' || EOL); insert into CMPPropertySetDefinition_r VALUES psdef; else put('Error! Found ' || l_count || ' PropertySetDefinitions with same name ''' || psdef.NAME || '''!' || EOL); end if; end if; END; -- ========================================================================== -- CMPPropertyDefinition FUNCTION newCMPPropertyDefinition( definitionKey IN VARCHAR2 DEFAULT null ,name IN VARCHAR2 DEFAULT null ,metadataSignature IN VARCHAR2 DEFAULT null ,firstClassObjectId IN NUMBER DEFAULT null ,position IN NUMBER DEFAULT 0 ,contributeToSignature IN VARCHAR DEFAULT null ,propertyTypeId IN NUMBER DEFAULT null ,datatypeId IN NUMBER DEFAULT 0 ,propertyGroupId IN NUMBER DEFAULT 0 ,propertySetId IN NUMBER DEFAULT 0 ) RETURN CMPPropertyDefinition -- ========================================================================== IS pdef CMPPropertyDefinition; BEGIN pdef.AGGREGATEDSIGNATURE := SYSDATE; pdef.CREATIONTIMESTAMP := SYSDATE; pdef.DESCRIPTION := definitionKey; pdef.ELEMENTID := getNextElementId; pdef.LOGICALNAME := name; pdef.METADATASIGNATURE := metadataSignature; pdef.NAME := name; pdef.UOID := RAWTOHEX(SYS_GUID()); pdef.UPDATETIMESTAMP := SYSDATE; pdef.FIRSTCLASSOBJECT := firstClassObjectId; pdef.POSITION := position; pdef.CONTRIBUTETOSIGNATURE := contributeToSignature; pdef.DEFINITIONKEY := definitionKey; pdef.PROPERTYTYPE := propertyTypeId; pdef.TYPE := datatypeId; pdef.PROPERTYGROUPDEFINITION := propertyGroupId; pdef.OWNINGPROPERTYSETDEFINITION := propertySetId; RETURN pdef; END newCMPPropertyDefinition; -- ========================================================================== PROCEDURE AddCMPPropertyDefinition( pdef IN OUT CMPPropertyDefinition ) -- ========================================================================== IS l_count NUMBER := 0; l_str VARCHAR2(4000); BEGIN select count(1) into l_count from CMPPropertyDefinition_r where name = pdef.NAME and logicalname=pdef.LOGICALNAME and firstclassobject=pdef.FIRSTCLASSOBJECT and definitionkey=pdef.DEFINITIONKEY and propertyType=pdef.PROPERTYTYPE and owningPropertySetDefinition=pdef.OWNINGPROPERTYSETDEFINITION and workspaceid=pdef.WORKSPACEID; If l_count = 1 then put('Found PropertyDefinition with name ''' || pdef.NAME ||'''. Will Retrieve it from Repository.' || EOL); l_str := 'select * from CMPPropertyDefinition_r where name = ''' || pdef.NAME || ''' and logicalname=''' || pdef.LOGICALNAME || ''' and firstclassobject=' || pdef.FIRSTCLASSOBJECT || ' and definitionkey=''' || pdef.DEFINITIONKEY || ''' and propertyType=' || pdef.PROPERTYTYPE || ' and owningPropertySetDefinition=' || pdef.OWNINGPROPERTYSETDEFINITION || ' and workspaceid=' || pdef.WORKSPACEID; EXECUTE IMMEDIATE l_str INTO pdef; else If l_count = 0 then put('Add PropertyDefinition with name ''' || pdef.NAME ||'''.' || EOL); insert into CMPPropertyDefinition_r VALUES pdef; else put('Error! Found ' || l_count || ' PropertyDefinitions with same name ''' || pdef.NAME || '''!' || EOL); end if; end if; END; -- ========================================================================== FUNCTION getCMPPropertyDefinition( definitionKey IN VARCHAR2 DEFAULT null ,name IN VARCHAR2 DEFAULT null ,propertyTypeId IN NUMBER DEFAULT null ,datatypeId IN NUMBER DEFAULT null ,propertyGroupId IN NUMBER DEFAULT null ,propertySetId IN NUMBER DEFAULT null ) RETURN CMPPropertyDefinition -- ========================================================================== IS pdef CMPPropertyDefinition; l_str VARCHAR2(4000); BEGIN l_str := 'SELECT * FROM CMPPropertyDefinition_r WHERE 1=1'; if (definitionKey is not null) then l_str := l_str || ' and DEFINITIONKEY=''' || definitionKey || ''''; end if; if (name is not null) then l_str := l_str || ' and NAME=''' || name || ''''; end if; if (propertyTypeId is not null) then l_str := l_str || ' and PROPERTYTYPE=' || propertyTypeId; end if; if (datatypeId is not null) then l_str := l_str || ' and TYPE=' || datatypeId; end if; if (propertyGroupId is not null) then l_str := l_str || ' and PROPERTYGROUPDEFINITION=' || propertyGroupId; end if; if (propertySetId is not null) then l_str := l_str || ' and OWNINGPROPERTYSETDEFINITION=' || propertySetId; end if; EXECUTE IMMEDIATE l_str INTO pdef; RETURN pdef; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN put ('Not found -->' || l_str || EOL); RETURN null; END; -- NO_DATA_FOUND /* should not happen. Developers have to pass in the correct params that have only one record. WHEN TOO_MANY_ROWS THEN BEGIN put ('Too many rows -->' || l_str); RETURN null; END;*/ RETURN pdef; END getCMPPropertyDefinition; -- ========================================================================== -- CMPArrayType FUNCTION newCMPArrayType( logicalName IN VARCHAR2 DEFAULT null ,metadataSignature IN VARCHAR2 DEFAULT null ,name IN VARCHAR2 DEFAULT null ,owningModel IN NUMBER DEFAULT 0 ,owningFolder IN NUMBER DEFAULT 0 ,baseElementTypeFqn IN VARCHAR2 DEFAULT null ,baseType IN CMPClassDefinition DEFAULT null ) RETURN CMPArrayType -- ========================================================================== IS adef CMPArrayType; BEGIN adef.AGGREGATEDSIGNATURE := SYSDATE; adef.CREATIONTIMESTAMP := SYSDATE; adef.ELEMENTID := getNextElementId; adef.LOGICALNAME := logicalName; adef.METADATASIGNATURE := metadataSignature; adef.NAME := name; adef.UOID := RAWTOHEX(SYS_GUID()); adef.UPDATETIMESTAMP := SYSDATE; adef.OWNINGMODEL := owningModel; adef.OWNINGFOLDER := owningFolder; adef.BASEELEMENTTYPEAGSG := baseType.AGGREGATEDSIGNATURE; adef.BASEELEMENTTYPEFQN := baseElementTypeFqn; adef.BASEELEMENTTYPELUPD := baseType.UPDATETIMESTAMP; adef.BASEELEMENTTYPEUOID := baseType.UOID; adef.BASEELEMENTTYPE := baseType.ELEMENTID; RETURN adef; END newCMPArrayType; -- ========================================================================== PROCEDURE AddCMPArrayType( adef IN OUT CMPArrayType ) -- ========================================================================== IS l_count NUMBER := 0; l_str VARCHAR2(4000); BEGIN select count(1) into l_count from CMPArrayType_r where name = adef.NAME and owningModel=adef.OWNINGMODEL and owningFolder=adef.OWNINGFOLDER and workspaceid=adef.WORKSPACEID and baseElementType=adef.BASEELEMENTTYPE; If l_count = 1 then put('Found ArrayType with name ''' || adef.NAME ||'''. Will Retrieve it from Repository.' || EOL); l_str := 'select * from CMPArrayType_r where name = ''' || adef.NAME || ''' and owningModel=' || adef.OWNINGMODEL || ' and owningFolder=' || adef.OWNINGFOLDER || ' and workspaceid=' || adef.WORKSPACEID || ' and baseElementType=' || adef.BASEELEMENTTYPE; EXECUTE IMMEDIATE l_str INTO adef; else If l_count = 0 then put('Add ArrayType with name ''' || adef.NAME ||'''.' || EOL); insert into CMPArrayType_r VALUES adef; else put('Error! Found ' || l_count || ' ArrayTypes with same name ''' || adef.NAME || '''!' || EOL); end if; end if; END; -- ========================================================================== FUNCTION getCMPAnonymousDomain( pdef IN CMPPropertyDefinition ) RETURN CMPAnonymousDomain -- ========================================================================== IS ddef CMPAnonymousDomain; l_str VARCHAR2(4000); BEGIN l_str := 'SELECT * FROM CMPAnonymousDomain_r WHERE ELEMENTID=' || pdef.TYPE; EXECUTE IMMEDIATE l_str INTO ddef; put('Found (' || l_str || ')' || EOL); RETURN ddef; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN put ('Not found -->' || l_str || EOL); RETURN null; END; -- NO_DATA_FOUND /* should not happen. Developers have to pass in the correct params that have only one record. WHEN TOO_MANY_ROWS THEN BEGIN put ('Too many rows -->' || l_str); RETURN null; END;*/ RETURN ddef; END getCMPAnonymousDomain; -- ########################################################################## -- ########################################################################## BEGIN -- Outer block - utility functions/variables now defined -- ########################################################################## -- ########################################################################## -- ======================================================= DECLARE -- Inner block for utility function/variable usage -- aka 'user' declarations -- ======================================================= cdef CMPClassDefinition := null; psdef CMPPropertySetDefinition := null; pdef CMPPropertyDefinition := null; adef CMPArrayType := null; datatypeId NUMBER; platformId NUMBER; superClassId NUMBER; stringTypeId NUMBER; classDefId NUMBER; -- ======================================================= BEGIN -- start handling data types defined in up.xml -- ======================================================= -- up.xml-> platformId := getPlatformIdByName('GENERIC'); -- up.xml-> superClassId := getClassIdByName(platformId,'oracle.wh.repos.impl.properties.CMPPurePhysicalObject'); cdef := newCMPClassDefinition( 'PACKAGE_SPEC_BODY_VALUE', --logicalName 'oracle.wh.repos.impl.functional.CMPPackageSpecBodyValue', --name '04964f9dd0baa8223aa505bb0e2bb5cd', --metadataSignature platformId, --owningModel platformId, --owningFolder 'oracle.wh.repos.impl.functional', --packageName 'oracle.wh.repos.impl.functional.CMPPackageSpecBodyValue', --publicClassName superClassId --superClass ); AddCMPClassDefinition(cdef); --Add CORE:DEFAULT property set for ClassDefinition psdef := newCMPPropertySetDefinition( null, --description 'CORE:DEFAULT', --logicalName 'd1dd180b60e258c23b94c055af073d3e', --metadataSignature 'CORE:DEFAULT', --name cdef.ELEMENTID, --firstClassObject PROPERTYTYPE_CORE, --propertyType cdef.ELEMENTID, --owningClassDefinition null ); AddCMPPropertySetDefinition(psdef); -- up.xml-> psdef := newCMPPropertySetDefinition( 'DEFAULT', --description '1:8i.PACKAGE_BODY_SPEC_VALUES:0', --logicalName 'bc29dd4b90da184744ef6e5ab2f19305', --metadataSignature 'LOGICAL:DEFAULT', --name cdef.ELEMENTID, --firstClassObject PROPERTYTYPE_LOGICAL, --propertyType cdef.ELEMENTID, --owningClassDefinition null ); AddCMPPropertySetDefinition(psdef); -- up.xml-> stringTypeId := getStringDatatypeId(); pdef := newCMPPropertyDefinition( 'CMPPackageSpecBodyValue.Property.SCRIPT', --definitionKey 'SCRIPT', --name 'bf730a6eba2402b3d917da944ffbc79e', --metadataSignature cdef.ELEMENTID, --firstClassObject 0, --position '1', --contributeToSignature PROPERTYTYPE_LOGICAL, --propertyTypeId stringTypeId, --dataTypeId null, --propertyGroupId psdef.ELEMENTID --propertySetId ); pdef.HIDDEN := '1'; Pdef.DESCRIPTION := 'CMPPackageSpecBodyValue.Property.SCRIPT'; AddCMPPropertyDefinition(pdef); -- up.xml-> pdef := newCMPPropertyDefinition( 'CMPPackageSpecBodyValue.Property.OBJECT_TYPE', --definitionKey 'OBJECT_TYPE', --name '1a135a656354faa6f5f7312bdbbd6948', --metadataSignature cdef.ELEMENTID, --firstClassObject 1, --position '1', --contributeToSignature PROPERTYTYPE_LOGICAL, --propertyTypeId stringTypeId, --dataTypeId null, --propertyGroupId psdef.ELEMENTID --propertySetId ); pdef.HIDDEN := '1'; Pdef.DESCRIPTION := 'CMPPackageSpecBodyValue.Property.OBJECT_TYPE'; AddCMPPropertyDefinition(pdef); -- up.xml-> pdef := newCMPPropertyDefinition( 'CMPPackageSpecBodyValue.Property.LANGUAGE', --definitionKey 'LANGUAGE', --name '2d9a833c0f41deb76a52a6f57afa0057', --metadataSignature cdef.ELEMENTID, --firstClassObject 2, --position '1', --contributeToSignature PROPERTYTYPE_LOGICAL, --propertyTypeId stringTypeId, --dataTypeId null, --propertyGroupId psdef.ELEMENTID --propertySetId ); pdef.HIDDEN := '1'; Pdef.DESCRIPTION := 'CMPPackageSpecBodyValue.Property.LANGUAGE'; AddCMPPropertyDefinition(pdef); -- up.xml-> pdef := newCMPPropertyDefinition( 'CMPPackageSpecBodyValue.Property.ROLE', --definitionKey 'ROLE', --name '46e415e3867b80581dc4eedb21c19337', --metadataSignature cdef.ELEMENTID, --firstClassObject 3, --position '1', --contributeToSignature PROPERTYTYPE_LOGICAL, --propertyTypeId stringTypeId, --dataTypeId null, --propertyGroupId psdef.ELEMENTID --propertySetId ); pdef.HIDDEN := '1'; Pdef.DESCRIPTION := 'CMPPackageSpecBodyValue.Property.ROLE'; AddCMPPropertyDefinition(pdef); -- up.xml-> pdef := newCMPPropertyDefinition( 'CMPPackageSpecBodyValue.Property.ASSOCIATED_UOID', --definitionKey 'ASSOCIATED_UOID', --name '33705465e70561d8fdfb3c70acdb74c4', --metadataSignature cdef.ELEMENTID, --firstClassObject 4, --position '1', --contributeToSignature PROPERTYTYPE_LOGICAL, --propertyTypeId stringTypeId, --dataTypeId null, --propertyGroupId psdef.ELEMENTID --propertySetId ); pdef.HIDDEN := '1'; Pdef.DESCRIPTION := 'CMPPackageSpecBodyValue.Property.ASSOCIATED_UOID'; AddCMPPropertyDefinition(pdef); -- up.xml-> name='oracle.wh.repos.impl.functional.CMPFunctionCategory' -- up.xml-> extends='oracle.wh.repos.impl.configuration.CMPConfigurable' -- up.xml-> implements='oracle.wh.repos.sdk.WBFunctionCategory, oracle.wh.repos.impl.mls.CMPMLSTranslatable, oracle.wh.repos.impl.component.Folder, oracle.wh.repos.impl.derivation.CMPDerivationSourceFCO, oracle.wh.repos.sdk.extended.WBExtensible' -- up.xml-> > classDefId := getClassIdByName(platformId,'oracle.wh.repos.impl.functional.CMPFunctionCategory'); -- up.xml-> Position='1' -- up.xml-> definitionKey='PACKAGEBODYSPEC' -- up.xml-> name='PACKAGE_BODY_SPEC' -- up.xml-> propertyType='logical' -- up.xml-> > psdef := newCMPPropertySetDefinition( 'PACKAGE_BODY_SPEC', --description '1:PACKAGEBODYSPEC:0', --logicalName '6dc3487d59b928791123735e49e3b7c7', --metadataSignature 'LOGICAL:DEFAULT', --name classDefId, --firstClassObject PROPERTYTYPE_LOGICAL, --propertyType classDefId, --owningClassDefinition null ); AddCMPPropertySetDefinition(psdef); -- up.xml-> Position='0' -- up.xml-> cardinality='0:n' -- up.xml-> definitionKey='PACKAGE_BODY_SPEC.PACKAGE_BODY' -- up.xml-> name='PACKAGE_BODY' -- up.xml-> targetClass='oracle.wh.repos.impl.functional.CMPPackageSpecBodyValue' -- up.xml-> isHidden='true' -- up.xml-> isPublishedToPublicApi='false' -- up.xml-> > -- up.xml-> -- Add the ArrayType for reference property adef := newCMPArrayType( 'oracle.wh.repos.impl.functional.CMPPackageSpecBodyValue[]', --logicalName 'a88934b9db336e2b7a67ed9d1b57313d', --metadataSignature 'oracle.wh.repos.impl.functional.CMPPackageSpecBodyValue[]', --name platformId, --owningModel platformId, --owningFolder 'OMB//\oracle.wh.repos.impl.platform.CMPPlatform\GENERIC\oracle.wh.repos.impl.metaModel.CMPClassDefinition\oracle.wh.repos.impl.functional.CMPPackageSpecBodyValue', --baseElementTypeFqn cdef --baseType ); AddCMPArrayType(adef); -- Add PropertyDefinition pdef := newCMPPropertyDefinition( 'PACKAGE_BODY_SPEC.PACKAGE_BODY', --definitionKey 'PACKAGE_BODY', --name 'd783f42c414307e68cf89fbab1c7d71a', --metadataSignature classDefId, --firstClassObject 10, --position '1', --contributeToSignature PROPERTYTYPE_LOGICAL, --propertyTypeId adef.ELEMENTID, --dataTypeId null, --propertyGroupId psdef.ELEMENTID --propertySetId ); pdef.HIDDEN := '1'; Pdef.DESCRIPTION := 'PACKAGE_BODY_SPEC.PACKAGE_BODY'; AddCMPPropertyDefinition(pdef); -- up.xml-> Position='1' -- up.xml-> cardinality='0:n' -- up.xml-> definitionKey='PACKAGE_BODY_SPEC.PACKAGE_SPEC' -- up.xml-> name='PACKAGE_SPEC' -- up.xml-> targetClass='oracle.wh.repos.impl.functional.CMPPackageSpecBodyValue' -- up.xml-> isHidden='true' -- up.xml-> isPublishedToPublicApi='false' -- up.xml-> > -- up.xml-> pdef := newCMPPropertyDefinition( 'PACKAGE_BODY_SPEC.PACKAGE_SPEC', --definitionKey 'PACKAGE_SPEC', --name '6f166497f6a36eb7f9633d6a30ac4675', --metadataSignature classDefId, --firstClassObject 11, --position '1', --contributeToSignature PROPERTYTYPE_LOGICAL, --propertyTypeId adef.ELEMENTID, --dataTypeId null, --propertyGroupId psdef.ELEMENTID --propertySetId ); pdef.HIDDEN := '1'; Pdef.DESCRIPTION := 'PACKAGE_BODY_SPEC.PACKAGE_SPEC'; AddCMPPropertyDefinition(pdef); -- ======================================================= END; -- Inner block for utility function/variable usage -- ======================================================= -- ########################################################################## END; -- Outer block for utility functions/variables -- ########################################################################## /