You can subscribe to this list here.
| 2005 |
Jan
|
Feb
(1) |
Mar
(45) |
Apr
(150) |
May
(145) |
Jun
(150) |
Jul
(79) |
Aug
(313) |
Sep
(160) |
Oct
(309) |
Nov
(115) |
Dec
(60) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(160) |
Feb
(144) |
Mar
(127) |
Apr
(48) |
May
(102) |
Jun
(54) |
Jul
(245) |
Aug
(94) |
Sep
(152) |
Oct
(162) |
Nov
(166) |
Dec
(740) |
| 2007 |
Jan
(752) |
Feb
(437) |
Mar
(328) |
Apr
(373) |
May
(569) |
Jun
(399) |
Jul
(369) |
Aug
(627) |
Sep
(100) |
Oct
(306) |
Nov
(166) |
Dec
(282) |
| 2008 |
Jan
(68) |
Feb
(145) |
Mar
(180) |
Apr
(160) |
May
(277) |
Jun
(229) |
Jul
(1188) |
Aug
(51) |
Sep
(97) |
Oct
(99) |
Nov
(95) |
Dec
(170) |
| 2009 |
Jan
(39) |
Feb
(73) |
Mar
(120) |
Apr
(121) |
May
(104) |
Jun
(262) |
Jul
(57) |
Aug
(171) |
Sep
(131) |
Oct
(88) |
Nov
(64) |
Dec
(83) |
| 2010 |
Jan
(55) |
Feb
(67) |
Mar
(124) |
Apr
(64) |
May
(130) |
Jun
(75) |
Jul
(164) |
Aug
(64) |
Sep
(44) |
Oct
(17) |
Nov
(43) |
Dec
(31) |
| 2011 |
Jan
(21) |
Feb
(10) |
Mar
(43) |
Apr
(46) |
May
(52) |
Jun
(71) |
Jul
(7) |
Aug
(16) |
Sep
(51) |
Oct
(14) |
Nov
(33) |
Dec
(15) |
| 2012 |
Jan
(12) |
Feb
(61) |
Mar
(129) |
Apr
(76) |
May
(70) |
Jun
(52) |
Jul
(29) |
Aug
(41) |
Sep
(32) |
Oct
(23) |
Nov
(38) |
Dec
(26) |
| 2013 |
Jan
(35) |
Feb
(37) |
Mar
(51) |
Apr
(15) |
May
(52) |
Jun
(15) |
Jul
(23) |
Aug
(21) |
Sep
(46) |
Oct
(69) |
Nov
(57) |
Dec
(26) |
| 2014 |
Jan
(5) |
Feb
(13) |
Mar
(17) |
Apr
(1) |
May
(5) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(16) |
Nov
(8) |
Dec
(4) |
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
|
From: Wolfgang T. <ta...@us...> - 2005-08-16 15:25:01
|
Update of /cvsroot/sblim/wbemsmt-tools-wizard-framework/org/sblim/wbemsmt/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12525/org/sblim/wbemsmt/tools Log Message: Directory /cvsroot/sblim/wbemsmt-tools-wizard-framework/org/sblim/wbemsmt/tools added to the repository |
|
From: Wolfgang T. <ta...@us...> - 2005-08-16 15:25:00
|
Update of /cvsroot/sblim/wbemsmt-tools-wizard-framework/org/sblim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12525/org/sblim Log Message: Directory /cvsroot/sblim/wbemsmt-tools-wizard-framework/org/sblim added to the repository |
|
From: Wolfgang T. <ta...@us...> - 2005-08-16 15:24:59
|
Update of /cvsroot/sblim/wbemsmt-tools-wizard-framework/org In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12525/org Log Message: Directory /cvsroot/sblim/wbemsmt-tools-wizard-framework/org added to the repository |
|
From: Wolfgang T. <ta...@us...> - 2005-08-16 15:23:32
|
Update of /cvsroot/sblim/wbemsmt-tools-wizard-framework In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12092/wbemsmt-tools-wizard-framework Log Message: Directory /cvsroot/sblim/wbemsmt-tools-wizard-framework added to the repository |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 16:11:02
|
Update of /cvsroot/sblim/ecute/bender In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31463/bender Removed Files: Cisco_Job.mof Cisco_LogicalElementSubclasses.mof Cisco_Qualifiers.mof Cisco_LogicalPhysicalCore.mof Log Message: fixed aggregate qualifier for the export --- Cisco_LogicalPhysicalCore.mof DELETED --- --- Cisco_LogicalElementSubclasses.mof DELETED --- --- Cisco_Job.mof DELETED --- --- Cisco_Qualifiers.mof DELETED --- |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 16:10:58
|
Update of /cvsroot/sblim/ecute In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31463 Modified Files: ToDo.txt QualifiersList.txt .classpath Added Files: old_QualifiersList.txt Log Message: fixed aggregate qualifier for the export Index: .classpath =================================================================== RCS file: /cvsroot/sblim/ecute/.classpath,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- .classpath 12 May 2005 15:09:48 -0000 1.14 +++ .classpath 11 Aug 2005 16:10:49 -0000 1.15 @@ -2,40 +2,40 @@ <classpath> <classpathentry kind="src" path="Plugin"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/xtoolsui.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/common.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/commonuiproperties.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/ecore.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/ecore.xmi.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/emfmsl.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/emfquery.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/forms.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/ide.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/jface.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/modeler.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/modelerviews.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/modelerwizards.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/mslcore.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/notation.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/osgi.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/presentation.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/properties.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/qname.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/resources.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/runtime.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/swt.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/ui.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/uml2.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/uml2msl.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/umlcore.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/umldiagram.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/umlnotation.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/umlui.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/workbench.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/wsdl4j.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/xsd.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/xsd.resources.jar"/> - <classpathentry kind="lib" path="D:/rsa-ecute-jars/xtoolscore.jar"/> - <classpathentry kind="lib" path="D:/jacob/jacob_1.8/jacob.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/xtoolsui.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/common.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/commonuiproperties.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/ecore.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/ecore.xmi.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/emfmsl.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/emfquery.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/forms.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/ide.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/jface.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/modeler.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/modelerviews.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/modelerwizards.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/mslcore.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/notation.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/osgi.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/presentation.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/properties.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/qname.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/resources.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/runtime.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/swt.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/ui.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/uml2.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/uml2msl.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/umlcore.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/umldiagram.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/umlnotation.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/umlui.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/workbench.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/wsdl4j.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/xsd.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/xsd.resources.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/rsa-ecute-jars/xtoolscore.jar"/> + <classpathentry kind="lib" path="C:/bender/ecute/ecute libraries/jacob_1.8/jacob.jar"/> <classpathentry kind="output" path="bin"/> </classpath> Index: ToDo.txt =================================================================== RCS file: /cvsroot/sblim/ecute/ToDo.txt,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- ToDo.txt 19 May 2005 14:53:26 -0000 1.11 +++ ToDo.txt 11 Aug 2005 16:10:49 -0000 1.12 @@ -519,7 +519,7 @@ 1. Implementation of the Qualifier-Inheritance. Already done is inheritance of Min, Max and Aggregate. Inheritance of all other Qualfiers are left. 9. RSAParser - 1. Problem: The direkt mapped qualifiers of type boolean will always set in case of true default, respectively will never set in case of false default. Because of their direct mapping you can not differ if they were state explicitly or by default. + 1. Problem: The direct mapped qualifiers of type boolean will always set in case of true default, respectively will never set in case of false default. Because of their direct mapping you can not differ if they were state explicitly or by default. The concerned qualifers are: Octetstring, Out, Static, Write The In qualifier is not concerned because he should be always stated. 2. Problem: The Min, Max, Key and Aggregate qualifiers should only be set if they are not stated in the superclass. --- NEW FILE: old_QualifiersList.txt --- #CRMTooling Qualifiers list file #Mon Jul 18 16:06:40 CEST 2005 Abstract=boolean,false, class association indication, Restricted Aggregate=boolean,false, reference, DissableOverride Aggregation=boolean,false, association, DissableOverride Association=boolean,false, class, DissableOverride Composition=boolean,false, association, DissableOverride ArrayType=string,Bag, property parameter, DissableOverride Deprecated=string [],nnuullll, class association indication property method parameter reference, Restricted Description=string,nnuullll, class association indication property method parameter reference, TranslatableFlavor In=boolean,true, parameter, DissableOverride Out=boolean,false, parameter, DissableOverride Key=boolean,false, property reference, DissableOverride Max=uint32,nnuullll, reference, Min=uint32,0, reference, Octetstring=boolean,false, property method parameter, DissableOverride Static=boolean,false, property method, DissableOverride Write=boolean,false, property, Override=string,nnuullll, property method reference, DissableOverride Index: QualifiersList.txt =================================================================== RCS file: /cvsroot/sblim/ecute/QualifiersList.txt,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- QualifiersList.txt 14 Feb 2005 17:38:06 -0000 1.9 +++ QualifiersList.txt 11 Aug 2005 16:10:49 -0000 1.10 @@ -1,74 +1,51 @@ #CRMTooling Qualifiers list file -#Mon Feb 14 15:56:57 CET 2005 -Revision=string,nnuullll, class association indication, TranslatableFlavor -UnknownValues=string [],nnuullll, property, DissableOverride -Version=string,nnuullll, class association indication, Restricted TranslatableFlavor -Required=boolean,false, property parameter reference, DissableOverride -Units=string,nnuullll, property method parameter, TranslatableFlavor -Aggregate=boolean,false, reference, DissableOverride -NullValue=string,nnuullll, property, DissableOverride -IBM_HasInstances=boolean,false, class association, Restricted -Max=uint32,nnuullll, reference, -Abstract=boolean,false, class association indication, Restricted +#Thu Aug 11 16:33:14 CEST 2005 +Counter=boolean,false, property method parameter, +EmbeddedEntity=string,nnuullll, property method parameter, DissableOverride +In=boolean,true, parameter, DissableOverride +TestQualifier_EO=string,nnuullll, class association indication property method parameter reference, +BitValues=string [],nnuullll, property method parameter, TranslatableFlavor +Key=boolean,false, property reference, DissableOverride +TestQualifier_R=string,nnuullll, class association indication property method parameter reference, Restricted Gauge=boolean,false, property method parameter, -Propagated=string,nnuullll, property, DissableOverride -Deprecated=string [],nnuullll, class association indication property method parameter reference, Restricted -Values=string [],nnuullll, property method parameter, TranslatableFlavor -SourceType=string,nnuullll, class association indication reference, -EmbeddedInstance=string [],nnuullll, property method parameter, DissableOverride -TriggerType=string,nnuullll, class association indication property method reference, -ArrayType=string,Bag, property parameter, DissableOverride -DisplayName=string,nnuullll, class association indication property method parameter reference, TranslatableFlavor -Large=boolean,false, class property, +Max=uint32,nnuullll, reference, Static=boolean,false, property method, DissableOverride +BitMap=string [],nnuullll, property method parameter, +OCL=string [],nnuullll, class association indication method, +MinLen=uint32,0, property method parameter, +Read=boolean,true, property, +Description=string,nnuullll, class association indication property method parameter reference, TranslatableFlavor +Aggregate=boolean,false, reference, DissableOverride +Override=string,nnuullll, property method parameter reference, Restricted +TestQualifier_DO=string,nnuullll, class association indication property method parameter reference, DissableOverride +IntervalOnly=boolean,false, property method parameter, DissableOverride Terminal=boolean,false, class association indication, -Ifdeleted=boolean,false, association reference, -SyntaxType=string,nnuullll, property method parameter reference, -Indication=boolean,false, class indication, DissableOverride +ValueMap=string [],nnuullll, property method parameter, +Out=boolean,false, parameter, DissableOverride +Correlatable=string [],nnuullll, property, DissableOverride +Values=string [],nnuullll, property method parameter, TranslatableFlavor +Composition=boolean,false, association, DissableOverride +Aggregation=boolean,false, association, DissableOverride MappingStrings=string [],nnuullll, class association indication property method parameter reference, -Expensive=boolean,false, class association indication property method parameter reference, MaxLen=uint32,nnuullll, property method parameter, -IBM_HasProvider=boolean,false, class association, Restricted -Exception=boolean,false, class indication, DissableOverride -Aggregation=boolean,false, association, DissableOverride -Description=string,nnuullll, class association indication property method parameter reference, TranslatableFlavor -CorrelatableNames=string [],nnuullll, property, DissableOverride -ValueMap=string [],nnuullll, property method parameter, -Counter=boolean,false, property method parameter, -DN=boolean,false, property method parameter, DissableOverride -BitValues=string [],nnuullll, property method parameter, TranslatableFlavor -In=boolean,true, parameter, DissableOverride -Schema=string,nnuullll, property method, DissableOverride TranslatableFlavor -Key=boolean,false, property reference, DissableOverride -UnsupportedValues=string [],nnuullll, property, DissableOverride -Obsolete=boolean,false, class association indication property method parameter reference, Restricted -CrossIndexedArrays=string,nnuullll, property parameter, DissableOverride -Provider=string,nnuullll, class association indication property method parameter reference, -Read=boolean,true, property, -MinLen=uint32,0, property method parameter, -MaxValue=sint64,nnuullll, property method parameter, -Octetstring=boolean,false, property method parameter, DissableOverride -Invisible=boolean,false, class association property method reference, +Experimental=boolean,false, class association indication property method parameter reference, Restricted MinValue=sint64,nnuullll, property method parameter, -IBM_ImplementationType=String,NotSupported, property method, Restricted -Association=boolean,false, association, DissableOverride -Weak=boolean,false, reference, DissableOverride -NonlocalType=string,nnuullll, reference, +Deprecated=string [],nnuullll, class association indication property method parameter reference, Restricted ModelCorrespondence=string [],nnuullll, class association indication property method parameter reference, -Experimental=boolean,false, class association indication property method parameter reference, Restricted -PropertyUsage=string,CurrentContext, property, -BitMap=string [],nnuullll, property method parameter, +CrossIndexedArrays=string,nnuullll, property parameter, DissableOverride +Min=uint32,0, reference, +Units=string,nnuullll, property method parameter, TranslatableFlavor +ProposedChange=string [],nnuullll, class association indication property method parameter reference, Restricted +ArrayType=string,Bag, property parameter, DissableOverride +ObjectRef=boolean,false, property method parameter, DissableOverride +Indication=boolean,false, class indication, DissableOverride +MaxValue=sint64,nnuullll, property method parameter, +UnknownValues=string [],nnuullll, property parameter, DissableOverride Patterns=string [],nnuullll, property method parameter, -Source=string,nnuullll, class association indication, -Nonlocal=string,nnuullll, reference, -Out=boolean,false, parameter, DissableOverride +Version=string,nnuullll, class association indication, Restricted TranslatableFlavor +Required=boolean,false, property reference, DissableOverride +ComplexData=boolean,false, indication, DissableOverride Write=boolean,false, property, -Alias=string,nnuullll, property method reference, TranslatableFlavor -IntervalOnly=boolean,false, property parameter, DissableOverride -Delete=boolean,false, association reference, -Min=uint32,0, reference, -Union=string,nnuullll, property parameter reference, DissableOverride -Syntax=string,nnuullll, property method parameter reference, -Composition=boolean,false, association, DissableOverride -Override=string,nnuullll, property method reference, DissableOverride -EmbeddedObject=boolean,false, property method parameter, DissableOverride +Association=boolean,false, association, DissableOverride +Octetstring=boolean,false, property method parameter, DissableOverride +Abstract=boolean,false, class association indication, Restricted |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 16:10:58
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31463/Plugin/com/ibm/ecute/rsa/core/internal/properties Modified Files: FlavorsHelper.java Log Message: fixed aggregate qualifier for the export Index: FlavorsHelper.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/FlavorsHelper.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- FlavorsHelper.java 10 Aug 2005 17:26:00 -0000 1.10 +++ FlavorsHelper.java 11 Aug 2005 16:10:49 -0000 1.11 @@ -528,7 +528,7 @@ ((Class)parentClasses.get(i)).getOwnedAttribute(property.getName()) != null){ return ((Class)parentClasses.get(i)).getOwnedAttribute(property.getName()); } - if(property.getOwner() instanceof AssociationClass && + if(property.getOwner() instanceof AssociationClass && parentClasses.get(i) instanceof AssociationClass && ((AssociationClass)parentClasses.get(i)).getOwnedEnd(property.getName()) != null){ return ((AssociationClass)parentClasses.get(i)).getOwnedEnd(property.getName()); } @@ -1411,7 +1411,7 @@ } return "false"; } else { - return null; + return "false"; } } @@ -1428,7 +1428,7 @@ } return "false"; } else { - return null; + return "false"; } } @@ -1743,6 +1743,7 @@ if(removed){ int index = applicableQualifiers.size()-1; applicableQualifiers.remove(index); + removed = false; } boolean isComposition = false; @@ -1751,8 +1752,9 @@ int maxValue = -1; for(int i = 0; i < applicableQualifiers.size(); i++){ - if(isNativeMappedQualifier((Qualifier)applicableQualifiers.get(i))){ - String qualifierName = ((Qualifier)applicableQualifiers.get(i)).name; + Qualifier thisQualifier = (Qualifier)applicableQualifiers.get(i); + if(isNativeMappedQualifier(thisQualifier)){ + String qualifierName = thisQualifier.name; String qualifierValue = null; if(effectiveInheritedValue(element, qualifierName) != null){ qualifierValue = effectiveInheritedValue(element, qualifierName).getValue(); @@ -1777,7 +1779,7 @@ isComposition = true; } else if(qualifierValue != null && qualifierName.equalsIgnoreCase("Aggregation") - && isComposition){ + && (isComposition || qualifierValue(element, thisQualifier).equalsIgnoreCase("true"))){ continue; } |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 16:10:58
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/funcionality In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31463/Plugin/com/ibm/ecute/plugins/output/funcionality Modified Files: mofCreator.java Log Message: fixed aggregate qualifier for the export Index: mofCreator.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/funcionality/mofCreator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- mofCreator.java 11 Aug 2005 10:55:48 -0000 1.5 +++ mofCreator.java 11 Aug 2005 16:10:49 -0000 1.6 @@ -735,6 +735,10 @@ case LINE : case BLANK : case OTHER : + String tempString = subString.substring(pointer); + if(tempString.length() == 1 && tempString.equalsIgnoreCase("}")){ + isString = false; + } if (isString) { subString = subString.substring(0, pointer) |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 16:10:58
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/UMLBuffer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31463/Plugin/com/ibm/ecute/UMLBuffer Modified Files: UMLBuffer.java Log Message: fixed aggregate qualifier for the export Index: UMLBuffer.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/UMLBuffer/UMLBuffer.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- UMLBuffer.java 25 Jul 2005 07:57:18 -0000 1.13 +++ UMLBuffer.java 11 Aug 2005 16:10:49 -0000 1.14 @@ -25,6 +25,7 @@ import org.eclipse.core.runtime.IProgressMonitor; +import com.ibm.ecute.EntryPoint; import com.ibm.ecute.UMLBuffer.UMLTree.UMLAttribute; import com.ibm.ecute.UMLBuffer.UMLTree.UMLClass; import com.ibm.ecute.UMLBuffer.UMLTree.UMLFile; @@ -36,6 +37,7 @@ import com.ibm.ecute.plugins.ProgressFrame; import com.ibm.ecute.plugins.output.UMLInterface; import com.ibm.ecute.plugins.output.funcionality.RSAModelCreator; +import com.ibm.ecute.plugins.output.funcionality.mofCreator; import com.ibm.ecute.utils.License; import com.ibm.ecute.utils.Utils; public class UMLBuffer implements UMLInterface { @@ -527,7 +529,7 @@ ArrayList qualifiers = qualifiedElement.getQualifiers(!completeClasses); for (int i = 0; i < qualifiers.size(); i++) { UMLQualifier theQualifier = (UMLQualifier) qualifiers.get(i); - // RSA + // RSA import if (UMLProgram instanceof RSAModelCreator){ // if the aggregation/composition is defined in the second role of a association class // then the qualifiers have to be added to the other end of the association @@ -542,7 +544,8 @@ UMLProgram.SetQualifier(qualifiedElement.getType(), theQualifier.name, theQualifier.value); } - // ROSE + + // ROSE & RSA Export } else { UMLProgram.SetQualifier(qualifiedElement.getType(), theQualifier.name, theQualifier.value); @@ -648,6 +651,53 @@ role2.name, role1.endPointName, role1.name, RclassDiagram); } + //TODO + // RSA export + } else if (UMLProgram instanceof mofCreator && EntryPoint.isRunningFromEclipse()){ + if(role1.getType() == TLINK1 && + (theClass.getQualifier("Aggregation", true) != null || + theClass.getQualifier("Composition", true) != null)){ + + ArrayList oldQualifiersList = new ArrayList(role2.getQualifiers(true)); + + ArrayList newQualifiersList = new ArrayList(); + newQualifiersList.add(new UMLQualifier("Aggregate", "true")); + + for(int i = 0; i < oldQualifiersList.size(); i++){ + UMLQualifier thisQualifier = (UMLQualifier)oldQualifiersList.get(i); + role2.removeQualifier(thisQualifier.name); + newQualifiersList.add(thisQualifier); + } + + for(int i = 0; i < newQualifiersList.size(); i++){ + role2.addQualifier((UMLQualifier)newQualifiersList.get(i)); + } + } + + if(role2.getType() == TLINK1 && + (theClass.getQualifier("Aggregation", true) != null || + theClass.getQualifier("Composition", true) != null)){ + + ArrayList oldQualifiersList = new ArrayList(role1.getQualifiers(true)); + + ArrayList newQualifiersList = new ArrayList(); + newQualifiersList.add(new UMLQualifier("Aggregate", "true")); + + for(int i = 0; i < oldQualifiersList.size(); i++){ + UMLQualifier thisQualifier = (UMLQualifier)oldQualifiersList.get(i); + role1.removeQualifier(thisQualifier.name); + newQualifiersList.add(thisQualifier); + } + + for(int i = 0; i < newQualifiersList.size(); i++){ + role1.addQualifier((UMLQualifier)newQualifiersList.get(i)); + } + } + + result = UMLProgram.AddAssociation(role1.endPointName, + role1.name, role2.endPointName, role2.name, RclassDiagram); + + // ROSE } else { result = UMLProgram.AddAssociation(role1.endPointName, |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 16:10:58
|
Update of /cvsroot/sblim/ecute/rsaConfig In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31463/rsaConfig Modified Files: mofInput.config mofOutput.config Log Message: fixed aggregate qualifier for the export Index: mofInput.config =================================================================== RCS file: /cvsroot/sblim/ecute/rsaConfig/mofInput.config,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- mofInput.config 23 Jun 2005 08:17:00 -0000 1.14 +++ mofInput.config 11 Aug 2005 16:10:49 -0000 1.15 @@ -1,17 +1,17 @@ #ECUTE -#Tue Jun 14 17:13:55 CEST 2005 +#Thu Aug 11 18:06:25 CEST 2005 RSAOutputLayout=true RSAOutputProjectLocation=C\:\\katz\\eclipse\\runtime-workbench-workspace\\test inputPluginEnableRSA=false -RSAOutputModelDestination=C\:\\Documents and Settings\\Administrator\\IBM\\rationalsdp6.0\\runtime-workbench-workspace\\cisco\\test1.emx +RSAOutputModelDestination=C\:\\Documents and Settings\\Administrator\\IBM\\rationalsdp6.0\\runtime-workbench-workspace\\cisco_test\\imported_model.emx outputPluginEnableCMPIProvider=false RSAOutputQualifiers=true RSAOutputExistingModel=false outputPluginEnableRSA=true -RSAOutputModelName=test1 -inputPluginEnableRoseREI=false +RSAOutputModelName=imported_model +CIMMOFInputImportedMOFFiles=C\:\\Documents and Settings\\Administrator\\My Documents\\testOutputMOF\\test_input\\Cisco_Qualifiers.mof|C\:\\Documents and Settings\\Administrator\\My Documents\\testOutputMOF\\test_input\\Cisco_Job.mof|C\:\\Documents and Settings\\Administrator\\My Documents\\testOutputMOF\\test_input\\Cisco_LogicalElementSubclasses.mof|C\:\\Documents and Settings\\Administrator\\My Documents\\testOutputMOF\\test_input\\Cisco_LogicalPhysicalCore.mof inputPluginEnableCIMMOF=true -CIMMOFInputImportedMOFFiles=C\:\\Documents and Settings\\Administrator\\My Documents\\MOF\\Core_CoreElements.mof|C\:\\Documents and Settings\\Administrator\\My Documents\\MOF\\Cisco_Job.mof|C\:\\Documents and Settings\\Administrator\\My Documents\\MOF\\Cisco_LogicalElementSubclasses.mof|C\:\\Documents and Settings\\Administrator\\My Documents\\MOF\\Cisco_LogicalPhysicalCore.mof|C\:\\Documents and Settings\\Administrator\\My Documents\\MOF\\Cisco_Qualifiers.mof -RSAOutputReplace=false +inputPluginEnableRoseREI=false outputPluginEnableRoseREI=false +RSAOutputReplace=false outputPluginEnableCIMMOF=false Index: mofOutput.config =================================================================== RCS file: /cvsroot/sblim/ecute/rsaConfig/mofOutput.config,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- mofOutput.config 23 Jun 2005 08:17:00 -0000 1.7 +++ mofOutput.config 11 Aug 2005 16:10:49 -0000 1.8 @@ -1,16 +1,16 @@ #ECUTE -#Wed Jun 22 17:53:39 CEST 2005 -CIMMOFOutputPath=C\:\\Documents and Settings\\Administrator\\My Documents\\testGenMOF\\ +#Thu Aug 11 18:05:24 CEST 2005 +CIMMOFOutputPath=C\:\\Documents and Settings\\Administrator\\My Documents\\testOutputMOF\\test_input\\ inputPluginEnableRSA=true CIMMOFOutputCompleteClasses=false outputPluginEnableCMPIProvider=false -RSAInputAllPackages=false -RSAInputModel=C\:\\Documents and Settings\\Administrator\\IBM\\rationalsdp6.0\\runtime-workbench-workspace\\cisco\\test1.emx -RSAInputSelectedPackages=_-lpwAdzmEdmAFMHJ-xtxjA +RSAInputAllPackages=true +RSAInputModel=C\:\\Documents and Settings\\Administrator\\IBM\\rationalsdp6.0\\runtime-workbench-workspace\\cisco_test\\original_model.emx +RSAInputSelectedPackages= outputPluginEnableRSA=false -inputPluginEnableRoseREI=false inputPluginEnableCIMMOF=false +inputPluginEnableRoseREI=false CIMMOFOutputOutputcompleteClasses=false outputPluginEnableRoseREI=false -RSAInputincludeQualifiers=true outputPluginEnableCIMMOF=true +RSAInputincludeQualifiers=true |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 11:48:03
|
Update of /cvsroot/sblim/ecute/bender In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4605/bender Added Files: Cisco_Job.mof Cisco_LogicalElementSubclasses.mof Cisco_Qualifiers.mof Cisco_LogicalPhysicalCore.mof Log Message: --- NEW FILE: Cisco_LogicalPhysicalCore.mof --- // Base Classes of the CIM-CX Model // Classes in this file: Top, ManagedElement, Component, Dependency, // SeeAlso, Asset, PhysicalElement, SoftwareElement, // PhysicalPackage, Location, ElementLocation, // LogicalElement, AssetResultingElement // Date of Original Release: December 2003 // Change History: // July 15, 2004 // - Aligned with CIM V2.9 Preliminary and Inventory Schema // classes/properties added // December 15, 2004 // - Updated the CorrelatableName qualifier to correspond to the // DMTF definition (Becomes the Correlatable qualifier) // - Corrected the value of an 'unknown' date/time // - Updated and clarified several Descriptions // - Removed the ModelCorrespondence qualifier when // CrossIndexedArrays is defined, since the latter contains // more data regarding the correspondence // - Added Latitude, Longitude and Altitude data to Location // February 13, 2005 // - Fixed compile errors // - Replaced ModelCorrespondence on PhysicalPackage.NumberOf // SlotsWithModules with specific OCL // - Renamed and split the Cisco_Core MOF into the // LogicalPhysicalCore, Job and LogicalElementSubclasses MOFs for // improved import into Rose // February 21, 2005 // - Corrected MinValues (to be negative numbers) for Latitude // and Longitude properties in the Location class // - Added MinValue to Location.Altitude // - Added UnknownValues to Location.Latitude, Longitude and // Altitude // - Added OCL qualifier to the Location class // Copyright (c) 2004-2005, Cisco Systems Inc. #pragma locale ("en_US") // ================================================================== // Top // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Top of the inheritance tree.") ] class Cisco_Top { [Key, Required, Description ( "Opaque instance identifier. In order to create a " "multi-scoped ID, identifiers SHOULD be prefaced " "with a scoping name. The identifier takes the form, " "<scoping name>:<identifier within scope>. The " "<scoping name> SHOULD be a trademarked, registered, " "or copyrighted name for uniqueness in a multi-vendor " "environment. For example, an IOS system ID could " "take the form, \"IOS:<hardware id>\". Note that the " "first occurrence of a colon MUST be between the scoping " "name and identifier.") ] string InstanceID; [Description ( "Short description of the instance."), MappingStrings { "MOF.DMTF|CIM_ManagedElement.Description|2.8.1000"} ] string InstanceDescription; }; // ================================================================== // ManagedElement // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Top of the inheritance tree for non-association classes."), MappingStrings {"MOF.DMTF|CIM_ManagedElement|2.8.1000"} ] class Cisco_ManagedElement : Cisco_Top { [Description ( "A user-friendly name for the instance."), MappingStrings { "MOF.DMTF|CIM_ManagedElement.ElementName|2.8.1000"} ] string InstanceName; }; // ================================================================== // SeeAlso // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "Indicates different aspects of the same 'real world' thing. " "Instead of an association, this could be supported via " "multiple inheritance. This relationship is defined " "here as a basic mechanism for all environments."), MappingStrings {"MOF.DMTF|CIM_LogicalIdentity|2.8.1000"} ] class Cisco_SeeAlso : Cisco_Top { [Required, Description ("An aspect of the element."), MappingStrings { "MOF.DMTF|CIM_LogicalIdentity.SystemElement|2.8.1000"} ] Cisco_Top REF Aspect1; [Required, Description ("An aspect of the element."), MappingStrings { "MOF.DMTF|CIM_LogicalIdentity.SameElement|2.8.1000"} ] Cisco_Top REF Aspect2; }; // ================================================================== // Dependency // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "A generic 'usage' relationship."), MappingStrings {"MOF.DMTF|CIM_Dependency|2.8.1000"} ] class Cisco_Dependency : Cisco_Top { [Required, Description ("The independent element."), MappingStrings { "MOF.DMTF|CIM_Dependency.Antecedent|2.8.1000"} ] Cisco_Top REF Independent; [Required, Description ("The dependent element."), MappingStrings { "MOF.DMTF|CIM_Dependency.Dependent|2.8.1000"} ] Cisco_Top REF Dependent; }; // ================================================================== // Component // ================================================================== [Association, Aggregation, Version ("3.0.yyyymmdd"), Description ( "A generic whole-part relationship."), MappingStrings {"MOF.DMTF|CIM_Component|2.8.1000"} ] class Cisco_Component : Cisco_Top { [Aggregate, Required, Description ("The grouping element."), MappingStrings { "MOF.DMTF|CIM_Component.GroupComponent|2.8.1000"} ] Cisco_Top REF GroupComponent; [Required, Description ("The component element that is grouped."), MappingStrings { "MOF.DMTF|CIM_Component.PartComponent|2.8.1000"} ] Cisco_Top REF PartComponent; }; // ================================================================== // Asset // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Superclass for all hardware/software assets. Can define " "subcomponents of an asset using the Component relationship.") ] class Cisco_Asset : Cisco_ManagedElement { [Correlatable {"Cisco:AssetId:Manufacturer"}, Description ("Manufacturer/vendor of the asset."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.Manufacturer|2.8.1000", "MOF.DMTF|CIM_SoftwareIdentity.Manufacturer|2.8.1000"} ] string Manufacturer; [Required, Correlatable {"Cisco:AssetId:ProductName"}, Description ("Asset product name."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.Name|2.8.1000", "MOF.DMTF|CIM_SoftwareIdentity.Name|2.8.1000"} ] string ProductName; [Required, Correlatable {"Cisco:AssetId:ProductVersion"}, Description ("Asset version information."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.Version|2.8.1000", "MOF.DMTF|CIM_SoftwareIdentity.VersionString|2.8.1000"} ] string ProductVersion; [Description ( "Model, part or software image information for the asset."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.PartNumber|2.8.1000"} ] string PartOrImageID; [Correlatable {"Cisco:AssetId:SerialNumber"}, Description ("Asset serial number."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.SerialNumber|2.8.1000"} ] string SerialNumber; [UnknownValues {"00000101000000.000000+000"}, Description ( "The manufacturing/release date of the asset. Use a value of " "00000101000000.000000+000 (midnight, Jan 1, year 0, at " "+0 minutes) if this information is unknown."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.ManufactureDate|2.8.1000", "MOF.DMTF|CIM_SoftwareIdentity.ReleaseDate|2.8.1000"} ] datetime ManufacturedDate; }; // ================================================================== // PhysicalElement // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A hardware asset."), MappingStrings {"MOF.DMTF|CIM_PhysicalElement|2.8.1000"} ] class Cisco_PhysicalElement : Cisco_Asset { [Override ("InstanceDescription"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalDescr"} ] string InstanceDescription; [Override ("InstanceName"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalName"} ] string InstanceName; [Override ("ProductName"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalModel"} ] string ProductName; [Override ("Manufacturer"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalMfgName"} ] string Manufacturer; [Override ("ProductVersion"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalHardwareRev"} ] string ProductVersion; [Override ("PartOrImageID"), MappingStrings { "MIB.Cisco|CISCO-ENTITY-ASSET-MIB." "ceAssetOrderablePartNumber"} ] string PartOrImageID; [Override ("SerialNumber"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalSerialNumber", "MIB.Cisco|CISCO-ENTITY-ASSET-MIB." "ceAssetSerialNumber"} ] string SerialNumber; [Required, UnknownValues {"0"}, Description ( "Base classification of the physical element."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16.."}, Values {"Unknown", "Other", "Rack", "Chassis-Frame", "Cross Connect-Backplane", "Container-Slot", "Power Supply", "Fan", "Sensor", "Module-Card", "Port-Connector", "Battery", "Processor", "Memory", "Power Source-Generator", "Storage Media (Disk, Tape, Etc.)", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_PhysicalPackage.PackageType|2.8.1000", "MIB.IETF|ENTITY-MIB.entPhysicalClass"} ] uint8 PhysicalElementType; [Description ( "Boolean indicating whether the element can be FRU'ed " "(TRUE) or not (FALSE). The default value is FALSE."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.CanBeFRUed|2.8.1000", "MIB.IETF|ENTITY-MIB.entPhysicalIsFRU"} ] boolean CanBeFRUed = FALSE; [UnknownValues {"0"}, Description ( "Index from the SNMP MIB that is referenced at the corresponding " "position of the SNMPMIB array. For example, this might be the " "value of the Physical Index from the Entity MIB (where " "\"ENTITY-MIB\" is listed in the property, SNMPMIB)."), ArrayType ("Indexed"), CrossIndexedArrays ("SNMPPhysicalIndexInfo"), MappingStrings {"MIB.IETF|ENTITY-MIB.entPhysicalIndex"} ] uint32 SNMPPhysicalIndex[]; [Description ( "The name of the SNMP MIB whose index is reported at the " "corresponding position in the SNMPPhysicalIndex array. For " "example, this might hold the value, \"ENTITY-MIB\"."), ArrayType ("Indexed"), CrossIndexedArrays ("SNMPPhysicalIndexInfo") ] string SNMPMIB[]; [UnknownValues {"0"}, Description ( "Indicates whether the hardware is removable or not, " "and if removable, if it is hotswappable (indicated by the " "value 4, \"Removable with or without Power\")."), ValueMap {"0", "2", "3", "4"}, Values {"Unknown", "Not Removable", "Removable without Power", "Removable with or without Power"}, MappingStrings { "MOF.DMTF|CIM_PhysicalPackage.RemovalConditions|2.8.1000"} ] uint8 Removable; [Description ("A Cisco assigned asset ID, such as a PID."), MappingStrings { "MIB.Cisco|CISCO-ENTITY-ASSET-MIB.ceAssetCLEI"} ] string VendorAssetID; [Write, Description ( "A user assigned asset ID, such as a bar-coded asset tag."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.UserTracking|2.8.1000", "MIB.IETF|ENTITY-MIB.entPhysicalAssetID"} ] string UserAssetID; [Description ("Vendor specific manufacturing information."), MappingStrings { "MIB.Cisco|CISCO-ENTITY-ASSET-MIB.ceAssetMfgAssyNumber"} ] string AssemblyInfo; [Description ("Vendor specific assembly revision information."), MappingStrings { "MIB.Cisco|CISCO-ENTITY-ASSET-MIB.ceAssetMfgAssyRevision"} ] string AssemblyRevision; }; // ================================================================== // PhysicalPackage // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A specific hardware asset that is a package, containing " "other physical entities."), MappingStrings {"MOF.DMTF|CIM_PhysicalPackage|2.8.1000"}, OCL {"inv: self.NumberOfSlots >= self.NumberOfSlotsWithModules"} ] class Cisco_PhysicalPackage : Cisco_PhysicalElement { [Description ( "A string defining the vendor's classification of the " "physical element."), MappingStrings {"MOF.DMTF|CIM_PhysicalElement." "VendorEquipmentType|2.8.1000", "MIB.IETF|ENTITY-MIB.entPhysicalVendorType"} ] string VendorEquipmentType; [Write, Description ("User names for the package."), MappingStrings {"MIB.IETF|ENTITY-MIB.entPhysicalAlias"} ] string UserAliases[]; [UnknownValues {"-1"}, Description ("Number of slots in the element.") ] sint32 NumberOfSlots; [UnknownValues {"-1"}, Description ("Number of occupied slots in the element."), Gauge ] sint32 NumberOfSlotsWithModules; [UnknownValues {"-1"}, Description ("Number of ports on the element.") ] sint32 NumberOfCommunicationPorts; }; // ================================================================== // SoftwareElement // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A software asset."), MappingStrings {"MOF.DMTF|CIM_SoftwareIdentity|2.8.1000"} ] class Cisco_SoftwareElement : Cisco_Asset { [UnknownValues {"00000101000000.000000+000"}, Description ( "Time that the software was compiled/built. Use a value of " "00000101000000.000000+000 (midnight, Jan 1, year 0, at " "+0 minutes) if this information is unknown.") ] datetime BuildTime; [Description ( "A list of the operating systems on which this software " "can execute, if applicable. This property has no meaning " "for various types of software, such as BIOS/Fcode or " "operating systems themselves. In these cases, the array " "is left NULL. To determine if software can execute on a " "specific platform, that platform's OperatingSystem." "OSDetails property is compared against this value."), MappingStrings {"MOF.DMTF|CIM_SoftwareIdentity." "TargetOperatingSystems|2.8.1000"}, ModelCorrespondence {"Cisco_OperatingSystem.OSDetails"} ] string TargetOperatingSystems[]; [Required, UnknownValues {"0"}, Description ( "Defines a general classification for the software. For " "more specific information, see the corresponding array " "entry in the property, ClassificationDescriptions."), // Note that the value 6 is not used in the enumeration. It was // deprecated in the DMTF CIM definition. ValueMap {"0", "1", "2", "3", "4", "5", "7", "8", "9", "10", "11", "12", "13.."}, Values {"Unknown", "Other", "Driver", "Configuration Software", "Application Software", "Instrumentation", "Diagnostic Software", "Operating System", "Middleware", "Firmware", "BIOS/Fcode", "Support-Service Pack", "Reserved"}, MappingStrings { "MOF.DMTF|CIM_SoftwareIdentity.Classifications|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("SoftwareClassifications") ] uint8 Classifications[]; [Description ( "More information about the corresponding entry in the " "Classifications array."), MappingStrings {"MOF.DMTF|CIM_SoftwareIdentity." "ClassificationDescriptions|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("SoftwareClassifications") ] string ClassificationDescriptions[]; [Description ( "Each entry of this array defines a feature supported " "by the software. What is actually installed MAY be " "a subset of this list of features.") ] string FeatureSet[]; [UnknownValues {"0"}, Description ( "The types of software media available for this asset."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7.."}, Values {"Unknown", "Other", "In Hardware", "Downloaded", "Diskette", "CD", "Tape", "Reserved"} ] uint8 SoftwareMedia[]; }; // ================================================================== // Location // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A physical location."), OCL {"inv: self.Latitude >= -91 and self.Latitude <= 90", "inv: self.Longitude >= -181 and self.Longitude <= 180", "inv: self.Altitude >= -20000"}, MappingStrings {"MOF.DMTF|CIM_Location|2.8.1000"} ] class Cisco_Location : Cisco_ManagedElement { [Required, Description ( "A free-form string indicating the placement of an " "element. For example, it can specify slot information on " "a motherboard, a mounting site in a chassis, or latitude " "and longitude information from a GPS. The information in " "this property MAY aggregate the other information in the " "individual properties below."), MappingStrings { "MOF.DMTF|CIM_Location.PhysicalPosition|2.8.1000"} ] string PhysicalPosition; [Description ("A multi-line postal address."), ArrayType ("Ordered"), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.City", "Cisco_Location.StateOrProvince", "Cisco_Location.PostalCode", "Cisco_Location.Country"} ] string PostalAddress[]; [Description ("The city portion of a postal address."), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.PostalAddress", "Cisco_Location.StateOrProvince", "Cisco_Location.PostalCode", "Cisco_Location.Country"} ] string City; [Description ( "The state or province information of a postal address."), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.PostalAddress", "Cisco_Location.City", "Cisco_Location.PostalCode", "Cisco_Location.Country"} ] string StateOrProvince; [Description ( "The postal or zip code information of an address."), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.PostalAddress", "Cisco_Location.City", "Cisco_Location.StateOrProvince", "Cisco_Location.Country"} ] string PostalCode; [Description ("The country portion of a postal address."), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.PostalAddress", "Cisco_Location.City", "Cisco_Location.StateOrProvince", "Cisco_Location.PostalCode"} ] string Country; [UnknownValues {"-91"}, Description ( "Latitude information in degrees, expressed and stored as " "a floating point number. Latitudes north of the Equator " "are defined as positive numbers, while south of the Equator, " "the values are negative. A point on the Equator is assumed to " "be positive (in the northern hemisphere). If this information " "is not known, the value 91 is entered."), MinValue (-91), MaxValue (90), Units ("Degrees"), ModelCorrespondence {"Cisco_Location.Longitude", "Cisco_Location.Altitude"} ] real32 Latitude; [UnknownValues {"-181"}, Description ( "Longitude information in degrees, expressed and stored as " "a floating point number. Longitudes east of the Prime Meridian " "are defined as positive numbers, while west of the Prime Meridian, " "the values are negative. A point on the Prime Meridian is assumed to " "be positive (in the eastern hemisphere). A point on the 180th " "Meridian is assumed to be negative (in the western hemisphere). " "If this information is not known, the value 181 is entered."), MinValue (-181), MaxValue (180), Units ("Degrees"), ModelCorrespondence {"Cisco_Location.Latitude", "Cisco_Location.Altitude"} ] real32 Longitude; [UnknownValues {"-20000"}, Description ( "Altitude information in meters, where depths below sea level " "are defined as negative numbers. If this information is not " "known, the value -20000 is entered."), MinValue (-20000), Units ("Meters"), ModelCorrespondence {"Cisco_Location.Latitude", "Cisco_Location.Longitude"} ] real32 Altitude; }; // ================================================================== // ElementLocation // ================================================================== [Association, Aggregation, Version ("3.0.yyyymmdd"), Description ( "Specifies that an element is in or is restricted to a " "Location."), MappingStrings {"MOF.DMTF|CIM_ElementLocation|2.8.1000"} ] class Cisco_ElementLocation : Cisco_Top { [Required, Description ("The located element."), MappingStrings { "MOF.DMTF|CIM_ElementLocation.Element|2.8.1000"} ] Cisco_Top ref LocatedElement; [Aggregate, Required, Max (1), Description ("The location."), MappingStrings { "MOF.DMTF|CIM_ElementLocation.PhysicalLocation|2.8.1000"} ] Cisco_Location ref Location; }; // ================================================================== // LogicalElement // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Any logical aspect of a system or hardware."), MappingStrings {"MOF.DMTF|CIM_LogicalElement|2.8.1000"} ] class Cisco_LogicalElement : Cisco_ManagedElement { [Required, UnknownValues {"0"}, Description ( "Provides a general description of an element's " "operational status. For more specific information, " "see the corresponding array entry in the property, " "StatusDescriptions."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24..199", "200", "201", "202", "203.."}, Values {"Unknown", "Other", "OK", "Degraded", "Stressed-Overloaded", "Predictive Failure", "Error", "Non-Recoverable Error", "Starting", "Stopping", "Shut Down-Stopped", "In Service", // No Contact = 12 "No Contact", "Lost Communication", "Aborted", "Dormant", "Supporting Entity in Error", "Completed", "Power-Save Mode", "Supporting Entity Missing", // Pending-Discovery in Progress = 20 "Pending-Discovery in Progress", "Sync in Progress", "Self Test", "Configuration Data - Not Managed/Not in Existence", "Reserved", // Environmental Problem = 200 "Environmental Problem", "Hardware Mismatch", "Configuration Mismatch", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_ManagedSystemElement." "OperationalStatus|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("LogicalElementStatuses") ] uint8 OperationalStatus[]; [Description ( "Additional detail related to the corresponding entry " "in the OperationalStatus array."), MappingStrings {"MOF.DMTF|CIM_ManagedSystemElement." "StatusDescriptions|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("LogicalElementStatuses") ] string StatusDescriptions[]; }; // ================================================================== // AssetResultingElement // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "The LogicalElement that results from installing the hardware " "or software asset. This relationship SHOULD be instantiated " "as specifically (i.e., as low) in the object hierarchy " "as possible."), MappingStrings {"MOF.DMTF|CIM_Realizes|2.8.1000", "MOF.DMTF|CIM_ServiceSoftwareIdentity|2.8.1000"} ] class Cisco_AssetResultingElement : Cisco_Dependency { [Required, Override ("Independent"), Description ("The hardware or software 'behind' the element."), MappingStrings { "MOF.DMTF|CIM_Realizes.Antecedent|2.8.1000", "MOF.DMTF|CIM_ServiceSoftwareIdentity.Antecedent|2.8.1000"} ] Cisco_Asset REF Independent; [Required, Override ("Dependent"), Description ("The element realized from the asset."), MappingStrings { "MOF.DMTF|CIM_Realizes.Dependent|V2.8.1000", "MOF.DMTF|CIM_ServiceSoftwareIdentity.Dependent|2.8.1000"} ] Cisco_LogicalElement REF Dependent; }; // =================================================================== // end of file // =================================================================== --- NEW FILE: Cisco_LogicalElementSubclasses.mof --- // Subclasses of Cisco_LogicalElement representing the basic // concepts of System, Service and AccessPoint // Classes in this file: EnabledLogicalElement, System, // AdminDomain, AutonomousSystem, ApplicationSystem, // ComputerSystem, NetworkElement, Service, SystemService, // AccessPoint, SystemAccessPoint, ServiceAccess, // ManagementAccess, ServiceAvailableToElement, // InstalledSoftware // Date of Original Release: December 2003 // Change History: // July 15, 2004 // - Aligned with CIM V2.9 Preliminary and Inventory Schema // classes/properties added // December 15, 2004 // - Updated the CorrelatableName qualifier to correspond to the // DMTF definition (Becomes the Correlatable qualifier) // - Corrected the value of an 'unknown' date/time // - Updated and clarified several Descriptions // - Removed the ModelCorrespondence qualifier when // CrossIndexedArrays is defined, since the latter contains // more data regarding the correspondence // - Added the AutonomousSystem and ApplicationSystem classes // based on the DMTF class definitions // - Modified the cardinality of the System reference in the // SystemService and SystemAccessPoint associations to be 1..* // (versus 1) // February 16, 2005 // - Fixed compile errors // - Corrected the MappingStrings for the references in ServiceAccess // - Renamed and split the Cisco_Core MOF into the // LogicalPhysicalCore, Job and LogicalElementSubclasses MOFs for // improved import into Rose // - Removed duplicated return code in RequestStateChange method // (previously had both Busy - In Use and Busy return values - // the second value, 4099, was removed) // Copyright (c) 2004-2005, Cisco Systems Inc. #pragma locale ("en_US") // ================================================================== // EnabledLogicalElement // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "A LogicalElement that can be enabled/disabled and " "administratively set."), MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement|2.8.1000"} ] class Cisco_EnabledLogicalElement : Cisco_LogicalElement { [Required, UnknownValues {"0"}, Description ( "An enumeration that indicates the enabled/disabled " "states of an element. The following text briefly " "summarizes the various states: \n" "Enabled (2) indicates that the element is/could be " "executing commands, will process any queued commands, and " "queues new requests. \n" "Disabled (3) indicates that the element will not execute " "commands and will drop any new requests. \n" "Stopping/Shutting Down (4) indicate that the element is " "in the process of going to an Disabled state. New " "requests are dropped. \n" "Not Applicable (5) indicates the element doesn't support " "being enabled/disabled. \n" "Enabled but Offline (6) indicates that the element may be " "completing commands, and will drop any new requests. \n" "In Test (7) indicates that the element is in a test " "state. \n" "Deferred (8) indicates that the element may be completing " "commands, but will queue any new requests. \n" "Quiesced-Suspended (9) indicates that the element is " "enabled but in a restricted mode. The element's behavior is " "similar to the Enabled state, but it only processes a " "restricted set of commands. All other requests are " "queued. \n" "Starting (10) indicates that the element is in the process " "of going to an Enabled state. New requests are queued. \n" "Reset (11) indicates that the element is in a 'startup' " "state following a reset. The reset state may not " "correspond to the initial startup state of an element, " "and therefore is separately enumerated."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12.."}, Values {"Unknown", "Other", "Enabled", "Disabled-Off", "Stopping-Shutting Down", "Not Applicable", "Enabled but Offline", "In Test", "Deferred", "Quiesced-Suspended", "Starting", "Reseting", "Reserved"}, MappingStrings { "MOF.DMTF|CIM_EnabledLogicalElement.EnabledState|2.8.1000", "MIB.IETF|ESSWITCH-MIB.swPortStatus"} ] uint8 EnabledState = 2; [Description ( "Set by the class' RequestState method, and SHOULD be reset " "to 'No Change' (5) after the request has been serviced. " "The values of the enumeration are explained in the " "EnabledState property. The reason that this value is " "reported is that state transitions MAY take time to complete, " "and it MAY be necessary to monitor changes in progress. \n" "Note that this property is read only. It is set by invoking " "the RequestStateChange method."), ValueMap {"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13.."}, Values {"Enable", "Disable-Off", "Shut Down", "No Change", "Offline", "Test", "Defer", "Quiesce-Suspend", "Reboot", "Reset", "Not Applicable", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestedState|2.8.1000"}, ModelCorrespondence { "Cisco_EnabledLogicalElement.RequestStateChange"} ] uint8 LastRequestedState = 5; [UnknownValues {"00000101000000.000000+000"}, Description ( "Time of the last state change of the element. " "Use a value of 00000101000000.000000+000 (midnight, " "Jan 1, year 0, at +0 minutes) if this information is " "unknown."), MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "TimeOfLastStateChange|2.8.1000"} ] datetime TimeOfLastStateChange; [Description ( "Method to request a change of the enabled/" "disabled state of the element. This method " "updates the LastRequestedState property. Invoking the " "method multiple times could result in earlier requests " "being overwritten/lost. \n" "If 0 is returned, then the task completed successfully. " "Any other return code indicates an error condition."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7..4096", "4097", "4098", "4099.."}, Values {"Completed with No Error", "Not Supported", "Unknown or Unspecified Error", "Can NOT complete within Timeout Period", "Attempted but Failed", "Invalid Parameter", "Busy - In Use", "Reserved", // 4097 "Invalid State Transition", "Use of Timeout Parameter Not Supported", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestStateChange|2.8.1000"}, ModelCorrespondence { "Cisco_EnabledLogicalElement.LastRequestedState"} ] uint32 RequestStateChange( [IN, Description ( "Selection of the enabled/disabled state to which " "the element should be set. The values of the " "enumeration are explained in the class' EnabledState " "property."), ValueMap {"2", "3", "4", "6", "7", "8", "9", "10", "11", "12.."}, Values {"Enable", "Disable-Off", "Shut Down", "Offline", "Test", "Defer", "Quiesce-Suspend", "Reboot", "Reset", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestStateChange.RequestedState|2.8.1000"}, ModelCorrespondence { "Cisco_EnabledLogicalElement.LastRequestedState"} ] uint8 RequestedState, [IN, IntervalOnly, Description ( "A timeout period that specifies the maximum amount of " "time that the client expects the transition to the new " "state to take. The interval format MUST be used to " "specify the TimeoutPeriod. A value of " "99999999000000.000000:000 indicates that the client has no " "time requirements for the transition. Note that if a non-" "zero value is specified and an implementation does not " "support timeouts, a return code of 'Use Of Timeout " "Parameter Not Supported' (4098) will be received."), MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestStateChange.TimeoutPeriod|2.8.1000"} ] datetime TimeoutPeriod, [IN (FALSE), OUT, Description ( "If the element state change can be processed asynchronously " "and is not an instantaneous change, then a reference to a " "Job MAY be returned. This enables a client to track and " "manage the status of the state change."), MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestStateChange.Job|2.8.1000"} ] Cisco_Job REF Job); }; // ================================================================== // System // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Represents an entity made up of component parts, that " "operates as a 'functional whole' and is viewed as more than " "the sum of its parts. For example, a computer system is a " "kind of System."), MappingStrings {"MOF.DMTF|CIM_System|2.8.1000"} ] class Cisco_System : Cisco_EnabledLogicalElement { [Override ("InstanceName"), MappingStrings {"MIB.IETF|SNMPv2-MIB.sysName"} ] string InstanceName; [Override ("InstanceDescription"), MappingStrings {"MIB.IETF|SNMPv2-MIB.sysDescr"} ] string InstanceDescription; [Description ( "Contact information for the primary owner of this system."), MappingStrings { "MOF.DMTF|CIM_System.PrimaryOwnerContact|2.8.1000", "MIB.IETF|SNMPv2-MIB.sysContact"} ] string PrimaryOwnerContact; [Write, Description ( "User-specified roles that the System plays " "in the managed environment."), MappingStrings {"MOF.DMTF|CIM_System.Roles|2.8.1000"} ] string Roles[]; }; // ================================================================== // ApplicationSystem // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "The ApplicationSystem class represents an application or a " "software system that supports a particular business function " "and that can be managed as an independent unit. Examples of " "this are any types of client-server application, where the " "individual client and database services are on specific " "platforms, but the configuration of the entire system ('as a " "whole') is defined. The role of an ApplicationSystem is to: \n" "a) act as the root node of the containment hierarchy of " "application elements (services, access points, sub-systems, " "etc.), and provide drill-down to those elements, \n" "b) locate overview information such as response time or " "overall system status, and, \n" "c) provide runtime control of the entire application " "(e.g., start/stop and lifetime)."), MappingStrings {"MOF.DMTF|CIM_ApplicationSystem|2.8.1000"} ] class Cisco_ApplicationSystem : Cisco_System { }; // ================================================================== // AdminDomain // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "Viewed as a single entity, specifies that all of the " "domain's components are administered similarly - either by " "the same user, group of users or policy."), MappingStrings {"MOF.DMTF|CIM_AdminDomain|2.8.1000", "MOF.DMTF|CIM_Network|2.8.1000", "Recommendation.ITU|M3100.Network" } ] class Cisco_AdminDomain : Cisco_System { }; // ================================================================== // AutonomousSystem // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "An Autonomous System (AS) is a fundamental concept in " "networking. An AS provides a structured view of routing by " "segregating the system that is using routing (e.g., the " "Internet, or an extranet) into a set of separately " "administered domains that each have their own independent " "routing policies. These domains are the 'autonomous " "systems'. \n" "\n" "The classic definition of an AS, from RFC1771, is '...a set of " "routers under a single technical administration, using an " "interior gateway protocol and common metrics to route packets " "within the AS, and using an exterior gateway protocol to route " "packets to other ASs'. The RFC continues: 'Since this classic " "definition was developed, it has become common for a single AS " "to use several interior gateway protocols and sometimes " "several sets of metrics within an AS. The use of the term " "Autonomous System here stresses the fact that, even when " "multiple IGPs and metrics are used, the administration of an " "AS appears to other ASs to have a single coherent interior " "routing plan and presents a consistent picture of what " "destinations are reachable through it.'"), MappingStrings {"MOF.DMTF|CIM_AutonomousSystem|2.8.1000"} ] class Cisco_AutonomousSystem : Cisco_AdminDomain { [Required, Correlatable {"Cisco:AS:ASNumber"}, Description ( "An ASNumber is an integer between 1 and 65535, with the " "range 64512 through 65535 reserved for private use. Every " "AS has a unique AS number, which is assigned to it by an " "Internet Registry or a provider. IANA assigns and " "administers AS numbers."), MappingStrings {"MOF.DMTF|CIM_AutonomousSystem.ASNumber|2.8.1000"} ] uint16 ASNumber; [UnknownValues {"0"}, Description ( "SingleOrMultiHomed is an enumeration indicating that this AS " "reaches networks outside of its domain through a single " "exit point, through multiple points or that this information " "is unknown."), ValueMap {"0", "2", "3"}, Values {"Unknown", "Single-Homed", "Multi-Homed"}, MappingStrings { "MOF.DMTF|CIM_AutonomousSystem.IsSingleHomed|2.8.1000"} ] uint8 SingleOrMultiHomed; [UnknownValues {"0"}, Description ( "TransitAS is an enumeration indicating that this AS will " "or will not advertise routes that it learns from other " "ASs. Or, this information may be unknown. A 'non-transit' " "AS will only advertise its own routes."), ValueMap {"0", "2", "3"}, Values {"Unknown", "Transit AS", "Non-Transit AS"}, MappingStrings { "MOF.DMTF|CIM_AutonomousSystem.IsTransit|2.8.1000"} ] uint8 TransitAS; }; // =================================================================== // ComputerSystem // =================================================================== [Version ("3.0.yyyymmdd"), Description ( "A system that provides general purpose or dedicated compute " "capabilities (as indicated by the Dedicated property). " "ComputerSystems may be dependent on or composed of other " "systems - such as a clustered system having Component " "relationships to the participating nodes, or a " "partition having a Dependent relationship to its " "underlying system."), MappingStrings {"MOF.DMTF|CIM_ComputerSystem|2.8.1000"} ] class Cisco_ComputerSystem : Cisco_System { [Write, Correlatable {"Cisco:UserId:Identifier"}, Description ( "User-specified identifiers for the ComputerSystem. " "Information on the identifier type/format is " "provided by the corresponding entry in the " "UserSystemIDFormats array."), ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemUserIdentifiers") ] string UserSystemIdentifiers[]; [Write, Correlatable {"Cisco:UserId:IDFormat"}, Description ( "Specifies the format/type of the corresponding " "entry in the UserSystemIdentifiers array."), ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11..99", "100", "101", "102", "103.."}, Values {"Other", "Host Name", "DNS Name", "IPv4 Address", "IPv6 Address", "User Identifier-Display Name", "SysObjectID", "Physical ID", "MAC Address", "TCP Address", "Reserved", // 100 "IE2100 ID", "AUS ID", "DCR ID", "Reserved"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemUserIdentifiers") ] uint8 UserSystemIDFormats[]; [Correlatable {"Cisco:VendorId:Identifier"}, Description ( "Cisco-specified identifiers for the ComputerSystem. " "Information on the identifier type/format is " "provided by the corresponding entry in the " "VendorSystemIDFormats array."), MappingStrings { "MOF.DMTF|CIM_ComputerSystem.OtherIdentifyingInfo|2.8.1000", "MIB.IETF|SNMPv2-MIB.sysObjectID"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemVendorIdentifiers") ] string VendorSystemIdentifiers[]; [Correlatable {"Cisco:VendorId:IDFormat"}, Description ( "Specifies the format/type of the corresponding " "entry in the VendorSystemIdentifiers array."), ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11..99", "100", "101", "102", "103.."}, Values {"Other", "Host Name", "DNS Name", "IPv4 Address", "IPv6 Address", "User Identifier-Display Name", "SysObjectID", "Physical ID", "MAC Address", "TCP Address", "Reserved", // 100 "IE2100 ID", "AUS ID", "DCR ID", "Reserved"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemVendorIdentifiers") ] uint8 VendorSystemIDFormats[]; [Required, UnknownValues {"0"}, Description ( "Enumeration indicating whether the ComputerSystem is a " "special-purpose System (ie, dedicated to a particular use), " "versus being 'general purpose'. More information is " "provided in the corresponding entry of the property, " "DedicatedDescriptions. A clarification is needed with " "respect to the value 17 (\"Mobile User Device\"). " "An example of a dedicated user device is a mobile " "phone or a barcode scanner in a store that communicates " "via radio frequency. These systems are limited in " "functionality and programmability, and are not " "considered 'general purpose' computing platforms. " "Alternately, an example of a mobile system that is 'general " "purpose' (i.e., is NOT dedicated) is a hand-held computer. " "Although limited in its programmability, new software can " "be downloaded and its functionality expanded by the user."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28..254", "255"}, Values {"Unknown", "Other", "Not Dedicated", "Storage", "Router", "Layer 2 Switch", "Layer 3 Switch", "Central Office Switch", "Hub", "Access Server", "Firewall", "Print Server", "Input-Output", "Web Caching", "Management", "Block Server", "File Server", "Mobile User Device", "Repeater", "Bridge-Extender", "Gateway", "Storage Virtualizer", "Media Library", "Extender Node", "NAS Head", "Self-Contained NAS", "UPS", "IP Phone", "Reserved", // 255 "SNMP sysServicesData"}, MappingStrings {"MIB.IETF|SNMPv2-MIB.sysServices", "MOF.DMTF|CIM_ComputerSystem.Dedicated|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemDedicatedInfo") ] uint8 Dedicated[]; [Description ( "More information regarding the specific nature of " "the corresponding entry in the Dedicated array. Note " "that if the Dedicated array contains an entry=255, then " "the corresponding value in this array is the specific " "value of the sysServices attribute from the SNMPv2 MIB."), MappingStrings {"MIB.IETF|SNMPv2-MIB.sysServices"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemDedicatedInfo") ] string DedicatedDescriptions[]; }; // ================================================================== // NetworkElement // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A ComputerSystem on a network, providing networking services.") ] class Cisco_NetworkElement : Cisco_ComputerSystem { [Description ("The host name reported by the element."), MappingStrings {"MIB.Cisco|OLD-CISCO-SYS-MIB.hostName"} ] string ReportedHostName; [Description ("The DNS name reported by the element."), MappingStrings {"MIB.Cisco|OLD-CISCO-SYS-MIB.domainName", "MIB.Cisco|CISCO-STACK-MIB.dnsDomainName"} ] string DNSDomainName; [Description ( "Information from the SNMPv2-MIB, the sysLocation " "attribute."), MappingStrings {"MIB.IETF|SNMPv2-MIB.sysLocation"} ] string MIBSysLocation; }; // ================================================================== // InstalledSoftware // ================================================================== [Association, Aggregation, Composition, Version ("3.0.yyyymmdd"), Description ( "A software asset installed as a component on a system."), MappingStrings { "MOF.DMTF|CIM_InstalledSoftwareIdentity|2.8.1000"} ] class Cisco_InstalledSoftware : Cisco_Component { [Aggregate, Required, Override ("GroupComponent"), Description ("The system that scopes the installed software."), MappingStrings {"MOF.DMTF|CIM_InstalledSoftwareIdentity." "GroupComponent|2.8.1000"} ] Cisco_System ref GroupComponent; [Required, Override ("PartComponent"), Description ("The software that is part of/installed on the system."), MappingStrings {"MOF.DMTF|CIM_InstalledSoftwareIdentity." "PartComponent|2.8.1000"} ] Cisco_SoftwareElement ref PartComponent; [Description ( "Boolean indicating whether the software is enabled to execute " "(TRUE) or not (FALSE) on the system.") ] boolean EnabledToRun = FALSE; }; // ================================================================== // Service // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "The logical aspects of any functionality. A Service can be " "composed of lower level Services using the Component " "association. It exists in the context of a scoping System " "as defined by the SystemService association."), MappingStrings {"MOF.DMTF|CIM_Service|2.8.1000"} ] class Cisco_Service : Cisco_EnabledLogicalElement { [Description ( "Contact information for the primary owner of this service."), MappingStrings { "MOF.DMTF|CIM_Service.PrimaryOwnerContact|2.8.1000"} ] string PrimaryOwnerContact; }; // ================================================================== // SystemService // ================================================================== [Association, Aggregation, Composition, Version ("3.0.yyyymmdd"), Description ( "A Service (functionality) is a part of, is provided by, " "and is defined in the scope of a System. These semantics " "are expressed by this association. Note that the cardinality " "of the System reference in the association is 1..*. " "This allows a Service to exist in several System contexts " "simultaneously - which may occur with a Service in both an " "application system and a computer system context."), MappingStrings {"MOF.DMTF|CIM_HostedService|2.8.1000"} ] class Cisco_SystemService : Cisco_Component { [Aggregate, Required, Override ("GroupComponent"), Min (1), Description ("The system that scopes the service."), MappingStrings { "MOF.DMTF|CIM_HostedService.Antecedent|2.8.1000"} ] Cisco_System ref GroupComponent; [Required, Override ("PartComponent"), Description ("The service that is scoped by the system."), MappingStrings { "MOF.DMTF|CIM_HostedService.Dependent|2.8.1000"} ] Cisco_Service ref PartComponent; }; // ================================================================== // ServiceAvailableToElement // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "If functionality is restricted to specific elements, versus " "the entire scoping system, this association is used. For " "example, if Memory is specific to a LogicalModule, then " "this association would describe this limitation."), MappingStrings { "MOF.DMTF|CIM_ServiceAvailableToElement|2.8.1000"} ] class Cisco_ServiceAvailableToElement : Cisco_Top { [Required, Description ("The service available to the element."), MappingStrings {"MOF.DMTF|CIM_ServiceAvailableToElement." "ServiceProvided|2.8.1000"} ] Cisco_Service REF Service; [Required, Description ("The element that may utilize the service."), MappingStrings {"MOF.DMTF|CIM_ServiceAvailableToElement." "UserOfService|2.8.1000"} ] Cisco_Top REF UsingElement; }; // ================================================================== // AccessPoint // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "An interface or means of accessing a System or its " "Services. AccessPoints are defined in the context of a " "scoping System, as indicated by the SystemAccessPoint " "association."), MappingStrings {"MOF.DMTF|CIM_ServiceAccessPoint|2.8.1000"} ] class Cisco_AccessPoint : Cisco_EnabledLogicalElement { [Experimental, Description ( "The purpose or context for the access point. For " "example, a RemoteAccessPoint may serve as a 'Gateway' " "for a system, or a particular interface may have a " "defined purpose on a system. This information is " "specified in this property.") ] string AccessContext; }; // ================================================================== // SystemAccessPoint // ================================================================== [Association, Aggregation, Composition, Version ("3.0.yyyymmdd"), Description ( "An AccessPoint is a part of, is provided by, and is defined " "in the scope of a System. These semantics are " "expressed by this association. Note that the cardinality " "of the System reference in the association is 1..*. This " "allows an AccessPoint to exist in several System contexts " "simultaneously - which may occur with an AccessPoint in " "both application and computer system contexts."), MappingStrings {"MOF.DMTF|CIM_HostedAccessPoint|2.8.1000"} ] class Cisco_SystemAccessPoint : Cisco_Component { [Aggregate, Required, Override ("GroupComponent"), Min (1), Description ("The system that scopes the access point."), MappingStrings { "MOF.DMTF|CIM_HostedAccessPoint.Antecedent|2.8.1000"} ] Cisco_System ref GroupComponent; [Required, Override ("PartComponent"), Description ("The access point that is scoped by the system."), MappingStrings { "MOF.DMTF|CIM_HostedAccessPoint.Dependent|2.8.1000"} ] Cisco_AccessPoint ref PartComponent; }; // ================================================================== // ServiceAccess // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "Indicates that the AccessPoint provides a means of " "communicating with / accessing the referenced Service."), MappingStrings {"MOF.DMTF|CIM_ServiceAccessBySAP|2.8.1000"} ] class Cisco_ServiceAccess : Cisco_Dependency { [Required, Override ("Independent"), Description ("The access point for the service."), MappingStrings { "MOF.DMTF|CIM_ServiceAccessBySAP.Dependent|2.8.1000"} ] Cisco_AccessPoint REF Independent; [Required, Override ("Dependent"), Description ("The service being accessed."), MappingStrings { "MOF.DMTF|CIM_ServiceAccessBySAP.Antecedent|2.8.1000"} ] Cisco_Service REF Dependent; }; // ================================================================== // ManagementAccess // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "Indicates that the associated AccessPoint provides " "management access to the element. For example, it might " "be a UDP interface for SNMP access, or a URL."), MappingStrings {"MOF.DMTF|CIM_SAPAvailableForElement|2.8.1000"} ] class Cisco_ManagementAccess : Cisco_Top { [Required, Description ("The access point to manage the element."), MappingStrings {"MOF.DMTF|CIM_SAPAvailableForElement." "AvailableSAP|2.8.1000"} ] Cisco_AccessPoint REF AccessPoint; [Required, Description ( "The element being managed through the access point."), MappingStrings {"MOF.DMTF|CIM_SAPAvailableForElement." "ManagedElement|2.8.1000"} ] Cisco_Top REF AccessedElement; }; // =================================================================== // end of file // =================================================================== --- NEW FILE: Cisco_Job.mof --- // The Job Class of the CIM-CX Model // Classes in this file: Job // Date of Original Release: December 15, 2004 // Change History: // February 9, 2005 // - Added PrimaryOwnerContact for Job, and updated the ErrorInfo // property name and semantics to allow any job results to be // reported (now, JobResultInformation) // Copyright (c) 2004-2005, Cisco Systems Inc. #pragma locale ("en_US") // =================================================================== // Job // =================================================================== [Version ("3.0.yyyymmdd"), Description ( "A Job is a LogicalElement representing a unit of work that can " "be executed, such as a script, a method invocation, a batch request " "for compute or data services on a grid, or a print job. A Job " "is distinct from a Process in that a Job can be scheduled and can " "move from system to system. Also, its execution is not limited to " "a single system/operating system. When a Job is executing, " "resultant Processes MAY be instantiated and individually managed. \n" "\n" "Note that a Job's next scheduled run time is reported in the " "property, NextExecutionTime. The schedule by which a Job's " "NextExecutionTime MAY be calculated is defined by an associated " "PolicyTimePeriodCondition. To indicate that a Job is " "recurring, use the JobRunTimes property."), MappingStrings {"MOF.DMTF|CIM_Job|2.8.1000", "MOF.DMTF|CIM_ConcreteJob|2.8.1000"} ] class Cisco_Job : Cisco_LogicalElement { [Description ( "Contact information for the primary owner of this job.") ] string PrimaryOwnerContact; [Required, UnknownValues {"0"}, Description ( "JobState is an integer enumeration that indicates the " "operational state of a Job. It can also indicate " "transitions between these states, for example, 'Shutting " "Down' and 'Starting'. Following is a brief description of " "the states: \n" "Not Started - New (2) indicates that the job is not or has " "never been started. \n" "Starting (3) indicates that the job is moving from the " "'Not Started', 'Suspended', or 'Service' states into the " "'Running' state. \n" "Running (4) indicates that the Job is currently executing. \n" "Suspended - Paused (5) indicates that the Job is currently " "stopped, but may be restarted in a seamless manner. \n" "Shutting Down (6) indicates the job is moving to a " "'Completed', 'Terminated', or 'Killed' state. \n" "Completed (7) indicates that the job has completed " "normally. \n" "Terminated (8) indicates that the job has been stopped by a " "'Terminate' state change request. The job and all its " "underlying processes are ended and may be restarted (this " "is job-specific) only as a new job. \n" "Killed (9) indicates that the job has been stopped by a " "'Kill' state change request. Underlying processes may have " "been left running and cleanup may be required to free up " "resources. \n" "Stopped with Exception (10) indicates that the Job is in an " "abnormal state that may be indicative of an error condition. " "The ErrorInformation property MAY contain additional data. \n" "In Service - Debug (11) indicates that the Job is in a vendor-" "specific state that supports problem discovery and/or resolution."), ValueMap {"0", "... [truncated message content] |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 11:24:25
|
Update of /cvsroot/sblim/ecute/bender In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1495/bender Removed Files: Cisco_Job.mof Cisco_LogicalElementSubclasses.mof Cisco_Qualifiers.mof Cisco_LogicalPhysicalCore.mof Log Message: --- Cisco_LogicalPhysicalCore.mof DELETED --- --- Cisco_LogicalElementSubclasses.mof DELETED --- --- Cisco_Job.mof DELETED --- --- Cisco_Qualifiers.mof DELETED --- |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 10:56:28
|
Update of /cvsroot/sblim/ecute/bender In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27588/bender Added Files: Cisco_Job.mof Cisco_LogicalElementSubclasses.mof Cisco_Qualifiers.mof Cisco_LogicalPhysicalCore.mof Log Message: test files --- NEW FILE: Cisco_LogicalPhysicalCore.mof --- // Base Classes of the CIM-CX Model // Classes in this file: Top, ManagedElement, Component, Dependency, // SeeAlso, Asset, PhysicalElement, SoftwareElement, // PhysicalPackage, Location, ElementLocation, // LogicalElement, AssetResultingElement // Date of Original Release: December 2003 // Change History: // July 15, 2004 // - Aligned with CIM V2.9 Preliminary and Inventory Schema // classes/properties added // December 15, 2004 // - Updated the CorrelatableName qualifier to correspond to the // DMTF definition (Becomes the Correlatable qualifier) // - Corrected the value of an 'unknown' date/time // - Updated and clarified several Descriptions // - Removed the ModelCorrespondence qualifier when // CrossIndexedArrays is defined, since the latter contains // more data regarding the correspondence // - Added Latitude, Longitude and Altitude data to Location // February 13, 2005 // - Fixed compile errors // - Replaced ModelCorrespondence on PhysicalPackage.NumberOf // SlotsWithModules with specific OCL // - Renamed and split the Cisco_Core MOF into the // LogicalPhysicalCore, Job and LogicalElementSubclasses MOFs for // improved import into Rose // February 21, 2005 // - Corrected MinValues (to be negative numbers) for Latitude // and Longitude properties in the Location class // - Added MinValue to Location.Altitude // - Added UnknownValues to Location.Latitude, Longitude and // Altitude // - Added OCL qualifier to the Location class // Copyright (c) 2004-2005, Cisco Systems Inc. #pragma locale ("en_US") // ================================================================== // Top // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Top of the inheritance tree.") ] class Cisco_Top { [Key, Required, Description ( "Opaque instance identifier. In order to create a " "multi-scoped ID, identifiers SHOULD be prefaced " "with a scoping name. The identifier takes the form, " "<scoping name>:<identifier within scope>. The " "<scoping name> SHOULD be a trademarked, registered, " "or copyrighted name for uniqueness in a multi-vendor " "environment. For example, an IOS system ID could " "take the form, \"IOS:<hardware id>\". Note that the " "first occurrence of a colon MUST be between the scoping " "name and identifier.") ] string InstanceID; [Description ( "Short description of the instance."), MappingStrings { "MOF.DMTF|CIM_ManagedElement.Description|2.8.1000"} ] string InstanceDescription; }; // ================================================================== // ManagedElement // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Top of the inheritance tree for non-association classes."), MappingStrings {"MOF.DMTF|CIM_ManagedElement|2.8.1000"} ] class Cisco_ManagedElement : Cisco_Top { [Description ( "A user-friendly name for the instance."), MappingStrings { "MOF.DMTF|CIM_ManagedElement.ElementName|2.8.1000"} ] string InstanceName; }; // ================================================================== // SeeAlso // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "Indicates different aspects of the same 'real world' thing. " "Instead of an association, this could be supported via " "multiple inheritance. This relationship is defined " "here as a basic mechanism for all environments."), MappingStrings {"MOF.DMTF|CIM_LogicalIdentity|2.8.1000"} ] class Cisco_SeeAlso : Cisco_Top { [Required, Description ("An aspect of the element."), MappingStrings { "MOF.DMTF|CIM_LogicalIdentity.SystemElement|2.8.1000"} ] Cisco_Top REF Aspect1; [Required, Description ("An aspect of the element."), MappingStrings { "MOF.DMTF|CIM_LogicalIdentity.SameElement|2.8.1000"} ] Cisco_Top REF Aspect2; }; // ================================================================== // Dependency // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "A generic 'usage' relationship."), MappingStrings {"MOF.DMTF|CIM_Dependency|2.8.1000"} ] class Cisco_Dependency : Cisco_Top { [Required, Description ("The independent element."), MappingStrings { "MOF.DMTF|CIM_Dependency.Antecedent|2.8.1000"} ] Cisco_Top REF Independent; [Required, Description ("The dependent element."), MappingStrings { "MOF.DMTF|CIM_Dependency.Dependent|2.8.1000"} ] Cisco_Top REF Dependent; }; // ================================================================== // Component // ================================================================== [Association, Aggregation, Version ("3.0.yyyymmdd"), Description ( "A generic whole-part relationship."), MappingStrings {"MOF.DMTF|CIM_Component|2.8.1000"} ] class Cisco_Component : Cisco_Top { [Aggregate, Required, Description ("The grouping element."), MappingStrings { "MOF.DMTF|CIM_Component.GroupComponent|2.8.1000"} ] Cisco_Top REF GroupComponent; [Required, Description ("The component element that is grouped."), MappingStrings { "MOF.DMTF|CIM_Component.PartComponent|2.8.1000"} ] Cisco_Top REF PartComponent; }; // ================================================================== // Asset // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Superclass for all hardware/software assets. Can define " "subcomponents of an asset using the Component relationship.") ] class Cisco_Asset : Cisco_ManagedElement { [Correlatable {"Cisco:AssetId:Manufacturer"}, Description ("Manufacturer/vendor of the asset."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.Manufacturer|2.8.1000", "MOF.DMTF|CIM_SoftwareIdentity.Manufacturer|2.8.1000"} ] string Manufacturer; [Required, Correlatable {"Cisco:AssetId:ProductName"}, Description ("Asset product name."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.Name|2.8.1000", "MOF.DMTF|CIM_SoftwareIdentity.Name|2.8.1000"} ] string ProductName; [Required, Correlatable {"Cisco:AssetId:ProductVersion"}, Description ("Asset version information."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.Version|2.8.1000", "MOF.DMTF|CIM_SoftwareIdentity.VersionString|2.8.1000"} ] string ProductVersion; [Description ( "Model, part or software image information for the asset."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.PartNumber|2.8.1000"} ] string PartOrImageID; [Correlatable {"Cisco:AssetId:SerialNumber"}, Description ("Asset serial number."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.SerialNumber|2.8.1000"} ] string SerialNumber; [UnknownValues {"00000101000000.000000+000"}, Description ( "The manufacturing/release date of the asset. Use a value of " "00000101000000.000000+000 (midnight, Jan 1, year 0, at " "+0 minutes) if this information is unknown."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.ManufactureDate|2.8.1000", "MOF.DMTF|CIM_SoftwareIdentity.ReleaseDate|2.8.1000"} ] datetime ManufacturedDate; }; // ================================================================== // PhysicalElement // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A hardware asset."), MappingStrings {"MOF.DMTF|CIM_PhysicalElement|2.8.1000"} ] class Cisco_PhysicalElement : Cisco_Asset { [Override ("InstanceDescription"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalDescr"} ] string InstanceDescription; [Override ("InstanceName"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalName"} ] string InstanceName; [Override ("ProductName"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalModel"} ] string ProductName; [Override ("Manufacturer"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalMfgName"} ] string Manufacturer; [Override ("ProductVersion"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalHardwareRev"} ] string ProductVersion; [Override ("PartOrImageID"), MappingStrings { "MIB.Cisco|CISCO-ENTITY-ASSET-MIB." "ceAssetOrderablePartNumber"} ] string PartOrImageID; [Override ("SerialNumber"), MappingStrings { "MIB.IETF|ENTITY-MIB.entPhysicalSerialNumber", "MIB.Cisco|CISCO-ENTITY-ASSET-MIB." "ceAssetSerialNumber"} ] string SerialNumber; [Required, UnknownValues {"0"}, Description ( "Base classification of the physical element."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16.."}, Values {"Unknown", "Other", "Rack", "Chassis-Frame", "Cross Connect-Backplane", "Container-Slot", "Power Supply", "Fan", "Sensor", "Module-Card", "Port-Connector", "Battery", "Processor", "Memory", "Power Source-Generator", "Storage Media (Disk, Tape, Etc.)", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_PhysicalPackage.PackageType|2.8.1000", "MIB.IETF|ENTITY-MIB.entPhysicalClass"} ] uint8 PhysicalElementType; [Description ( "Boolean indicating whether the element can be FRU'ed " "(TRUE) or not (FALSE). The default value is FALSE."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.CanBeFRUed|2.8.1000", "MIB.IETF|ENTITY-MIB.entPhysicalIsFRU"} ] boolean CanBeFRUed = FALSE; [UnknownValues {"0"}, Description ( "Index from the SNMP MIB that is referenced at the corresponding " "position of the SNMPMIB array. For example, this might be the " "value of the Physical Index from the Entity MIB (where " "\"ENTITY-MIB\" is listed in the property, SNMPMIB)."), ArrayType ("Indexed"), CrossIndexedArrays ("SNMPPhysicalIndexInfo"), MappingStrings {"MIB.IETF|ENTITY-MIB.entPhysicalIndex"} ] uint32 SNMPPhysicalIndex[]; [Description ( "The name of the SNMP MIB whose index is reported at the " "corresponding position in the SNMPPhysicalIndex array. For " "example, this might hold the value, \"ENTITY-MIB\"."), ArrayType ("Indexed"), CrossIndexedArrays ("SNMPPhysicalIndexInfo") ] string SNMPMIB[]; [UnknownValues {"0"}, Description ( "Indicates whether the hardware is removable or not, " "and if removable, if it is hotswappable (indicated by the " "value 4, \"Removable with or without Power\")."), ValueMap {"0", "2", "3", "4"}, Values {"Unknown", "Not Removable", "Removable without Power", "Removable with or without Power"}, MappingStrings { "MOF.DMTF|CIM_PhysicalPackage.RemovalConditions|2.8.1000"} ] uint8 Removable; [Description ("A Cisco assigned asset ID, such as a PID."), MappingStrings { "MIB.Cisco|CISCO-ENTITY-ASSET-MIB.ceAssetCLEI"} ] string VendorAssetID; [Write, Description ( "A user assigned asset ID, such as a bar-coded asset tag."), MappingStrings { "MOF.DMTF|CIM_PhysicalElement.UserTracking|2.8.1000", "MIB.IETF|ENTITY-MIB.entPhysicalAssetID"} ] string UserAssetID; [Description ("Vendor specific manufacturing information."), MappingStrings { "MIB.Cisco|CISCO-ENTITY-ASSET-MIB.ceAssetMfgAssyNumber"} ] string AssemblyInfo; [Description ("Vendor specific assembly revision information."), MappingStrings { "MIB.Cisco|CISCO-ENTITY-ASSET-MIB.ceAssetMfgAssyRevision"} ] string AssemblyRevision; }; // ================================================================== // PhysicalPackage // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A specific hardware asset that is a package, containing " "other physical entities."), MappingStrings {"MOF.DMTF|CIM_PhysicalPackage|2.8.1000"}, OCL {"inv: self.NumberOfSlots >= self.NumberOfSlotsWithModules"} ] class Cisco_PhysicalPackage : Cisco_PhysicalElement { [Description ( "A string defining the vendor's classification of the " "physical element."), MappingStrings {"MOF.DMTF|CIM_PhysicalElement." "VendorEquipmentType|2.8.1000", "MIB.IETF|ENTITY-MIB.entPhysicalVendorType"} ] string VendorEquipmentType; [Write, Description ("User names for the package."), MappingStrings {"MIB.IETF|ENTITY-MIB.entPhysicalAlias"} ] string UserAliases[]; [UnknownValues {"-1"}, Description ("Number of slots in the element.") ] sint32 NumberOfSlots; [UnknownValues {"-1"}, Description ("Number of occupied slots in the element."), Gauge ] sint32 NumberOfSlotsWithModules; [UnknownValues {"-1"}, Description ("Number of ports on the element.") ] sint32 NumberOfCommunicationPorts; }; // ================================================================== // SoftwareElement // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A software asset."), MappingStrings {"MOF.DMTF|CIM_SoftwareIdentity|2.8.1000"} ] class Cisco_SoftwareElement : Cisco_Asset { [UnknownValues {"00000101000000.000000+000"}, Description ( "Time that the software was compiled/built. Use a value of " "00000101000000.000000+000 (midnight, Jan 1, year 0, at " "+0 minutes) if this information is unknown.") ] datetime BuildTime; [Description ( "A list of the operating systems on which this software " "can execute, if applicable. This property has no meaning " "for various types of software, such as BIOS/Fcode or " "operating systems themselves. In these cases, the array " "is left NULL. To determine if software can execute on a " "specific platform, that platform's OperatingSystem." "OSDetails property is compared against this value."), MappingStrings {"MOF.DMTF|CIM_SoftwareIdentity." "TargetOperatingSystems|2.8.1000"}, ModelCorrespondence {"Cisco_OperatingSystem.OSDetails"} ] string TargetOperatingSystems[]; [Required, UnknownValues {"0"}, Description ( "Defines a general classification for the software. For " "more specific information, see the corresponding array " "entry in the property, ClassificationDescriptions."), // Note that the value 6 is not used in the enumeration. It was // deprecated in the DMTF CIM definition. ValueMap {"0", "1", "2", "3", "4", "5", "7", "8", "9", "10", "11", "12", "13.."}, Values {"Unknown", "Other", "Driver", "Configuration Software", "Application Software", "Instrumentation", "Diagnostic Software", "Operating System", "Middleware", "Firmware", "BIOS/Fcode", "Support-Service Pack", "Reserved"}, MappingStrings { "MOF.DMTF|CIM_SoftwareIdentity.Classifications|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("SoftwareClassifications") ] uint8 Classifications[]; [Description ( "More information about the corresponding entry in the " "Classifications array."), MappingStrings {"MOF.DMTF|CIM_SoftwareIdentity." "ClassificationDescriptions|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("SoftwareClassifications") ] string ClassificationDescriptions[]; [Description ( "Each entry of this array defines a feature supported " "by the software. What is actually installed MAY be " "a subset of this list of features.") ] string FeatureSet[]; [UnknownValues {"0"}, Description ( "The types of software media available for this asset."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7.."}, Values {"Unknown", "Other", "In Hardware", "Downloaded", "Diskette", "CD", "Tape", "Reserved"} ] uint8 SoftwareMedia[]; }; // ================================================================== // Location // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A physical location."), OCL {"inv: self.Latitude >= -91 and self.Latitude <= 90", "inv: self.Longitude >= -181 and self.Longitude <= 180", "inv: self.Altitude >= -20000"}, MappingStrings {"MOF.DMTF|CIM_Location|2.8.1000"} ] class Cisco_Location : Cisco_ManagedElement { [Required, Description ( "A free-form string indicating the placement of an " "element. For example, it can specify slot information on " "a motherboard, a mounting site in a chassis, or latitude " "and longitude information from a GPS. The information in " "this property MAY aggregate the other information in the " "individual properties below."), MappingStrings { "MOF.DMTF|CIM_Location.PhysicalPosition|2.8.1000"} ] string PhysicalPosition; [Description ("A multi-line postal address."), ArrayType ("Ordered"), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.City", "Cisco_Location.StateOrProvince", "Cisco_Location.PostalCode", "Cisco_Location.Country"} ] string PostalAddress[]; [Description ("The city portion of a postal address."), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.PostalAddress", "Cisco_Location.StateOrProvince", "Cisco_Location.PostalCode", "Cisco_Location.Country"} ] string City; [Description ( "The state or province information of a postal address."), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.PostalAddress", "Cisco_Location.City", "Cisco_Location.PostalCode", "Cisco_Location.Country"} ] string StateOrProvince; [Description ( "The postal or zip code information of an address."), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.PostalAddress", "Cisco_Location.City", "Cisco_Location.StateOrProvince", "Cisco_Location.Country"} ] string PostalCode; [Description ("The country portion of a postal address."), MappingStrings { "MOF.DMTF|CIM_Location.Address|2.8.1000"}, ModelCorrespondence {"Cisco_Location.PostalAddress", "Cisco_Location.City", "Cisco_Location.StateOrProvince", "Cisco_Location.PostalCode"} ] string Country; [UnknownValues {"-91"}, Description ( "Latitude information in degrees, expressed and stored as " "a floating point number. Latitudes north of the Equator " "are defined as positive numbers, while south of the Equator, " "the values are negative. A point on the Equator is assumed to " "be positive (in the northern hemisphere). If this information " "is not known, the value 91 is entered."), MinValue (-91), MaxValue (90), Units ("Degrees"), ModelCorrespondence {"Cisco_Location.Longitude", "Cisco_Location.Altitude"} ] real32 Latitude; [UnknownValues {"-181"}, Description ( "Longitude information in degrees, expressed and stored as " "a floating point number. Longitudes east of the Prime Meridian " "are defined as positive numbers, while west of the Prime Meridian, " "the values are negative. A point on the Prime Meridian is assumed to " "be positive (in the eastern hemisphere). A point on the 180th " "Meridian is assumed to be negative (in the western hemisphere). " "If this information is not known, the value 181 is entered."), MinValue (-181), MaxValue (180), Units ("Degrees"), ModelCorrespondence {"Cisco_Location.Latitude", "Cisco_Location.Altitude"} ] real32 Longitude; [UnknownValues {"-20000"}, Description ( "Altitude information in meters, where depths below sea level " "are defined as negative numbers. If this information is not " "known, the value -20000 is entered."), MinValue (-20000), Units ("Meters"), ModelCorrespondence {"Cisco_Location.Latitude", "Cisco_Location.Longitude"} ] real32 Altitude; }; // ================================================================== // ElementLocation // ================================================================== [Association, Aggregation, Version ("3.0.yyyymmdd"), Description ( "Specifies that an element is in or is restricted to a " "Location."), MappingStrings {"MOF.DMTF|CIM_ElementLocation|2.8.1000"} ] class Cisco_ElementLocation : Cisco_Top { [Required, Description ("The located element."), MappingStrings { "MOF.DMTF|CIM_ElementLocation.Element|2.8.1000"} ] Cisco_Top ref LocatedElement; [Aggregate, Required, Max (1), Description ("The location."), MappingStrings { "MOF.DMTF|CIM_ElementLocation.PhysicalLocation|2.8.1000"} ] Cisco_Location ref Location; }; // ================================================================== // LogicalElement // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Any logical aspect of a system or hardware."), MappingStrings {"MOF.DMTF|CIM_LogicalElement|2.8.1000"} ] class Cisco_LogicalElement : Cisco_ManagedElement { [Required, UnknownValues {"0"}, Description ( "Provides a general description of an element's " "operational status. For more specific information, " "see the corresponding array entry in the property, " "StatusDescriptions."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24..199", "200", "201", "202", "203.."}, Values {"Unknown", "Other", "OK", "Degraded", "Stressed-Overloaded", "Predictive Failure", "Error", "Non-Recoverable Error", "Starting", "Stopping", "Shut Down-Stopped", "In Service", // No Contact = 12 "No Contact", "Lost Communication", "Aborted", "Dormant", "Supporting Entity in Error", "Completed", "Power-Save Mode", "Supporting Entity Missing", // Pending-Discovery in Progress = 20 "Pending-Discovery in Progress", "Sync in Progress", "Self Test", "Configuration Data - Not Managed/Not in Existence", "Reserved", // Environmental Problem = 200 "Environmental Problem", "Hardware Mismatch", "Configuration Mismatch", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_ManagedSystemElement." "OperationalStatus|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("LogicalElementStatuses") ] uint8 OperationalStatus[]; [Description ( "Additional detail related to the corresponding entry " "in the OperationalStatus array."), MappingStrings {"MOF.DMTF|CIM_ManagedSystemElement." "StatusDescriptions|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("LogicalElementStatuses") ] string StatusDescriptions[]; }; // ================================================================== // AssetResultingElement // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "The LogicalElement that results from installing the hardware " "or software asset. This relationship SHOULD be instantiated " "as specifically (i.e., as low) in the object hierarchy " "as possible."), MappingStrings {"MOF.DMTF|CIM_Realizes|2.8.1000", "MOF.DMTF|CIM_ServiceSoftwareIdentity|2.8.1000"} ] class Cisco_AssetResultingElement : Cisco_Dependency { [Required, Override ("Independent"), Description ("The hardware or software 'behind' the element."), MappingStrings { "MOF.DMTF|CIM_Realizes.Antecedent|2.8.1000", "MOF.DMTF|CIM_ServiceSoftwareIdentity.Antecedent|2.8.1000"} ] Cisco_Asset REF Independent; [Required, Override ("Dependent"), Description ("The element realized from the asset."), MappingStrings { "MOF.DMTF|CIM_Realizes.Dependent|V2.8.1000", "MOF.DMTF|CIM_ServiceSoftwareIdentity.Dependent|2.8.1000"} ] Cisco_LogicalElement REF Dependent; }; // =================================================================== // end of file // =================================================================== --- NEW FILE: Cisco_LogicalElementSubclasses.mof --- // Subclasses of Cisco_LogicalElement representing the basic // concepts of System, Service and AccessPoint // Classes in this file: EnabledLogicalElement, System, // AdminDomain, AutonomousSystem, ApplicationSystem, // ComputerSystem, NetworkElement, Service, SystemService, // AccessPoint, SystemAccessPoint, ServiceAccess, // ManagementAccess, ServiceAvailableToElement, // InstalledSoftware // Date of Original Release: December 2003 // Change History: // July 15, 2004 // - Aligned with CIM V2.9 Preliminary and Inventory Schema // classes/properties added // December 15, 2004 // - Updated the CorrelatableName qualifier to correspond to the // DMTF definition (Becomes the Correlatable qualifier) // - Corrected the value of an 'unknown' date/time // - Updated and clarified several Descriptions // - Removed the ModelCorrespondence qualifier when // CrossIndexedArrays is defined, since the latter contains // more data regarding the correspondence // - Added the AutonomousSystem and ApplicationSystem classes // based on the DMTF class definitions // - Modified the cardinality of the System reference in the // SystemService and SystemAccessPoint associations to be 1..* // (versus 1) // February 16, 2005 // - Fixed compile errors // - Corrected the MappingStrings for the references in ServiceAccess // - Renamed and split the Cisco_Core MOF into the // LogicalPhysicalCore, Job and LogicalElementSubclasses MOFs for // improved import into Rose // - Removed duplicated return code in RequestStateChange method // (previously had both Busy - In Use and Busy return values - // the second value, 4099, was removed) // Copyright (c) 2004-2005, Cisco Systems Inc. #pragma locale ("en_US") // ================================================================== // EnabledLogicalElement // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "A LogicalElement that can be enabled/disabled and " "administratively set."), MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement|2.8.1000"} ] class Cisco_EnabledLogicalElement : Cisco_LogicalElement { [Required, UnknownValues {"0"}, Description ( "An enumeration that indicates the enabled/disabled " "states of an element. The following text briefly " "summarizes the various states: \n" "Enabled (2) indicates that the element is/could be " "executing commands, will process any queued commands, and " "queues new requests. \n" "Disabled (3) indicates that the element will not execute " "commands and will drop any new requests. \n" "Stopping/Shutting Down (4) indicate that the element is " "in the process of going to an Disabled state. New " "requests are dropped. \n" "Not Applicable (5) indicates the element doesn't support " "being enabled/disabled. \n" "Enabled but Offline (6) indicates that the element may be " "completing commands, and will drop any new requests. \n" "In Test (7) indicates that the element is in a test " "state. \n" "Deferred (8) indicates that the element may be completing " "commands, but will queue any new requests. \n" "Quiesced-Suspended (9) indicates that the element is " "enabled but in a restricted mode. The element's behavior is " "similar to the Enabled state, but it only processes a " "restricted set of commands. All other requests are " "queued. \n" "Starting (10) indicates that the element is in the process " "of going to an Enabled state. New requests are queued. \n" "Reset (11) indicates that the element is in a 'startup' " "state following a reset. The reset state may not " "correspond to the initial startup state of an element, " "and therefore is separately enumerated."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12.."}, Values {"Unknown", "Other", "Enabled", "Disabled-Off", "Stopping-Shutting Down", "Not Applicable", "Enabled but Offline", "In Test", "Deferred", "Quiesced-Suspended", "Starting", "Reseting", "Reserved"}, MappingStrings { "MOF.DMTF|CIM_EnabledLogicalElement.EnabledState|2.8.1000", "MIB.IETF|ESSWITCH-MIB.swPortStatus"} ] uint8 EnabledState = 2; [Description ( "Set by the class' RequestState method, and SHOULD be reset " "to 'No Change' (5) after the request has been serviced. " "The values of the enumeration are explained in the " "EnabledState property. The reason that this value is " "reported is that state transitions MAY take time to complete, " "and it MAY be necessary to monitor changes in progress. \n" "Note that this property is read only. It is set by invoking " "the RequestStateChange method."), ValueMap {"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13.."}, Values {"Enable", "Disable-Off", "Shut Down", "No Change", "Offline", "Test", "Defer", "Quiesce-Suspend", "Reboot", "Reset", "Not Applicable", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestedState|2.8.1000"}, ModelCorrespondence { "Cisco_EnabledLogicalElement.RequestStateChange"} ] uint8 LastRequestedState = 5; [UnknownValues {"00000101000000.000000+000"}, Description ( "Time of the last state change of the element. " "Use a value of 00000101000000.000000+000 (midnight, " "Jan 1, year 0, at +0 minutes) if this information is " "unknown."), MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "TimeOfLastStateChange|2.8.1000"} ] datetime TimeOfLastStateChange; [Description ( "Method to request a change of the enabled/" "disabled state of the element. This method " "updates the LastRequestedState property. Invoking the " "method multiple times could result in earlier requests " "being overwritten/lost. \n" "If 0 is returned, then the task completed successfully. " "Any other return code indicates an error condition."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7..4096", "4097", "4098", "4099.."}, Values {"Completed with No Error", "Not Supported", "Unknown or Unspecified Error", "Can NOT complete within Timeout Period", "Attempted but Failed", "Invalid Parameter", "Busy - In Use", "Reserved", // 4097 "Invalid State Transition", "Use of Timeout Parameter Not Supported", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestStateChange|2.8.1000"}, ModelCorrespondence { "Cisco_EnabledLogicalElement.LastRequestedState"} ] uint32 RequestStateChange( [IN, Description ( "Selection of the enabled/disabled state to which " "the element should be set. The values of the " "enumeration are explained in the class' EnabledState " "property."), ValueMap {"2", "3", "4", "6", "7", "8", "9", "10", "11", "12.."}, Values {"Enable", "Disable-Off", "Shut Down", "Offline", "Test", "Defer", "Quiesce-Suspend", "Reboot", "Reset", "Reserved"}, MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestStateChange.RequestedState|2.8.1000"}, ModelCorrespondence { "Cisco_EnabledLogicalElement.LastRequestedState"} ] uint8 RequestedState, [IN, IntervalOnly, Description ( "A timeout period that specifies the maximum amount of " "time that the client expects the transition to the new " "state to take. The interval format MUST be used to " "specify the TimeoutPeriod. A value of " "99999999000000.000000:000 indicates that the client has no " "time requirements for the transition. Note that if a non-" "zero value is specified and an implementation does not " "support timeouts, a return code of 'Use Of Timeout " "Parameter Not Supported' (4098) will be received."), MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestStateChange.TimeoutPeriod|2.8.1000"} ] datetime TimeoutPeriod, [IN (FALSE), OUT, Description ( "If the element state change can be processed asynchronously " "and is not an instantaneous change, then a reference to a " "Job MAY be returned. This enables a client to track and " "manage the status of the state change."), MappingStrings {"MOF.DMTF|CIM_EnabledLogicalElement." "RequestStateChange.Job|2.8.1000"} ] Cisco_Job REF Job); }; // ================================================================== // System // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "Represents an entity made up of component parts, that " "operates as a 'functional whole' and is viewed as more than " "the sum of its parts. For example, a computer system is a " "kind of System."), MappingStrings {"MOF.DMTF|CIM_System|2.8.1000"} ] class Cisco_System : Cisco_EnabledLogicalElement { [Override ("InstanceName"), MappingStrings {"MIB.IETF|SNMPv2-MIB.sysName"} ] string InstanceName; [Override ("InstanceDescription"), MappingStrings {"MIB.IETF|SNMPv2-MIB.sysDescr"} ] string InstanceDescription; [Description ( "Contact information for the primary owner of this system."), MappingStrings { "MOF.DMTF|CIM_System.PrimaryOwnerContact|2.8.1000", "MIB.IETF|SNMPv2-MIB.sysContact"} ] string PrimaryOwnerContact; [Write, Description ( "User-specified roles that the System plays " "in the managed environment."), MappingStrings {"MOF.DMTF|CIM_System.Roles|2.8.1000"} ] string Roles[]; }; // ================================================================== // ApplicationSystem // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "The ApplicationSystem class represents an application or a " "software system that supports a particular business function " "and that can be managed as an independent unit. Examples of " "this are any types of client-server application, where the " "individual client and database services are on specific " "platforms, but the configuration of the entire system ('as a " "whole') is defined. The role of an ApplicationSystem is to: \n" "a) act as the root node of the containment hierarchy of " "application elements (services, access points, sub-systems, " "etc.), and provide drill-down to those elements, \n" "b) locate overview information such as response time or " "overall system status, and, \n" "c) provide runtime control of the entire application " "(e.g., start/stop and lifetime)."), MappingStrings {"MOF.DMTF|CIM_ApplicationSystem|2.8.1000"} ] class Cisco_ApplicationSystem : Cisco_System { }; // ================================================================== // AdminDomain // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "Viewed as a single entity, specifies that all of the " "domain's components are administered similarly - either by " "the same user, group of users or policy."), MappingStrings {"MOF.DMTF|CIM_AdminDomain|2.8.1000", "MOF.DMTF|CIM_Network|2.8.1000", "Recommendation.ITU|M3100.Network" } ] class Cisco_AdminDomain : Cisco_System { }; // ================================================================== // AutonomousSystem // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "An Autonomous System (AS) is a fundamental concept in " "networking. An AS provides a structured view of routing by " "segregating the system that is using routing (e.g., the " "Internet, or an extranet) into a set of separately " "administered domains that each have their own independent " "routing policies. These domains are the 'autonomous " "systems'. \n" "\n" "The classic definition of an AS, from RFC1771, is '...a set of " "routers under a single technical administration, using an " "interior gateway protocol and common metrics to route packets " "within the AS, and using an exterior gateway protocol to route " "packets to other ASs'. The RFC continues: 'Since this classic " "definition was developed, it has become common for a single AS " "to use several interior gateway protocols and sometimes " "several sets of metrics within an AS. The use of the term " "Autonomous System here stresses the fact that, even when " "multiple IGPs and metrics are used, the administration of an " "AS appears to other ASs to have a single coherent interior " "routing plan and presents a consistent picture of what " "destinations are reachable through it.'"), MappingStrings {"MOF.DMTF|CIM_AutonomousSystem|2.8.1000"} ] class Cisco_AutonomousSystem : Cisco_AdminDomain { [Required, Correlatable {"Cisco:AS:ASNumber"}, Description ( "An ASNumber is an integer between 1 and 65535, with the " "range 64512 through 65535 reserved for private use. Every " "AS has a unique AS number, which is assigned to it by an " "Internet Registry or a provider. IANA assigns and " "administers AS numbers."), MappingStrings {"MOF.DMTF|CIM_AutonomousSystem.ASNumber|2.8.1000"} ] uint16 ASNumber; [UnknownValues {"0"}, Description ( "SingleOrMultiHomed is an enumeration indicating that this AS " "reaches networks outside of its domain through a single " "exit point, through multiple points or that this information " "is unknown."), ValueMap {"0", "2", "3"}, Values {"Unknown", "Single-Homed", "Multi-Homed"}, MappingStrings { "MOF.DMTF|CIM_AutonomousSystem.IsSingleHomed|2.8.1000"} ] uint8 SingleOrMultiHomed; [UnknownValues {"0"}, Description ( "TransitAS is an enumeration indicating that this AS will " "or will not advertise routes that it learns from other " "ASs. Or, this information may be unknown. A 'non-transit' " "AS will only advertise its own routes."), ValueMap {"0", "2", "3"}, Values {"Unknown", "Transit AS", "Non-Transit AS"}, MappingStrings { "MOF.DMTF|CIM_AutonomousSystem.IsTransit|2.8.1000"} ] uint8 TransitAS; }; // =================================================================== // ComputerSystem // =================================================================== [Version ("3.0.yyyymmdd"), Description ( "A system that provides general purpose or dedicated compute " "capabilities (as indicated by the Dedicated property). " "ComputerSystems may be dependent on or composed of other " "systems - such as a clustered system having Component " "relationships to the participating nodes, or a " "partition having a Dependent relationship to its " "underlying system."), MappingStrings {"MOF.DMTF|CIM_ComputerSystem|2.8.1000"} ] class Cisco_ComputerSystem : Cisco_System { [Write, Correlatable {"Cisco:UserId:Identifier"}, Description ( "User-specified identifiers for the ComputerSystem. " "Information on the identifier type/format is " "provided by the corresponding entry in the " "UserSystemIDFormats array."), ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemUserIdentifiers") ] string UserSystemIdentifiers[]; [Write, Correlatable {"Cisco:UserId:IDFormat"}, Description ( "Specifies the format/type of the corresponding " "entry in the UserSystemIdentifiers array."), ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11..99", "100", "101", "102", "103.."}, Values {"Other", "Host Name", "DNS Name", "IPv4 Address", "IPv6 Address", "User Identifier-Display Name", "SysObjectID", "Physical ID", "MAC Address", "TCP Address", "Reserved", // 100 "IE2100 ID", "AUS ID", "DCR ID", "Reserved"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemUserIdentifiers") ] uint8 UserSystemIDFormats[]; [Correlatable {"Cisco:VendorId:Identifier"}, Description ( "Cisco-specified identifiers for the ComputerSystem. " "Information on the identifier type/format is " "provided by the corresponding entry in the " "VendorSystemIDFormats array."), MappingStrings { "MOF.DMTF|CIM_ComputerSystem.OtherIdentifyingInfo|2.8.1000", "MIB.IETF|SNMPv2-MIB.sysObjectID"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemVendorIdentifiers") ] string VendorSystemIdentifiers[]; [Correlatable {"Cisco:VendorId:IDFormat"}, Description ( "Specifies the format/type of the corresponding " "entry in the VendorSystemIdentifiers array."), ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11..99", "100", "101", "102", "103.."}, Values {"Other", "Host Name", "DNS Name", "IPv4 Address", "IPv6 Address", "User Identifier-Display Name", "SysObjectID", "Physical ID", "MAC Address", "TCP Address", "Reserved", // 100 "IE2100 ID", "AUS ID", "DCR ID", "Reserved"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemVendorIdentifiers") ] uint8 VendorSystemIDFormats[]; [Required, UnknownValues {"0"}, Description ( "Enumeration indicating whether the ComputerSystem is a " "special-purpose System (ie, dedicated to a particular use), " "versus being 'general purpose'. More information is " "provided in the corresponding entry of the property, " "DedicatedDescriptions. A clarification is needed with " "respect to the value 17 (\"Mobile User Device\"). " "An example of a dedicated user device is a mobile " "phone or a barcode scanner in a store that communicates " "via radio frequency. These systems are limited in " "functionality and programmability, and are not " "considered 'general purpose' computing platforms. " "Alternately, an example of a mobile system that is 'general " "purpose' (i.e., is NOT dedicated) is a hand-held computer. " "Although limited in its programmability, new software can " "be downloaded and its functionality expanded by the user."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28..254", "255"}, Values {"Unknown", "Other", "Not Dedicated", "Storage", "Router", "Layer 2 Switch", "Layer 3 Switch", "Central Office Switch", "Hub", "Access Server", "Firewall", "Print Server", "Input-Output", "Web Caching", "Management", "Block Server", "File Server", "Mobile User Device", "Repeater", "Bridge-Extender", "Gateway", "Storage Virtualizer", "Media Library", "Extender Node", "NAS Head", "Self-Contained NAS", "UPS", "IP Phone", "Reserved", // 255 "SNMP sysServicesData"}, MappingStrings {"MIB.IETF|SNMPv2-MIB.sysServices", "MOF.DMTF|CIM_ComputerSystem.Dedicated|2.8.1000"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemDedicatedInfo") ] uint8 Dedicated[]; [Description ( "More information regarding the specific nature of " "the corresponding entry in the Dedicated array. Note " "that if the Dedicated array contains an entry=255, then " "the corresponding value in this array is the specific " "value of the sysServices attribute from the SNMPv2 MIB."), MappingStrings {"MIB.IETF|SNMPv2-MIB.sysServices"}, ArrayType ("Indexed"), CrossIndexedArrays ("ComputerSystemDedicatedInfo") ] string DedicatedDescriptions[]; }; // ================================================================== // NetworkElement // ================================================================== [Version ("3.0.yyyymmdd"), Description ( "A ComputerSystem on a network, providing networking services.") ] class Cisco_NetworkElement : Cisco_ComputerSystem { [Description ("The host name reported by the element."), MappingStrings {"MIB.Cisco|OLD-CISCO-SYS-MIB.hostName"} ] string ReportedHostName; [Description ("The DNS name reported by the element."), MappingStrings {"MIB.Cisco|OLD-CISCO-SYS-MIB.domainName", "MIB.Cisco|CISCO-STACK-MIB.dnsDomainName"} ] string DNSDomainName; [Description ( "Information from the SNMPv2-MIB, the sysLocation " "attribute."), MappingStrings {"MIB.IETF|SNMPv2-MIB.sysLocation"} ] string MIBSysLocation; }; // ================================================================== // InstalledSoftware // ================================================================== [Association, Aggregation, Composition, Version ("3.0.yyyymmdd"), Description ( "A software asset installed as a component on a system."), MappingStrings { "MOF.DMTF|CIM_InstalledSoftwareIdentity|2.8.1000"} ] class Cisco_InstalledSoftware : Cisco_Component { [Aggregate, Required, Override ("GroupComponent"), Description ("The system that scopes the installed software."), MappingStrings {"MOF.DMTF|CIM_InstalledSoftwareIdentity." "GroupComponent|2.8.1000"} ] Cisco_System ref GroupComponent; [Required, Override ("PartComponent"), Description ("The software that is part of/installed on the system."), MappingStrings {"MOF.DMTF|CIM_InstalledSoftwareIdentity." "PartComponent|2.8.1000"} ] Cisco_SoftwareElement ref PartComponent; [Description ( "Boolean indicating whether the software is enabled to execute " "(TRUE) or not (FALSE) on the system.") ] boolean EnabledToRun = FALSE; }; // ================================================================== // Service // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "The logical aspects of any functionality. A Service can be " "composed of lower level Services using the Component " "association. It exists in the context of a scoping System " "as defined by the SystemService association."), MappingStrings {"MOF.DMTF|CIM_Service|2.8.1000"} ] class Cisco_Service : Cisco_EnabledLogicalElement { [Description ( "Contact information for the primary owner of this service."), MappingStrings { "MOF.DMTF|CIM_Service.PrimaryOwnerContact|2.8.1000"} ] string PrimaryOwnerContact; }; // ================================================================== // SystemService // ================================================================== [Association, Aggregation, Composition, Version ("3.0.yyyymmdd"), Description ( "A Service (functionality) is a part of, is provided by, " "and is defined in the scope of a System. These semantics " "are expressed by this association. Note that the cardinality " "of the System reference in the association is 1..*. " "This allows a Service to exist in several System contexts " "simultaneously - which may occur with a Service in both an " "application system and a computer system context."), MappingStrings {"MOF.DMTF|CIM_HostedService|2.8.1000"} ] class Cisco_SystemService : Cisco_Component { [Aggregate, Required, Override ("GroupComponent"), Min (1), Description ("The system that scopes the service."), MappingStrings { "MOF.DMTF|CIM_HostedService.Antecedent|2.8.1000"} ] Cisco_System ref GroupComponent; [Required, Override ("PartComponent"), Description ("The service that is scoped by the system."), MappingStrings { "MOF.DMTF|CIM_HostedService.Dependent|2.8.1000"} ] Cisco_Service ref PartComponent; }; // ================================================================== // ServiceAvailableToElement // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "If functionality is restricted to specific elements, versus " "the entire scoping system, this association is used. For " "example, if Memory is specific to a LogicalModule, then " "this association would describe this limitation."), MappingStrings { "MOF.DMTF|CIM_ServiceAvailableToElement|2.8.1000"} ] class Cisco_ServiceAvailableToElement : Cisco_Top { [Required, Description ("The service available to the element."), MappingStrings {"MOF.DMTF|CIM_ServiceAvailableToElement." "ServiceProvided|2.8.1000"} ] Cisco_Service REF Service; [Required, Description ("The element that may utilize the service."), MappingStrings {"MOF.DMTF|CIM_ServiceAvailableToElement." "UserOfService|2.8.1000"} ] Cisco_Top REF UsingElement; }; // ================================================================== // AccessPoint // ================================================================== [Abstract, Version ("3.0.yyyymmdd"), Description ( "An interface or means of accessing a System or its " "Services. AccessPoints are defined in the context of a " "scoping System, as indicated by the SystemAccessPoint " "association."), MappingStrings {"MOF.DMTF|CIM_ServiceAccessPoint|2.8.1000"} ] class Cisco_AccessPoint : Cisco_EnabledLogicalElement { [Experimental, Description ( "The purpose or context for the access point. For " "example, a RemoteAccessPoint may serve as a 'Gateway' " "for a system, or a particular interface may have a " "defined purpose on a system. This information is " "specified in this property.") ] string AccessContext; }; // ================================================================== // SystemAccessPoint // ================================================================== [Association, Aggregation, Composition, Version ("3.0.yyyymmdd"), Description ( "An AccessPoint is a part of, is provided by, and is defined " "in the scope of a System. These semantics are " "expressed by this association. Note that the cardinality " "of the System reference in the association is 1..*. This " "allows an AccessPoint to exist in several System contexts " "simultaneously - which may occur with an AccessPoint in " "both application and computer system contexts."), MappingStrings {"MOF.DMTF|CIM_HostedAccessPoint|2.8.1000"} ] class Cisco_SystemAccessPoint : Cisco_Component { [Aggregate, Required, Override ("GroupComponent"), Min (1), Description ("The system that scopes the access point."), MappingStrings { "MOF.DMTF|CIM_HostedAccessPoint.Antecedent|2.8.1000"} ] Cisco_System ref GroupComponent; [Required, Override ("PartComponent"), Description ("The access point that is scoped by the system."), MappingStrings { "MOF.DMTF|CIM_HostedAccessPoint.Dependent|2.8.1000"} ] Cisco_AccessPoint ref PartComponent; }; // ================================================================== // ServiceAccess // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "Indicates that the AccessPoint provides a means of " "communicating with / accessing the referenced Service."), MappingStrings {"MOF.DMTF|CIM_ServiceAccessBySAP|2.8.1000"} ] class Cisco_ServiceAccess : Cisco_Dependency { [Required, Override ("Independent"), Description ("The access point for the service."), MappingStrings { "MOF.DMTF|CIM_ServiceAccessBySAP.Dependent|2.8.1000"} ] Cisco_AccessPoint REF Independent; [Required, Override ("Dependent"), Description ("The service being accessed."), MappingStrings { "MOF.DMTF|CIM_ServiceAccessBySAP.Antecedent|2.8.1000"} ] Cisco_Service REF Dependent; }; // ================================================================== // ManagementAccess // ================================================================== [Association, Version ("3.0.yyyymmdd"), Description ( "Indicates that the associated AccessPoint provides " "management access to the element. For example, it might " "be a UDP interface for SNMP access, or a URL."), MappingStrings {"MOF.DMTF|CIM_SAPAvailableForElement|2.8.1000"} ] class Cisco_ManagementAccess : Cisco_Top { [Required, Description ("The access point to manage the element."), MappingStrings {"MOF.DMTF|CIM_SAPAvailableForElement." "AvailableSAP|2.8.1000"} ] Cisco_AccessPoint REF AccessPoint; [Required, Description ( "The element being managed through the access point."), MappingStrings {"MOF.DMTF|CIM_SAPAvailableForElement." "ManagedElement|2.8.1000"} ] Cisco_Top REF AccessedElement; }; // =================================================================== // end of file // =================================================================== --- NEW FILE: Cisco_Job.mof --- // The Job Class of the CIM-CX Model // Classes in this file: Job // Date of Original Release: December 15, 2004 // Change History: // February 9, 2005 // - Added PrimaryOwnerContact for Job, and updated the ErrorInfo // property name and semantics to allow any job results to be // reported (now, JobResultInformation) // Copyright (c) 2004-2005, Cisco Systems Inc. #pragma locale ("en_US") // =================================================================== // Job // =================================================================== [Version ("3.0.yyyymmdd"), Description ( "A Job is a LogicalElement representing a unit of work that can " "be executed, such as a script, a method invocation, a batch request " "for compute or data services on a grid, or a print job. A Job " "is distinct from a Process in that a Job can be scheduled and can " "move from system to system. Also, its execution is not limited to " "a single system/operating system. When a Job is executing, " "resultant Processes MAY be instantiated and individually managed. \n" "\n" "Note that a Job's next scheduled run time is reported in the " "property, NextExecutionTime. The schedule by which a Job's " "NextExecutionTime MAY be calculated is defined by an associated " "PolicyTimePeriodCondition. To indicate that a Job is " "recurring, use the JobRunTimes property."), MappingStrings {"MOF.DMTF|CIM_Job|2.8.1000", "MOF.DMTF|CIM_ConcreteJob|2.8.1000"} ] class Cisco_Job : Cisco_LogicalElement { [Description ( "Contact information for the primary owner of this job.") ] string PrimaryOwnerContact; [Required, UnknownValues {"0"}, Description ( "JobState is an integer enumeration that indicates the " "operational state of a Job. It can also indicate " "transitions between these states, for example, 'Shutting " "Down' and 'Starting'. Following is a brief description of " "the states: \n" "Not Started - New (2) indicates that the job is not or has " "never been started. \n" "Starting (3) indicates that the job is moving from the " "'Not Started', 'Suspended', or 'Service' states into the " "'Running' state. \n" "Running (4) indicates that the Job is currently executing. \n" "Suspended - Paused (5) indicates that the Job is currently " "stopped, but may be restarted in a seamless manner. \n" "Shutting Down (6) indicates the job is moving to a " "'Completed', 'Terminated', or 'Killed' state. \n" "Completed (7) indicates that the job has completed " "normally. \n" "Terminated (8) indicates that the job has been stopped by a " "'Terminate' state change request. The job and all its " "underlying processes are ended and may be restarted (this " "is job-specific) only as a new job. \n" "Killed (9) indicates that the job has been stopped by a " "'Kill' state change request. Underlying processes may have " "been left running and cleanup may be required to free up " "resources. \n" "Stopped with Exception (10) indicates that the Job is in an " "abnormal state that may be indicative of an error condition. " "The ErrorInformation property MAY contain additional data. \n" "In Service - Debug (11) indicates that the Job is in a vendor-" "specific state that supports problem discovery and/or resolution."), Value... [truncated message content] |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 10:56:16
|
Update of /cvsroot/sblim/ecute/bender In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27566/bender Log Message: Directory /cvsroot/sblim/ecute/bender added to the repository |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 10:56:04
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/funcionality In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27482/Plugin/com/ibm/ecute/plugins/output/funcionality Modified Files: mofCreator.java Log Message: 2.1 beta 2: full flavors support - flavors import - flavors modification - flavors check and repair - flavors export Index: mofCreator.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/funcionality/mofCreator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- mofCreator.java 8 Apr 2005 09:11:16 -0000 1.4 +++ mofCreator.java 11 Aug 2005 10:55:48 -0000 1.5 @@ -477,9 +477,10 @@ int pos = defaultValue.indexOf('\n'); while (pos >= 0 && (pos <= defaultValue.length() + 1)) { defaultValue = - defaultValue.substring(0, pos + 1) - + "//" + defaultValue.substring(0, pos) + + "\n\r//" + defaultValue.substring(pos + 1); + pos = defaultValue.indexOf('\n', pos); pos = defaultValue.indexOf('\n', pos + 1); } defaultValue += "\r\n\r\n"; |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 10:56:03
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27482/Plugin/com/ibm/ecute/rsa/core/internal/properties Modified Files: CheckAndRepair.java Log Message: 2.1 beta 2: full flavors support - flavors import - flavors modification - flavors check and repair - flavors export Index: CheckAndRepair.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/CheckAndRepair.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- CheckAndRepair.java 10 Aug 2005 17:26:00 -0000 1.5 +++ CheckAndRepair.java 11 Aug 2005 10:55:48 -0000 1.6 @@ -1284,6 +1284,8 @@ } frame.addLine2Log(""); + frame.addLine2Log("--> Checking association end names complete"); + frame.addLine2Log(""); if(associationEndError){ frame.updateImage(frame.getErrorImage()); |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 10:56:03
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27482/Plugin/com/ibm/ecute/plugins/output Modified Files: CIMMOFOutputPlugin.java Log Message: 2.1 beta 2: full flavors support - flavors import - flavors modification - flavors check and repair - flavors export Index: CIMMOFOutputPlugin.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/CIMMOFOutputPlugin.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- CIMMOFOutputPlugin.java 5 Aug 2005 07:55:14 -0000 1.8 +++ CIMMOFOutputPlugin.java 11 Aug 2005 10:55:48 -0000 1.9 @@ -187,7 +187,10 @@ } private void saveConfiguration(CIMMOFOutputDialog panel) { - path = panel.getPathText().getText() + System.getProperty("file.separator"); + path = panel.getPathText().getText(); + if(!path.equalsIgnoreCase("") && !path.endsWith(System.getProperty("file.separator"))){ + path = path + System.getProperty("file.separator"); + } completeClasses = panel.getFullClassesCheckBox().isSelected(); saveConfiguration(); } |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 10:56:03
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/ui/internal/wizards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27482/Plugin/com/ibm/ecute/rsa/ui/internal/wizards Modified Files: ExportCIMMOFWizardPage.java Log Message: 2.1 beta 2: full flavors support - flavors import - flavors modification - flavors check and repair - flavors export Index: ExportCIMMOFWizardPage.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/ui/internal/wizards/ExportCIMMOFWizardPage.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- ExportCIMMOFWizardPage.java 10 Aug 2005 17:26:00 -0000 1.13 +++ ExportCIMMOFWizardPage.java 11 Aug 2005 10:55:48 -0000 1.14 @@ -613,8 +613,8 @@ writeConfiguration(mofOutpuConfig); CheckAndRepair checker = new CheckAndRepair(getModel()); - ProgressLogDialog frame = new ProgressLogDialog(shell); - if(checker.checkAndRepairAll(frame, true)){ + //ProgressLogDialog frame = new ProgressLogDialog(shell); + if(checker.checkAndRepairAll(progressLog, true)){ progressLog.addLine2Log("Check and Repair passed successfully"); progressLog.addLine2Log(""); @@ -629,8 +629,8 @@ } return true; } else { - progressLog.close(); - frame.addLine2Log("--> The model contains association end errors so the export has been aborted"); + //progressLog.close(); + progressLog.addLine2Log("--> The model contains association end errors so the export has been aborted"); return true; } } |
|
From: Benjamin B. <bg...@us...> - 2005-08-11 10:56:03
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27482/Plugin/com/ibm/ecute/utils Modified Files: Constants.java Log Message: 2.1 beta 2: full flavors support - flavors import - flavors modification - flavors check and repair - flavors export Index: Constants.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/utils/Constants.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- Constants.java 5 Aug 2005 07:55:14 -0000 1.19 +++ Constants.java 11 Aug 2005 10:55:48 -0000 1.20 @@ -22,7 +22,7 @@ public class Constants { - public static final String pluginVersion="2.1 beta 1h1"; + public static final String pluginVersion="2.1 beta 2"; public static final String toolName="ECUTE"; public static final String qualifiersFileName="QualifiersList.txt"; |
|
From: Benjamin B. <bg...@us...> - 2005-08-10 17:26:08
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/ui/internal/wizards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3509/Plugin/com/ibm/ecute/rsa/ui/internal/wizards Modified Files: ExportCIMMOFWizardPage.java Log Message: Complete check and repair Index: ExportCIMMOFWizardPage.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/ui/internal/wizards/ExportCIMMOFWizardPage.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- ExportCIMMOFWizardPage.java 29 Jun 2005 11:24:02 -0000 1.12 +++ ExportCIMMOFWizardPage.java 10 Aug 2005 17:26:00 -0000 1.13 @@ -47,6 +47,7 @@ import com.ibm.ecute.EntryPoint; import com.ibm.ecute.rsa.core.internal.dialogs.PackageSelectionDialog; import com.ibm.ecute.rsa.core.internal.dialogs.ProgressLogDialog; +import com.ibm.ecute.rsa.core.internal.properties.CheckAndRepair; import com.ibm.ecute.rsa.ui.internal.wizards.command.ModelLabelProvider; import com.ibm.ecute.rsa.ui.internal.wizards.command.ModelPackageContentProvider; import com.ibm.ecute.utils.Constants; @@ -610,16 +611,28 @@ return false; } writeConfiguration(mofOutpuConfig); - - EntryPoint entryPoint = new EntryPoint(mofOutpuConfig, progressLog); - boolean result = entryPoint.returnResult(); - if(result){ - progressLog.allTasksDone(); - }else{ - progressLog.updateImage(progressLog.getErrorImage()); - progressLog.setTitle("Error"); - } - return true; + + CheckAndRepair checker = new CheckAndRepair(getModel()); + ProgressLogDialog frame = new ProgressLogDialog(shell); + if(checker.checkAndRepairAll(frame, true)){ + + progressLog.addLine2Log("Check and Repair passed successfully"); + progressLog.addLine2Log(""); + + EntryPoint entryPoint = new EntryPoint(mofOutpuConfig, progressLog); + boolean result = entryPoint.returnResult(); + if(result){ + progressLog.allTasksDone(); + }else{ + progressLog.updateImage(progressLog.getErrorImage()); + progressLog.setTitle("Error"); + } + return true; + } else { + progressLog.close(); + frame.addLine2Log("--> The model contains association end errors so the export has been aborted"); + return true; + } } protected boolean allowNewContainerName() |
|
From: Benjamin B. <bg...@us...> - 2005-08-10 17:26:08
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3509/Plugin/com/ibm/ecute/rsa/core/internal/properties Modified Files: QualifiersPropertySection.java CheckAndRepair.java FlavorsHelper.java Log Message: Complete check and repair Index: FlavorsHelper.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/FlavorsHelper.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- FlavorsHelper.java 10 Aug 2005 07:19:39 -0000 1.9 +++ FlavorsHelper.java 10 Aug 2005 17:26:00 -0000 1.10 @@ -432,7 +432,7 @@ return null; } - private static boolean disableOverrideSetFirstTime(NamedElement element, Qualifier qualifier){ + public static boolean disableOverrideSetFirstTime(NamedElement element, Qualifier qualifier){ boolean isSetFirstTime = true; String qualifierValue = null; @@ -1171,7 +1171,7 @@ if(element instanceof Class){ for(int j = 0; j < parents.size(); j++){ - String qualValue = getQualifiersStereotypeQualifer((Class)parents.get(j), qualifierName); + String qualValue = getQualifiersStereotype_QualiferValue((Class)parents.get(j), qualifierName); if(qualValue != null){ return(new EffectiveInheritedValue(qualValue, (Class)parents.get(j))); } @@ -1187,6 +1187,7 @@ for(int i = 0; i < attributeList.size(); i++){ if(((Property)attributeList.get(i)).getName().equalsIgnoreCase(property.getName())){ attribute = (Property)attributeList.get(i); + break; } } if(propertyIsOwnedEnd(property)){ @@ -1194,13 +1195,14 @@ for(int i = 0; i < endList.size(); i++){ if(((Property)endList.get(i)).getName().equalsIgnoreCase(property.getName())){ attribute = (Property)endList.get(i); + break; } } } if(attribute != null){ - String qualValue = getQualifiersStereotypeQualifer(attribute, qualifierName); + String qualValue = getQualifiersStereotype_QualiferValue(attribute, qualifierName); if(qualValue != null){ return(new EffectiveInheritedValue(qualValue, (Class)parents.get(j))); } @@ -1222,12 +1224,13 @@ for(int i = 0; i < operationsList.size(); i++){ if(((Operation)operationsList.get(i)).getName().equalsIgnoreCase(operation.getName())){ method = (Operation)operationsList.get(i); + break; } } if(method != null){ - String qualValue = getQualifiersStereotypeQualifer(method, qualifierName); + String qualValue = getQualifiersStereotype_QualiferValue(method, qualifierName); if(qualValue != null){ return(new EffectiveInheritedValue(qualValue, (Class)parents.get(j))); } @@ -1257,7 +1260,9 @@ List parameterList = method.getOwnedParameters(); for(int k = 0; k < parameterList.size(); k++){ if(((Parameter)parameterList.get(k)).getName().equalsIgnoreCase(parameter.getName())){ - param = (Parameter)parameterList.get(k); + param = (Parameter)parameterList.get(k); + i = operationsList.size(); + break; } } } @@ -1265,7 +1270,7 @@ if(param != null){ - String qualValue = getQualifiersStereotypeQualifer(param, qualifierName); + String qualValue = getQualifiersStereotype_QualiferValue(param, qualifierName); if(qualValue != null){ return(new EffectiveInheritedValue(qualValue, (Class)parents.get(j))); } @@ -1332,7 +1337,11 @@ if(effectiveInheritedValue != null){ return effectiveInheritedValue.getValue(); } else { - return qualifier.defaultValue; + if(qualifier.defaultValue == null){ + return "null"; + } else { + return qualifier.defaultValue; + } } } @@ -1627,7 +1636,7 @@ return parents; } - private static String getQualifiersStereotypeQualifer(NamedElement element, String qualifierName){ + private static String getQualifiersStereotype_QualiferValue(NamedElement element, String qualifierName){ String qualifierValue = null; Stereotype cimStereotype = element.getAppliedStereotype("CIM::Qualifiers"); @@ -1905,6 +1914,18 @@ return returnList; } + public ArrayList getApplicable_NonNative_ToSubclass_Qualifiers(NamedElement element){ + ArrayList list = getApplicableQualifiers(element); + ArrayList returnList = new ArrayList(); + for(int i = 0; i < list.size(); i++){ + Qualifier qualifier = (Qualifier)list.get(i); + if(!isNativeMappedQualifier(qualifier) && !qualifier.RestrictedFlavor){ + returnList.add(qualifier); + } + } + return returnList; + } + public void mapQualifierToModel(Element element, String qualifierName, String newValue){ // AGGREGATION, COMPOSITION Index: CheckAndRepair.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/CheckAndRepair.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- CheckAndRepair.java 10 Aug 2005 07:19:39 -0000 1.4 +++ CheckAndRepair.java 10 Aug 2005 17:26:00 -0000 1.5 @@ -54,27 +54,63 @@ } public void checkAll(ProgressLogDialog frame){ + frame.setNumberOfTask(1); + frame.setTitle("Checking model"); + checkDisableOverrideQualifiers(frame); + checkAssociationEndNames(frame); + + frame.addLine2Log("***************************************************************************"); + frame.addLine2Log(" Model check finished"); + frame.addLine2Log("***************************************************************************"); + + frame.allTasksDone(); } - public void checkAndRepairAll(ProgressLogDialog frame){ + public boolean checkAndRepairAll(ProgressLogDialog frame, boolean export){ + frame.setNumberOfTask(1); + frame.setTitle("Checking and repairing model"); + applyAllNativeInheritedValues(frame); checkAndRepairDisableOverrideQualifiers(frame); + repairDuplicateNonNativeQualifierValues(frame); + boolean cont = checkAssociationEndNames(frame); + + frame.addLine2Log("***************************************************************************"); + frame.addLine2Log(" Model check and repair finished"); + frame.addLine2Log("***************************************************************************"); + frame.addLine2Log(""); + + frame.allTasksDone(); + + if(export && cont){ + return true; + } + return false; } public void applyAllNativeInheritedValues(ProgressLogDialog frame){ frame.addLine2Log("*******************************************************"); - frame.addLine2Log("Propagating all native inherited values"); + frame.addLine2Log(" Propagating all native inherited values"); frame.addLine2Log("--------------------------------------------------"); frame.addLine2Log(""); ArrayList orderedModelClasses = getOrderedModelClasses(); + + frame.setSubTask("Propagating native inherited values"); + frame.setTaskSize(orderedModelClasses.size()); + for(int i = 0; i < orderedModelClasses.size(); i++){ flavorsHelper.applyNativeInheritedValues((NamedElement)orderedModelClasses.get(i), true); + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); + } } - frame.addLine2Log("--> complete"); + frame.addLine2Log("--> Propagating native inherited values complete"); frame.addLine2Log(""); } @@ -82,7 +118,7 @@ private void checkDisableOverrideQualifiers(ProgressLogDialog frame){ frame.addLine2Log("***************************************************************************"); - frame.addLine2Log("Checking ToSubclass DisableOverride qualifiers"); + frame.addLine2Log(" Checking ToSubclass DisableOverride qualifiers"); frame.addLine2Log("---------------------------------------------------------"); // get all model base classes @@ -103,6 +139,10 @@ } } } + + frame.setSubTask("Checking ToSubclass DisableOverride qualifiers"); + int taskSize = modelBaseClasses.size() + modelBaseAssociationClasses.size() + 4 * orderedModelClasses.size(); + frame.setTaskSize(taskSize); // check classes checkDisableOverrideClasses(frame, modelBaseClasses, orderedModelClasses, false); @@ -123,18 +163,18 @@ checkDisableOverrideParameters(frame, orderedModelClasses, false); frame.addLine2Log(""); - frame.addLine2Log("--> DisableOverride check complete"); + frame.addLine2Log("--> Checking ToSubclass DisableOverride qualifiers complete"); frame.addLine2Log(""); - frame.addLine2Log("***************************************************************************"); + //frame.addLine2Log("***************************************************************************"); } private void checkAndRepairDisableOverrideQualifiers(ProgressLogDialog frame){ frame.addLine2Log("***************************************************************************"); - frame.addLine2Log("Repairing ToSubclass DisableOverride qualifiers"); + frame.addLine2Log(" Repairing ToSubclass DisableOverride qualifiers"); frame.addLine2Log("---------------------------------------------------------"); - + // get all model base classes ArrayList orderedModelClasses = getOrderedModelClasses(); ArrayList modelBaseClasses = new ArrayList(); @@ -153,7 +193,12 @@ } } } - + + frame.setSubTask("Repairing ToSubclass DisableOverride qualifiers"); + int taskSize = modelBaseClasses.size() + modelBaseAssociationClasses.size() + 4 * orderedModelClasses.size(); + frame.setTaskSize(taskSize); + + // check classes checkDisableOverrideClasses(frame, modelBaseClasses, orderedModelClasses, true); @@ -175,7 +220,7 @@ frame.addLine2Log(""); frame.addLine2Log("--> DisableOverride repair complete"); frame.addLine2Log(""); - frame.addLine2Log("***************************************************************************"); + //frame.addLine2Log("***************************************************************************"); } private ArrayList getOrderedModelClasses(){ @@ -234,6 +279,20 @@ return classes; } + private ArrayList getAllModelChildClasses(){ + ArrayList modelChildClasses = new ArrayList(); + ArrayList modelClasses = getAllModelClasses(); + + for(int i = 0; i < modelClasses.size(); i++){ + // add class to model child classes if the class has no parents + if(((Class)modelClasses.get(i)).getGenerals().size() != 0){ + modelChildClasses.add(modelClasses.get(i)); + } + } + + return modelChildClasses; + } + public ArrayList getAllChildClasses(Class class_){ ArrayList childClasses = new ArrayList(); @@ -486,6 +545,12 @@ } } } + + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); + } } if(!classErrors){ @@ -596,6 +661,12 @@ } } } + + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); + } } if(!classErrors){ @@ -723,6 +794,12 @@ } } } + + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); + } } if(!referenceErrors){ @@ -849,6 +926,12 @@ } } } + + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); + } } if(!propertyErrors){ @@ -975,6 +1058,12 @@ } } } + + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); + } } if(!methodErrors){ @@ -1108,6 +1197,12 @@ } } } + + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); + } } if(!parameterErrors){ @@ -1147,28 +1242,288 @@ return false; } - private void removeNonNativeQualifierValue(NamedElement element, String qualifierName){ + private boolean checkAssociationEndNames(ProgressLogDialog frame){ - Stereotype cimStereotype = element.getAppliedStereotype("CIM::Qualifiers"); - int stereotypePropertyIndex = ((List) element.getValue(cimStereotype, "QualifierName")).size(); - List qualifierNames = (List) element.getValue(cimStereotype, "QualifierName"); - List qualifierValues = (List) element.getValue(cimStereotype, "QualifierValue"); - List names = new ArrayList(); - List values = new ArrayList(); - names.addAll(qualifierNames); - values.addAll(qualifierValues); - qualifierNames.clear(); - qualifierValues.clear(); + frame.addLine2Log("***************************************************************************"); + frame.addLine2Log(" Checking association end names"); + frame.addLine2Log("---------------------------------------------------------"); + + boolean associationEndError = false; - for(int i = 0; i < stereotypePropertyIndex; i++){ - String name = (String)names.get(i); - String value = (String)values.get(i); + // get all association classes + ArrayList modelClasses = getOrderedModelClasses(); + ArrayList modelAssociationClasses = new ArrayList(); + for(int i = 0; i < modelClasses.size(); i++){ + if(modelClasses.get(i) instanceof AssociationClass){ + modelAssociationClasses.add(modelClasses.get(i)); + } + } + + frame.setSubTask("Checking association end names"); + frame.setTaskSize(modelAssociationClasses.size()); + + for(int i = 0; i < modelAssociationClasses.size(); i++){ + AssociationClass aClass = (AssociationClass)modelAssociationClasses.get(i); + List associationEnds = aClass.getOwnedEnds(); + for(int j = 0; j < associationEnds.size(); j++){ + Property thisEnd = (Property)associationEnds.get(j); + if(thisEnd.getName() == null || thisEnd.getName().equalsIgnoreCase("")){ + frame.addLine2Log(""); + frame.addLine2Log("Error: The association end of association class " + ((NamedElement)thisEnd.getOwner().getOwner().getOwner()).getName() + "::" + + ((NamedElement)thisEnd.getOwner().getOwner()).getName() + "::" + + ((NamedElement)thisEnd.getOwner()).getName() + " which associates class " + thisEnd.getType().getName() + " is not named."); + + associationEndError = true; + } + } + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + frame.addLine2Log(""); + + if(associationEndError){ + frame.updateImage(frame.getErrorImage()); + return false; + } else { + return true; + } + } + + public void repairDuplicateNonNativeQualifierValues(ProgressLogDialog frame){ + + frame.addLine2Log("*******************************************************"); + frame.addLine2Log(" Repairing all non-native inherited values"); + frame.addLine2Log("--------------------------------------------------"); + frame.addLine2Log(""); + + ArrayList modelChildClasses = getAllModelChildClasses(); + + frame.setSubTask("Repairing all non-native inherited values"); + frame.setTaskSize(modelChildClasses.size()); + + List classProperties; + List classMethods; + List methodParameters; + List associationEnds; + + ArrayList classQualifiers = null; + ArrayList propertyQualifiers = null; + ArrayList methodQualifiers = null; + ArrayList parameterQualifiers = null; + ArrayList associationEndQualifiers = null; + + + + for(int i = 0; i < modelChildClasses.size(); i++){ + // get the class + Class thisClass = (Class)modelChildClasses.get(i); + // get the properties, methods and association ends (if applicable) of the class + classProperties = thisClass.getOwnedAttributes(); + classMethods = thisClass.getOwnedOperations(); + if(thisClass instanceof AssociationClass){ + associationEnds = ((AssociationClass)thisClass).getOwnedEnds(); + } else { + associationEnds = null; + } - if(!qualifierName.equalsIgnoreCase(name)){ - qualifierNames.add(name); - qualifierValues.add(value); + // check non-native class qualifiers + if(classQualifiers == null){ + classQualifiers = flavorsHelper.getApplicable_NonNative_ToSubclass_Qualifiers(thisClass); + } + for(int j = 0; j < classQualifiers.size(); j++){ + Qualifier qualifier = (Qualifier)classQualifiers.get(j); + if(FlavorsHelper.qualifierValue(thisClass, qualifier) != null && + FlavorsHelper.effectiveInheritedValue(thisClass, qualifier.name) != null && + FlavorsHelper.qualifierValue(thisClass, qualifier).equalsIgnoreCase(FlavorsHelper.effectiveInheritedValue(thisClass, qualifier.name).getValue())){ + + removeNonNativeQualifierValue(thisClass, qualifier.name); + } + // special case for disable override qualifiers if they were set before + if(qualifier.DissableOverrideFlavor && !FlavorsHelper.disableOverrideSetFirstTime(thisClass, qualifier)){ + + removeNonNativeQualifierValue(thisClass, qualifier.name); + } + } + + // check non-native property qualifiers of the current class + if(classProperties != null && classProperties.size() > 0){ + if(propertyQualifiers == null){ + propertyQualifiers = flavorsHelper.getApplicable_NonNative_ToSubclass_Qualifiers((Property)classProperties.get(0)); + } + for(int j = 0; j < classProperties.size(); j++){ + Property thisProperty = (Property)classProperties.get(j); + // remove override qualifier if there's no element which can be overwritten + if(FlavorsHelper.override(thisProperty) && FlavorsHelper.canOverride(thisProperty) == null){ + removeNonNativeQualifierValue(thisProperty, "Override"); + } + + // repair the qualifiers only if the override qualifier is set and if a property exists that can be overwritten + if(FlavorsHelper.override(thisProperty) && FlavorsHelper.canOverride(thisProperty) != null){ + for(int k = 0; k < propertyQualifiers.size(); k++){ + Qualifier qualifier = (Qualifier)propertyQualifiers.get(k); + if(FlavorsHelper.qualifierValue(thisProperty, qualifier) != null && + FlavorsHelper.effectiveInheritedValue(thisProperty, qualifier.name) != null && + FlavorsHelper.qualifierValue(thisProperty, qualifier).equalsIgnoreCase(FlavorsHelper.effectiveInheritedValue(thisProperty, qualifier.name).getValue())){ + + removeNonNativeQualifierValue(thisProperty, qualifier.name); + } + // special case for disable override qualifiers if they were set before + if(qualifier.DissableOverrideFlavor && !FlavorsHelper.disableOverrideSetFirstTime(thisProperty, qualifier)){ + + removeNonNativeQualifierValue(thisProperty, qualifier.name); + } + } + } + } + } + + // check non-native method and parameter qualifiers of the current class + if(classMethods != null && classMethods.size() > 0){ + if(methodQualifiers == null){ + methodQualifiers = flavorsHelper.getApplicable_NonNative_ToSubclass_Qualifiers((Operation)classMethods.get(0)); + } + for(int j = 0; j < classMethods.size(); j++){ + Operation thisMethod = (Operation)classMethods.get(j); + methodParameters = null; + + // remove override qualifier if there's no element which can be overwritten + if(FlavorsHelper.override(thisMethod) && FlavorsHelper.canOverride(thisMethod) == null){ + removeNonNativeQualifierValue(thisMethod, "Override"); + } + + // repair the qualifiers only if the override qualifier is set and if a method exists that can be overwritten + if(FlavorsHelper.override(thisMethod) && FlavorsHelper.canOverride(thisMethod) != null){ + for(int k = 0; k < methodQualifiers.size(); k++){ + Qualifier qualifier = (Qualifier)methodQualifiers.get(k); + if(FlavorsHelper.qualifierValue(thisMethod, qualifier) != null && + FlavorsHelper.effectiveInheritedValue(thisMethod, qualifier.name) != null && + FlavorsHelper.qualifierValue(thisMethod, qualifier).equalsIgnoreCase(FlavorsHelper.effectiveInheritedValue(thisMethod, qualifier.name).getValue())){ + + removeNonNativeQualifierValue(thisMethod, qualifier.name); + } + // special case for disable override qualifiers if they were set before + if(qualifier.DissableOverrideFlavor && !FlavorsHelper.disableOverrideSetFirstTime(thisMethod, qualifier)){ + + removeNonNativeQualifierValue(thisMethod, qualifier.name); + } + } + // check the method parameters + methodParameters = thisMethod.getOwnedParameters(); + if(methodParameters != null && methodParameters.size() > 0){ + if(parameterQualifiers == null){ + parameterQualifiers = flavorsHelper.getApplicable_NonNative_ToSubclass_Qualifiers((Parameter)methodParameters.get(0)); + } + for(int m = 0; m < methodParameters.size(); m++){ + Parameter thisParameter = (Parameter)methodParameters.get(m); + for(int n = 0; n < parameterQualifiers.size(); n++){ + Qualifier qualifier = (Qualifier)parameterQualifiers.get(n); + if(FlavorsHelper.qualifierValue(thisParameter, qualifier) != null && + FlavorsHelper.effectiveInheritedValue(thisParameter, qualifier.name) != null && + FlavorsHelper.qualifierValue(thisParameter, qualifier).equalsIgnoreCase(FlavorsHelper.effectiveInheritedValue(thisParameter, qualifier.name).getValue())){ + + removeNonNativeQualifierValue(thisParameter, qualifier.name); + } + // special case for disable override qualifiers if they were set before + if(qualifier.DissableOverrideFlavor && !FlavorsHelper.disableOverrideSetFirstTime(thisParameter, qualifier)){ + + removeNonNativeQualifierValue(thisParameter, qualifier.name); + } + } + } + } + } + } + } + + // check non-native association end qualifiers of the current class + if(associationEnds != null && associationEnds.size() > 0){ + + if(associationEndQualifiers == null){ + associationEndQualifiers = flavorsHelper.getApplicable_NonNative_ToSubclass_Qualifiers((Property)associationEnds.get(0)); + } + for(int j = 0; j < associationEnds.size(); j++){ + Property thisProperty = (Property)associationEnds.get(j); + + // remove override qualifier if there's no element which can be overwritten + if(FlavorsHelper.override(thisProperty) && FlavorsHelper.canOverride(thisProperty) == null){ + removeNonNativeQualifierValue(thisProperty, "Override"); + } + + // repair the qualifiers only if the override qualifier is set and if a property exists that can be overwritten + if(FlavorsHelper.override(thisProperty) && FlavorsHelper.canOverride(thisProperty) != null){ + for(int k = 0; k < associationEndQualifiers.size(); k++){ + Qualifier qualifier = (Qualifier)associationEndQualifiers.get(k); + if(FlavorsHelper.qualifierValue(thisProperty, qualifier) != null && + FlavorsHelper.effectiveInheritedValue(thisProperty, qualifier.name) != null && + FlavorsHelper.qualifierValue(thisProperty, qualifier).equalsIgnoreCase(FlavorsHelper.effectiveInheritedValue(thisProperty, qualifier.name).getValue())){ + + removeNonNativeQualifierValue(thisProperty, qualifier.name); + } + // special case for disable override qualifiers if they were set before + if(qualifier.DissableOverrideFlavor && !FlavorsHelper.disableOverrideSetFirstTime(thisProperty, qualifier)){ + + removeNonNativeQualifierValue(thisProperty, qualifier.name); + } + } + } + } + } + + try { + frame.increaseTaskProgress(); + } catch (Exception e) { + e.printStackTrace(); } } + + frame.addLine2Log("--> Repairing all non-native inherited values complete"); + frame.addLine2Log(""); + } + + private void removeNonNativeQualifierValue(final NamedElement element, final String qualifierName){ + + EditingDomain editingDomain = UMLModeler.getEditingDomain(); + + try { + + editingDomain.run(new ResourceSetModifyOperation("applyNativeInheritedValues") { + + protected void execute(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { + + Stereotype cimStereotype = element.getAppliedStereotype("CIM::Qualifiers"); + int stereotypePropertyIndex = ((List) element.getValue(cimStereotype, "QualifierName")).size(); + List qualifierNames = (List) element.getValue(cimStereotype, "QualifierName"); + List qualifierValues = (List) element.getValue(cimStereotype, "QualifierValue"); + List names = new ArrayList(); + List values = new ArrayList(); + names.addAll(qualifierNames); + values.addAll(qualifierValues); + qualifierNames.clear(); + qualifierValues.clear(); + + for(int i = 0; i < stereotypePropertyIndex; i++){ + String name = (String)names.get(i); + String value = (String)values.get(i); + + if(!qualifierName.equalsIgnoreCase(name)){ + qualifierNames.add(name); + qualifierValues.add(value); + } + } + } + }, new NullProgressMonitor()); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + } public boolean isReference(NamedElement element){ Index: QualifiersPropertySection.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/QualifiersPropertySection.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- QualifiersPropertySection.java 10 Aug 2005 07:19:39 -0000 1.27 +++ QualifiersPropertySection.java 10 Aug 2005 17:26:00 -0000 1.28 @@ -152,37 +152,9 @@ }); - //formdata inherited values buootn -// formdata = new FormData(); -// formdata.left = new FormAttachment(showAllButton,30); -// formdata.top = new FormAttachment(0,0); -// inheritedValueButton = getWidgetFactory().createButton(composite1, "Apply inherited values", 8); -// inheritedValueButton.setLayoutData(formdata); -// inheritedValueButton.addSelectionListener(new SelectionAdapter() { -// -// public void widgetSelected(SelectionEvent selectionevent) -// { -// final NamedElement element = (NamedElement)getEObject(); -//// FlavorsHelper flavorHelper = new FlavorsHelper(element.getModel()); -//// flavorHelper.applyNativeInheritedValues(element, true); -// -// try { -// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); -// } catch (Exception e) { -// } -// Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); -// ProgressLogDialog frame = new ProgressLogDialog(shell); -// -// CheckAndRepair checker = new CheckAndRepair(element.getModel()); -// checker.applyAllNativeInheritedValues(frame); -// refresh(); -// } -// -// }); - //formdata inherited values button formdata = new FormData(); - formdata.left = new FormAttachment(showAllButton,30); + formdata.left = new FormAttachment(showAllButton,20); formdata.top = new FormAttachment(0,0); checkButton = getWidgetFactory().createButton(composite1, "Check model", 8); checkButton.setLayoutData(formdata); @@ -230,13 +202,57 @@ ProgressLogDialog frame = new ProgressLogDialog(shell); CheckAndRepair checkAndRepair = new CheckAndRepair(element.getModel()); - checkAndRepair.checkAndRepairAll(frame); - frame.allTasksDone(); + checkAndRepair.checkAndRepairAll(frame, false); + refresh(); } }); + //formdata inherited values button +// formdata = new FormData(); +// formdata.left = new FormAttachment(checkAndRepairButton,10); +// formdata.top = new FormAttachment(0,0); +// inheritedValueButton = getWidgetFactory().createButton(composite1, "Repair non native qualifiers", 8); +// inheritedValueButton.setLayoutData(formdata); +// inheritedValueButton.addSelectionListener(new SelectionAdapter() { +// +// public void widgetSelected(SelectionEvent selectionevent) +// { +// final NamedElement element = (NamedElement)getEObject(); +// EditingDomain editingDomain = UMLModeler.getEditingDomain(); +// try { +// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); +// } catch (Exception e) { +// } +// Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); +// +// final ProgressLogDialog frame = new ProgressLogDialog(shell); +// final CheckAndRepair checker = new CheckAndRepair(element.getModel()); +// +// try { +// +// editingDomain.run(new ResourceSetModifyOperation("applyNativeInheritedValues") { +// +// protected void execute(IProgressMonitor monitor) throws InvocationTargetException, +// InterruptedException { +// checker.repairDuplicateNonNativeQualifierValues(frame); +// } +// }, new NullProgressMonitor()); +// } catch (InvocationTargetException e) { +// e.printStackTrace(); +// } catch (InterruptedException e) { +// e.printStackTrace(); +// } +// +// //checker.repairDuplicateNonNativeQualifierValues(frame); +// frame.allTasksDone(); +// refresh(); +// } +// +// }); + + //Table qualifiersTable = getWidgetFactory().createTable(composite1, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.SINGLE| SWT.MouseDoubleClick); |
|
From: Benjamin B. <bg...@us...> - 2005-08-10 17:26:08
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/dialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3509/Plugin/com/ibm/ecute/rsa/core/internal/dialogs Modified Files: EditQualifiersDialog.java Log Message: Complete check and repair Index: EditQualifiersDialog.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/dialogs/EditQualifiersDialog.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- EditQualifiersDialog.java 5 Aug 2005 13:44:07 -0000 1.13 +++ EditQualifiersDialog.java 10 Aug 2005 17:26:00 -0000 1.14 @@ -535,7 +535,7 @@ QualifierValueObject valueObject = (QualifierValueObject)valueTable.getItem(ai).getData(); String name = valueObject.name; - if(!valueObject.value.equalsIgnoreCase(valueObject.defaultValue)){ +// if(!valueObject.value.equalsIgnoreCase(valueObject.defaultValue)){ MessageBox messageBox = new MessageBox(Display.getCurrent().getActiveShell(), SWT.YES|SWT.NO| @@ -555,17 +555,17 @@ //addToDeletedQualifiers(name); //setDefinitionTableChanged(); } - } else { - MessageBox messageBox = - new MessageBox(Display.getCurrent().getActiveShell(), - SWT.OK| - SWT.ICON_INFORMATION); - messageBox.setText("Can't remove qualifier value"); - messageBox.setMessage("The value of the '" + name + "' qualifier is\n" + - "already equal to its global default value.\n" + - "So the value of this qualifier can't be removed."); - messageBox.open(); - } +// } else { +// MessageBox messageBox = +// new MessageBox(Display.getCurrent().getActiveShell(), +// SWT.OK| +// SWT.ICON_INFORMATION); +// messageBox.setText("Can't remove qualifier value"); +// messageBox.setMessage("The value of the '" + name + "' qualifier is\n" + +// "already equal to its global default value.\n" + +// "So the value of this qualifier can't be removed."); +// messageBox.open(); +// } } else { MessageBox messageBox = new MessageBox(Display.getCurrent().getActiveShell(), @@ -3115,7 +3115,7 @@ //fillValueTable(element); if (valueObject.defaultValue.equalsIgnoreCase(valueObject.value)){ - editValue(valueObject, true); + //editValue(valueObject, true); } @@ -4056,7 +4056,7 @@ if(inheritedValue != null){ String effectiveInheritedValue = inheritedValue.getValue(); if(object.value.equalsIgnoreCase(effectiveInheritedValue) && !object.name.equalsIgnoreCase("Min")){ - setDefault = true; + //setDefault = true; } } //********************** |
|
From: Benjamin B. <bg...@us...> - 2005-08-10 07:19:47
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30788/Plugin/com/ibm/ecute/rsa/core/internal/properties Modified Files: QualifiersPropertySection.java CheckAndRepair.java FlavorsHelper.java Log Message: disableOverride qualifiers check and repair complete Index: FlavorsHelper.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/FlavorsHelper.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- FlavorsHelper.java 5 Aug 2005 13:44:07 -0000 1.8 +++ FlavorsHelper.java 10 Aug 2005 07:19:39 -0000 1.9 @@ -344,7 +344,7 @@ private ArrayList getOverrideAttributes(Class class_){ ArrayList overrideAttributes = new ArrayList(); - List classAttributes = class_.getAttributes(); + List classAttributes = class_.getOwnedAttributes(); for(int i = 0; i < classAttributes.size(); i++){ Property classAttribute = (Property)classAttributes.get(i); if(overrides(classAttribute) != null){ @@ -432,8 +432,135 @@ return null; } + private static boolean disableOverrideSetFirstTime(NamedElement element, Qualifier qualifier){ + boolean isSetFirstTime = true; + String qualifierValue = null; + + if(qualifierValue(element, qualifier) == null){ + return true; + } else { + qualifierValue = qualifierValue(element, qualifier); + } + + // element has no parents + if(element instanceof Class && ((Class)element).getGenerals().size() == 0){ + if(qualifierValue.equalsIgnoreCase(qualifier.defaultValue)){ + return false; + } else { + return true; + } + } + else if((element instanceof Property || element instanceof Operation) && + canOverride(element) == null){ + if(qualifierValue.equalsIgnoreCase(qualifier.defaultValue)){ + return false; + } else { + return true; + } + } + else if(element instanceof Parameter && canOverride((Operation)element.getOwner()) == null){ + if(qualifierValue.equalsIgnoreCase(qualifier.defaultValue)){ + return false; + } else { + return true; + } + } + + // element has parents + ArrayList parentClasses = getParentClasses(element); + if(element instanceof Class && ((Class)element).getGenerals().size() != 0){ + for(int i = 0; i < parentClasses.size(); i++){ + Class class_ = (Class)parentClasses.get(i); + if(!qualifierValue(class_, qualifier).equalsIgnoreCase(qualifier.defaultValue)){ + return false; + } + } + return true; + } + else if((element instanceof Property || element instanceof Operation) && + canOverride(element) != null){ + if(element instanceof Property){ + Property currentProperty = (Property)element; + while(canOverride(currentProperty) != null){ + Property parentProperty = (Property)canOverride(currentProperty); + if(!qualifierValue(parentProperty, qualifier).equalsIgnoreCase(qualifier.defaultValue)){ + return false; + } + currentProperty = parentProperty; + } + return true; + } + else if(element instanceof Operation){ + Operation currentOperation = (Operation)element; + while(canOverride(currentOperation) != null){ + Operation parentOperation = (Operation)canOverride(currentOperation); + if(!qualifierValue(parentOperation, qualifier).equalsIgnoreCase(qualifier.defaultValue)){ + return false; + } + currentOperation = parentOperation; + } + return true; + } + } + else if(element instanceof Parameter && canOverride((Operation)element.getOwner()) != null){ + Parameter currentParameter = (Parameter)element; + while(canOverride((Operation)currentParameter.getOwner()) != null){ + Operation parentOperation = (Operation)canOverride((Operation)currentParameter.getOwner()); + if(!qualifierValue(parentOperation.getOwnedParameter(currentParameter.getName()), qualifier).equalsIgnoreCase(qualifier.defaultValue)){ + return false; + } + currentParameter = parentOperation.getOwnedParameter(((Parameter)element).getName()); + } + return true; + } + + return isSetFirstTime; + } + + public static NamedElement canOverride(NamedElement element){ + + ArrayList parentClasses = getParentClasses(element); + + if(element instanceof Property){ + Property property = (Property)element; + for(int i = 0; i < parentClasses.size(); i++){ + if(property.getOwner() instanceof Class && + ((Class)parentClasses.get(i)).getOwnedAttribute(property.getName()) != null){ + return ((Class)parentClasses.get(i)).getOwnedAttribute(property.getName()); + } + if(property.getOwner() instanceof AssociationClass && + ((AssociationClass)parentClasses.get(i)).getOwnedEnd(property.getName()) != null){ + return ((AssociationClass)parentClasses.get(i)).getOwnedEnd(property.getName()); + } + } + } else if(element instanceof Operation){ + Operation operation = (Operation)element; + for(int i = 0; i < parentClasses.size(); i++){ + if(((Class)parentClasses.get(i)).getOwnedOperation(operation.getName()) != null && + equalMethods(operation,((Class)parentClasses.get(i)).getOwnedOperation(operation.getName()))){ + return ((Class)parentClasses.get(i)).getOwnedOperation(operation.getName()); + } + } + + } + + return null; + } + public static EffectiveInheritedValue effectiveInheritedValue(NamedElement element, String qualifierName){ + // element has no parents + if(element instanceof Class && ((Class)element).getGenerals().size() == 0){ + return null; + } + else if((element instanceof Property || element instanceof Operation) && + canOverride(element) == null){ + return null; + } + else if(element instanceof Parameter && canOverride((Operation)element.getOwner()) == null){ + return null; + } + // ABSTRACT if(qualifierName.equalsIgnoreCase("Abstract")){ return null; @@ -547,7 +674,7 @@ String description = null; Property attribute = null; - List attributeList = ((Class)parents.get(j)).getAttributes(); + List attributeList = ((Class)parents.get(j)).getOwnedAttributes(); for(int i = 0; i < attributeList.size(); i++){ if(((Property)attributeList.get(i)).getName().equalsIgnoreCase(property.getName())){ attribute = (Property)attributeList.get(i); @@ -721,10 +848,14 @@ if(qualifierName.equalsIgnoreCase("In")){ if(direct.equalsIgnoreCase("in") || direct.equalsIgnoreCase("inout")){ return(new EffectiveInheritedValue("true", (Class)parents.get(j))); + } else { + return(new EffectiveInheritedValue("false", (Class)parents.get(j))); } } else { if(direct.equalsIgnoreCase("out") || direct.equalsIgnoreCase("inout")){ return(new EffectiveInheritedValue("true", (Class)parents.get(j))); + } else { + return(new EffectiveInheritedValue("false", (Class)parents.get(j))); } } } @@ -748,7 +879,7 @@ for(int j = 0; j < parents.size(); j++){ Property attribute = null; - List attributeList = ((Class)parents.get(j)).getAttributes(); + List attributeList = ((Class)parents.get(j)).getOwnedAttributes(); for(int i = 0; i < attributeList.size(); i++){ if(((Property)attributeList.get(i)).getName().equalsIgnoreCase(property.getName())){ attribute = (Property)attributeList.get(i); @@ -829,7 +960,7 @@ for(int j = 0; j < parents.size(); j++){ Property attribute = null; - List attributeList = ((Class)parents.get(j)).getAttributes(); + List attributeList = ((Class)parents.get(j)).getOwnedAttributes(); for(int i = 0; i < attributeList.size(); i++){ if(((Property)attributeList.get(i)).getName().equalsIgnoreCase(property.getName())){ attribute = (Property)attributeList.get(i); @@ -951,7 +1082,7 @@ for(int j = 0; j < parents.size(); j++){ Property attribute = null; - List attributeList = ((Class)parents.get(j)).getAttributes(); + List attributeList = ((Class)parents.get(j)).getOwnedAttributes(); for(int i = 0; i < attributeList.size(); i++){ if(((Property)attributeList.get(i)).getName().equalsIgnoreCase(property.getName())){ attribute = (Property)attributeList.get(i); @@ -959,23 +1090,11 @@ } if(attribute != null){ - if(override(attribute) || !override(attribute) && j == parents.size()-1){ - if(attribute.isStatic()){ - return(new EffectiveInheritedValue("true", (Class)parents.get(j))); - } else { - return(new EffectiveInheritedValue("false", (Class)parents.get(j))); - } - } - if(!override(attribute) && j != parents.size()-1){ - return null; + if(attribute.isStatic()){ + return(new EffectiveInheritedValue("true", (Class)parents.get(j))); + } else { + return(new EffectiveInheritedValue("false", (Class)parents.get(j))); } - -// if(attribute.isStatic()){ -// return(new EffectiveInheritedValue("true", (Class)parents.get(j))); -// } -// if(!override(attribute) && j != parents.size()-1){ -// return null; -// } } } @@ -995,9 +1114,8 @@ if(method != null && equalMethods(operation, method)){ if(method.isStatic()){ return(new EffectiveInheritedValue("true", (Class)parents.get(j))); - } - if(!override(method) && j != parents.size()-1){ - return null; + } else { + return(new EffectiveInheritedValue("false", (Class)parents.get(j))); } } } @@ -1018,7 +1136,7 @@ for(int j = 0; j < parents.size(); j++){ Property attribute = null; - List attributeList = ((Class)parents.get(j)).getAttributes(); + List attributeList = ((Class)parents.get(j)).getOwnedAttributes(); for(int i = 0; i < attributeList.size(); i++){ if(((Property)attributeList.get(i)).getName().equalsIgnoreCase(property.getName())){ attribute = (Property)attributeList.get(i); @@ -1065,7 +1183,7 @@ String description = null; Property attribute = null; - List attributeList = ((Class)parents.get(j)).getAttributes(); + List attributeList = ((Class)parents.get(j)).getOwnedAttributes(); for(int i = 0; i < attributeList.size(); i++){ if(((Property)attributeList.get(i)).getName().equalsIgnoreCase(property.getName())){ attribute = (Property)attributeList.get(i); @@ -1330,7 +1448,7 @@ else if(qualifierName.equalsIgnoreCase("In")){ if(element instanceof Parameter){ ParameterDirectionKind kind = ((Parameter)element).getDirection(); - if(kind.getValue() == ParameterDirectionKind.IN || kind.getValue() == ParameterDirectionKind.INOUT){ + if(kind == ParameterDirectionKind.IN_LITERAL || kind == ParameterDirectionKind.INOUT_LITERAL){ return "true"; } else { return "false"; @@ -1343,7 +1461,7 @@ else if(qualifierName.equalsIgnoreCase("Out")){ if(element instanceof Parameter){ ParameterDirectionKind kind = ((Parameter)element).getDirection(); - if(kind.getValue() == ParameterDirectionKind.OUT || kind.getValue() == ParameterDirectionKind.INOUT){ + if(kind == ParameterDirectionKind.OUT_LITERAL || kind == ParameterDirectionKind.INOUT_LITERAL){ return "true"; } else { return "false"; @@ -1583,19 +1701,39 @@ boolean removed = false; for(int i = 0; i < applicableQualifiers.size(); i++){ if(removed){ + applicableQualifiers.remove(i-1); i--; removed = false; } + Qualifier qualifier = (Qualifier)applicableQualifiers.get(i); - if(qualifier.RestrictedFlavor){ - applicableQualifiers.remove(i); + + // remove non native qualifiers + if(!isNativeMappedQualifier(qualifier)){ + //applicableQualifiers.remove(i); + removed = true; + } + + // remove qualifiers with Restricted flavor + else if(qualifier.RestrictedFlavor){ + //applicableQualifiers.remove(i); removed = true; } // remove qualifiers with Enable ToSubclass flavor - if(skipEnableOverride && !qualifier.DissableOverrideFlavor && !qualifier.RestrictedFlavor){ - applicableQualifiers.remove(i); + else if(skipEnableOverride && !qualifier.DissableOverrideFlavor && !qualifier.RestrictedFlavor){ + //applicableQualifiers.remove(i); removed = true; } + // remove DisableOverride qualifiers which are set for the first time + else if(disableOverrideSetFirstTime(element, qualifier)){ + //applicableQualifiers.remove(i); + removed = true; + } + } + // remove the last applicable qualifier + if(removed){ + int index = applicableQualifiers.size()-1; + applicableQualifiers.remove(index); } boolean isComposition = false; @@ -1697,31 +1835,36 @@ } if(element instanceof Class){ + FlavorsHelper helper = new FlavorsHelper(model); Class class_ = (Class)element; // apply native inherited values for class attributes List properties = class_.getOwnedAttributes(); for(int i = 0; i < properties.size(); i++){ - applyNativeInheritedValues((Property)properties.get(i), true); + helper.applyNativeInheritedValues((Property)properties.get(i), true); } // apply native inherited values for class methods List methods = class_.getOwnedOperations(); for(int i = 0; i < methods.size(); i++){ - applyNativeInheritedValues((Operation)methods.get(i), true); + helper.applyNativeInheritedValues((Operation)methods.get(i), true); } } if(element instanceof AssociationClass){ + FlavorsHelper helper = new FlavorsHelper(model); AssociationClass aClass = (AssociationClass)element; List ownedEnds = aClass.getOwnedEnds(); for(int i = 0; i < ownedEnds.size(); i++){ - applyNativeInheritedValues((Property)ownedEnds.get(i), true); + helper.applyNativeInheritedValues((Property)ownedEnds.get(i), true); } - } else if(element instanceof Operation){ + } + + if(element instanceof Operation){ + FlavorsHelper helper = new FlavorsHelper(model); Operation operation = (Operation)element; List parameters = operation.getOwnedParameters(); for(int i = 0; i < parameters.size(); i++){ - applyNativeInheritedValues((Parameter)parameters.get(i), true); + helper.applyNativeInheritedValues((Parameter)parameters.get(i), true); } } } @@ -1799,19 +1942,37 @@ if(parameter.getDirection() == ParameterDirectionKind.OUT_LITERAL){ parameter.setDirection(ParameterDirectionKind.INOUT_LITERAL); } else if(parameter.getDirection() == ParameterDirectionKind.IN_LITERAL){ - // do nothing + parameter.setDirection(ParameterDirectionKind.IN_LITERAL); } else if(parameter.getDirection() == ParameterDirectionKind.INOUT_LITERAL){ - // do nothing + parameter.setDirection(ParameterDirectionKind.INOUT_LITERAL); } - } else if(newValue.equalsIgnoreCase("true") && qualifierName.equalsIgnoreCase("Out")){ + } else if(newValue.equalsIgnoreCase("false") && qualifierName.equalsIgnoreCase("In")){ if(parameter.getDirection() == ParameterDirectionKind.OUT_LITERAL){ - // do nothing + parameter.setDirection(ParameterDirectionKind.OUT_LITERAL); } else if(parameter.getDirection() == ParameterDirectionKind.IN_LITERAL){ parameter.setDirection(ParameterDirectionKind.OUT_LITERAL); } else if(parameter.getDirection() == ParameterDirectionKind.INOUT_LITERAL){ + parameter.setDirection(ParameterDirectionKind.OUT_LITERAL); + } + + } else if(newValue.equalsIgnoreCase("true") && qualifierName.equalsIgnoreCase("Out")){ + if(parameter.getDirection() == ParameterDirectionKind.OUT_LITERAL){ + parameter.setDirection(ParameterDirectionKind.OUT_LITERAL); + } else if(parameter.getDirection() == ParameterDirectionKind.IN_LITERAL){ + parameter.setDirection(ParameterDirectionKind.INOUT_LITERAL); + } else if(parameter.getDirection() == ParameterDirectionKind.INOUT_LITERAL){ // do nothing } + + } else if(newValue.equalsIgnoreCase("false") && qualifierName.equalsIgnoreCase("Out")){ + if(parameter.getDirection() == ParameterDirectionKind.OUT_LITERAL){ + parameter.setDirection(ParameterDirectionKind.IN_LITERAL); + } else if(parameter.getDirection() == ParameterDirectionKind.IN_LITERAL){ + parameter.setDirection(ParameterDirectionKind.IN_LITERAL); + } else if(parameter.getDirection() == ParameterDirectionKind.INOUT_LITERAL){ + parameter.setDirection(ParameterDirectionKind.IN_LITERAL); + } } Index: CheckAndRepair.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/CheckAndRepair.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- CheckAndRepair.java 5 Aug 2005 13:44:07 -0000 1.3 +++ CheckAndRepair.java 10 Aug 2005 07:19:39 -0000 1.4 @@ -3,9 +3,12 @@ */ package com.ibm.ecute.rsa.core.internal.properties; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.uml2.AssociationClass; import org.eclipse.uml2.Class; import org.eclipse.uml2.Model; @@ -14,10 +17,14 @@ import org.eclipse.uml2.Package; import org.eclipse.uml2.Parameter; import org.eclipse.uml2.Property; +import org.eclipse.uml2.Stereotype; import com.ibm.ecute.Qualifiers.Qualifier; import com.ibm.ecute.rsa.core.internal.dialogs.ProgressLogDialog; import com.ibm.ecute.utils.License; +import com.ibm.xtools.emf.msl.EditingDomain; +import com.ibm.xtools.emf.msl.ResourceSetModifyOperation; +import com.ibm.xtools.modeler.UMLModeler; /** * Copyright (c) 2005, International Business Machines @@ -47,13 +54,12 @@ } public void checkAll(ProgressLogDialog frame){ - //applyAllNativeInheritedValues(frame); checkDisableOverrideQualifiers(frame); } public void checkAndRepairAll(ProgressLogDialog frame){ applyAllNativeInheritedValues(frame); - //checkDisableOverrideQualifiers(frame); + checkAndRepairDisableOverrideQualifiers(frame); } public void applyAllNativeInheritedValues(ProgressLogDialog frame){ @@ -73,7 +79,7 @@ } - public void checkDisableOverrideQualifiers(ProgressLogDialog frame){ + private void checkDisableOverrideQualifiers(ProgressLogDialog frame){ frame.addLine2Log("***************************************************************************"); frame.addLine2Log("Checking ToSubclass DisableOverride qualifiers"); @@ -99,25 +105,75 @@ } // check classes - checkDisableOverrideClasses(frame, modelBaseClasses, orderedModelClasses); + checkDisableOverrideClasses(frame, modelBaseClasses, orderedModelClasses, false); // check associationClasses - checkDisableOverrideAssociationClasses(frame, modelBaseAssociationClasses, orderedModelClasses); + checkDisableOverrideAssociationClasses(frame, modelBaseAssociationClasses, orderedModelClasses, false); // check references - checkDisableOverrideReferences(frame, orderedModelClasses); + checkDisableOverrideReferences(frame, orderedModelClasses, false); // check properties - checkDisableOverrideProperties(frame, orderedModelClasses); + checkDisableOverrideProperties(frame, orderedModelClasses, false); // check methods - checkDisableOverrideMethods(frame, orderedModelClasses); + checkDisableOverrideMethods(frame, orderedModelClasses, false); // check parameters - checkDisableOverrideParameters(frame, orderedModelClasses); + checkDisableOverrideParameters(frame, orderedModelClasses, false); frame.addLine2Log(""); - frame.addLine2Log("--> DisableOverride test complete"); + frame.addLine2Log("--> DisableOverride check complete"); + frame.addLine2Log(""); + frame.addLine2Log("***************************************************************************"); + } + + + private void checkAndRepairDisableOverrideQualifiers(ProgressLogDialog frame){ + + frame.addLine2Log("***************************************************************************"); + frame.addLine2Log("Repairing ToSubclass DisableOverride qualifiers"); + frame.addLine2Log("---------------------------------------------------------"); + + // get all model base classes + ArrayList orderedModelClasses = getOrderedModelClasses(); + ArrayList modelBaseClasses = new ArrayList(); + for(int i = 0; i < orderedModelClasses.size(); i++){ + Class tempClass = (Class)orderedModelClasses.get(i); + if(tempClass.getGenerals().size() == 0){ + modelBaseClasses.add(tempClass); + } + } + ArrayList modelBaseAssociationClasses = new ArrayList(); + for(int i = 0; i < orderedModelClasses.size(); i++){ + if(orderedModelClasses.get(i) instanceof AssociationClass){ + AssociationClass tempClass = (AssociationClass)orderedModelClasses.get(i); + if(tempClass.getGenerals().size() == 0){ + modelBaseAssociationClasses.add(tempClass); + } + } + } + + // check classes + checkDisableOverrideClasses(frame, modelBaseClasses, orderedModelClasses, true); + + // check associationClasses + checkDisableOverrideAssociationClasses(frame, modelBaseAssociationClasses, orderedModelClasses, true); + + // check references + checkDisableOverrideReferences(frame, orderedModelClasses, true); + + // check properties + checkDisableOverrideProperties(frame, orderedModelClasses, true); + + // check methods + checkDisableOverrideMethods(frame, orderedModelClasses, true); + + // check parameters + checkDisableOverrideParameters(frame, orderedModelClasses, true); + + frame.addLine2Log(""); + frame.addLine2Log("--> DisableOverride repair complete"); frame.addLine2Log(""); frame.addLine2Log("***************************************************************************"); } @@ -332,7 +388,7 @@ return subparameters; } - private void checkDisableOverrideClasses(ProgressLogDialog frame, ArrayList modelBaseClasses, ArrayList orderedModelClasses){ + private void checkDisableOverrideClasses(ProgressLogDialog frame, ArrayList modelBaseClasses, ArrayList orderedModelClasses, boolean repair){ ArrayList disableOverrideClassQualifiers = new ArrayList(); boolean firstClass = true; boolean classErrors = false; @@ -348,24 +404,19 @@ ArrayList childClasses = getAllChildClasses(thisClass, orderedModelClasses, false); for(int j = 0; j < disableOverrideClassQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideClassQualifiers.get(j); - /**/ String referenceValue = qualifier.defaultValue; Class referenceClass = thisClass; boolean disableOverride = false; - /**/ String valueA = FlavorsHelper.qualifierValue(thisClass, qualifier); - /**/ if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ disableOverride = true; referenceValue = valueA; } - /**/ boolean firstChild = true; for(int k = 0; k < childClasses.size(); k++){ Class class_ = (Class)childClasses.get(k); String valueB = FlavorsHelper.qualifierValue(class_, qualifier); - /**/ if(valueB == null){ EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(class_, qualifier.name); if(effectiveInheritedValue != null){ @@ -380,7 +431,6 @@ referenceClass = class_; } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) && disableOverride){ - /**/ if(firstClass){ frame.addLine2Log(""); @@ -388,14 +438,50 @@ firstClass = false; classErrors = true; } - - if(firstChild){ - frame.addLine2Log(""); - frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)referenceClass.getOwner()).getName() + "::" + referenceClass.getName()+ " is overwritten in class "); - firstChild = false; + // CHECK + if(!repair){ + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceClass.getOwner()).getName() + "::" + referenceClass.getName()+ " is overwritten in class "); + firstChild = false; + } + frame.addLine2Log(" - "+ ((NamedElement)class_.getOwner()).getName() + "::" + class_.getName()); + // REPAIR + } else { + EditingDomain editingDomain = UMLModeler.getEditingDomain(); + try { + final NamedElement namedElement = class_; + final String qualName = qualifier.name; + final String qualValue = referenceValue; + + editingDomain.run(new ResourceSetModifyOperation("applyInheritedValues") { + + protected void execute(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { + + if(FlavorsHelper.isNativeMappedQualifier(qualName)){ + flavorsHelper.mapQualifierToModel(namedElement, qualName, qualValue); + } else { + removeNonNativeQualifierValue(namedElement, qualName); + } + + } + }, new NullProgressMonitor()); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The value of the disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceClass.getOwner()).getName() + "::" + referenceClass.getName()+ " was set in class "); + firstChild = false; + } + frame.addLine2Log(" - "+ ((NamedElement)class_.getOwner()).getName() + "::" + class_.getName()); } - frame.addLine2Log(" - "+ ((NamedElement)class_.getOwner()).getName() + "::" + class_.getName()); } } } @@ -410,7 +496,7 @@ } } - private void checkDisableOverrideAssociationClasses(ProgressLogDialog frame, ArrayList modelBaseAssociationClasses, ArrayList orderedModelClasses){ + private void checkDisableOverrideAssociationClasses(ProgressLogDialog frame, ArrayList modelBaseAssociationClasses, ArrayList orderedModelClasses, boolean repair){ ArrayList disableOverrideAssociationClassQualifiers = new ArrayList(); boolean firstClass = true; boolean classErrors = false; @@ -426,26 +512,18 @@ ArrayList childClasses = getAllChildClasses(thisClass, orderedModelClasses, false); for(int j = 0; j < disableOverrideAssociationClassQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideAssociationClassQualifiers.get(j); - /**/ String referenceValue = qualifier.defaultValue; AssociationClass referenceAssociationClass = thisClass; boolean disableOverride = false; - /**/ String valueA = FlavorsHelper.qualifierValue(thisClass, qualifier); - /**/ if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ disableOverride = true; referenceValue = valueA; } - /**/ boolean firstChild = true; for(int k = 0; k < childClasses.size(); k++){ AssociationClass class_ = (AssociationClass)childClasses.get(k); String valueB = FlavorsHelper.qualifierValue(class_, qualifier); -// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB) || -// valueA == null && valueB != null){ - - /**/ if(valueB == null){ EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(class_, qualifier.name); if(effectiveInheritedValue != null){ @@ -460,22 +538,60 @@ referenceAssociationClass = class_; } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) && disableOverride){ - /**/ - + if(firstClass){ frame.addLine2Log(""); frame.addLine2Log("AssociationClasses:"); firstClass = false; classErrors = true; } - - if(firstChild){ - frame.addLine2Log(""); - frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)referenceAssociationClass.getOwner()).getName() + "::" + referenceAssociationClass.getName()+ " is overwritten in associationClass "); - firstChild = false; + + // CHECK + if(!repair){ + + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceAssociationClass.getOwner()).getName() + "::" + referenceAssociationClass.getName()+ " is overwritten in associationClass "); + firstChild = false; + } + frame.addLine2Log(" - "+ ((NamedElement)class_.getOwner()).getName() + "::" + class_.getName()); + + // REPAIR + } else { + EditingDomain editingDomain = UMLModeler.getEditingDomain(); + try { + final NamedElement namedElement = class_; + final String qualName = qualifier.name; + final String qualValue = referenceValue; + + editingDomain.run(new ResourceSetModifyOperation("applyInheritedValues") { + + protected void execute(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { + + if(FlavorsHelper.isNativeMappedQualifier(qualName)){ + flavorsHelper.mapQualifierToModel(namedElement, qualName, qualValue); + } else { + removeNonNativeQualifierValue(namedElement, qualName); + } + + } + }, new NullProgressMonitor()); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The value of the disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceAssociationClass.getOwner()).getName() + "::" + referenceAssociationClass.getName()+ " was set in associationClass "); + firstChild = false; + } + frame.addLine2Log(" - "+ ((NamedElement)class_.getOwner()).getName() + "::" + class_.getName()); } - frame.addLine2Log(" - "+ ((NamedElement)class_.getOwner()).getName() + "::" + class_.getName()); } } } @@ -490,7 +606,7 @@ } } - private void checkDisableOverrideReferences(ProgressLogDialog frame, ArrayList orderedModelClasses){ + private void checkDisableOverrideReferences(ProgressLogDialog frame, ArrayList orderedModelClasses, boolean repair){ ArrayList disableOverrideReferenceQualifiers = new ArrayList(); ArrayList checkedSubclassReferences = new ArrayList(); @@ -513,18 +629,14 @@ boolean firstQualifier = true; for(int j = 0; j < disableOverrideReferenceQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideReferenceQualifiers.get(j); - /**/ String referenceValue = qualifier.defaultValue; Property referenceReference = property; boolean disableOverride = false; - /**/ String valueA = FlavorsHelper.qualifierValue(property, qualifier); - /**/ if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ disableOverride = true; referenceValue = valueA; } - /**/ boolean firstChild = true; for(int k = 0; k < childProperties.size(); k++){ Property childProperty = (Property)childProperties.get(k); @@ -532,10 +644,6 @@ checkedSubclassReferences.add(childProperty); } String valueB = FlavorsHelper.qualifierValue(childProperty, qualifier); -// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| -// valueA == null && valueB != null){ - - /**/ if(valueB == null){ EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(childProperty, qualifier.name); if(effectiveInheritedValue != null){ @@ -550,24 +658,64 @@ referenceReference = childProperty; } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) && disableOverride){ - /**/ - - if(firstReference){ - frame.addLine2Log(""); - frame.addLine2Log("AssociationEnds:"); - firstReference = false; - referenceErrors = true; - } - - if(firstChild){ - frame.addLine2Log(""); - frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)referenceReference.getOwner().getOwner()).getName() + "::" + - ((NamedElement)referenceReference.getOwner()).getName() + "::" + referenceReference.getName() + " is overwritten in associationEnd "); - firstChild = false; - } - frame.addLine2Log(" - " + ((NamedElement)childProperty.getOwner().getOwner()).getName() + "::" + - ((NamedElement)childProperty.getOwner()).getName() + "::" + childProperty.getName()); + + if(firstReference){ + frame.addLine2Log(""); + frame.addLine2Log("AssociationEnds:"); + firstReference = false; + referenceErrors = true; + } + + //CHECK + if(!repair){ + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceReference.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceReference.getOwner()).getName() + "::" + referenceReference.getName() + " is overwritten in associationEnd "); + firstChild = false; + } + frame.addLine2Log(" - " + ((NamedElement)childProperty.getOwner().getOwner()).getName() + "::" + + ((NamedElement)childProperty.getOwner()).getName() + "::" + childProperty.getName()); + + // REPAIR + } else { + EditingDomain editingDomain = UMLModeler.getEditingDomain(); + try { + final NamedElement namedElement = childProperty; + final String qualName = qualifier.name; + final String qualValue = referenceValue; + + editingDomain.run(new ResourceSetModifyOperation("applyInheritedValues") { + + protected void execute(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { + + if(FlavorsHelper.isNativeMappedQualifier(qualName)){ + flavorsHelper.mapQualifierToModel(namedElement, qualName, qualValue); + } else { + removeNonNativeQualifierValue(namedElement, qualName); + } + + } + }, new NullProgressMonitor()); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The value of the disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceReference.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceReference.getOwner()).getName() + "::" + referenceReference.getName() + " was set in associationEnd "); + firstChild = false; + } + frame.addLine2Log(" - " + ((NamedElement)childProperty.getOwner().getOwner()).getName() + "::" + + ((NamedElement)childProperty.getOwner()).getName() + "::" + childProperty.getName()); + + } } } firstQualifier = false; @@ -586,7 +734,7 @@ } - private void checkDisableOverrideProperties(ProgressLogDialog frame, ArrayList orderedModelClasses){ + private void checkDisableOverrideProperties(ProgressLogDialog frame, ArrayList orderedModelClasses, boolean repair){ ArrayList disableOverridePropertyQualifiers = new ArrayList(); ArrayList checkedSubclassProperties = new ArrayList(); @@ -608,18 +756,14 @@ boolean firstQualifier = true; for(int j = 0; j < disableOverridePropertyQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverridePropertyQualifiers.get(j); - /**/ String referenceValue = qualifier.defaultValue; Property referenceProperty = property; boolean disableOverride = false; - /**/ String valueA = FlavorsHelper.qualifierValue(property, qualifier); - /**/ if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ disableOverride = true; referenceValue = valueA; } - /**/ boolean firstChild = true; for(int k = 0; k < childProperties.size(); k++){ Property childProperty = (Property)childProperties.get(k); @@ -627,10 +771,6 @@ checkedSubclassProperties.add(childProperty); } String valueB = FlavorsHelper.qualifierValue(childProperty, qualifier); -// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| -// valueA == null && valueB != null){ - - /**/ if(valueB == null){ EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(childProperty, qualifier.name); if(effectiveInheritedValue != null){ @@ -645,8 +785,7 @@ referenceProperty = childProperty; } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) && disableOverride){ - /**/ - + if(firstProperty){ frame.addLine2Log(""); frame.addLine2Log("Properties:"); @@ -654,15 +793,56 @@ propertyErrors = true; } - if(firstChild){ - frame.addLine2Log(""); - frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)referenceProperty.getOwner().getOwner()).getName() + "::" + - ((NamedElement)referenceProperty.getOwner()).getName() + "::" + referenceProperty.getName() + " is overwritten in property "); - firstChild = false; + // CHECK + if(!repair){ + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceProperty.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceProperty.getOwner()).getName() + "::" + referenceProperty.getName() + " is overwritten in property "); + firstChild = false; + } + frame.addLine2Log(" - " + ((NamedElement)childProperty.getOwner().getOwner()).getName() + "::" + + ((NamedElement)childProperty.getOwner()).getName() + "::" + childProperty.getName()); + + // REPAIR + } else { + EditingDomain editingDomain = UMLModeler.getEditingDomain(); + try { + final NamedElement namedElement = childProperty; + final String qualName = qualifier.name; + final String qualValue = referenceValue; + + editingDomain.run(new ResourceSetModifyOperation("applyInheritedValues") { + + protected void execute(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { + + if(FlavorsHelper.isNativeMappedQualifier(qualName)){ + flavorsHelper.mapQualifierToModel(namedElement, qualName, qualValue); + } else { + removeNonNativeQualifierValue(namedElement, qualName); + } + + } + }, new NullProgressMonitor()); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceProperty.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceProperty.getOwner()).getName() + "::" + referenceProperty.getName() + " was set in property "); + firstChild = false; + } + frame.addLine2Log(" - " + ((NamedElement)childProperty.getOwner().getOwner()).getName() + "::" + + ((NamedElement)childProperty.getOwner()).getName() + "::" + childProperty.getName()); + } - frame.addLine2Log(" - " + ((NamedElement)childProperty.getOwner().getOwner()).getName() + "::" + - ((NamedElement)childProperty.getOwner()).getName() + "::" + childProperty.getName()); } } firstQualifier = false; @@ -680,7 +860,7 @@ } - private void checkDisableOverrideMethods(ProgressLogDialog frame, ArrayList orderedModelClasses){ + private void checkDisableOverrideMethods(ProgressLogDialog frame, ArrayList orderedModelClasses, boolean repair){ ArrayList disableOverrideMethodQualifiers = new ArrayList(); ArrayList checkedSubclassMethods = new ArrayList(); @@ -702,18 +882,14 @@ boolean firstQualifier = true; for(int j = 0; j < disableOverrideMethodQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideMethodQualifiers.get(j); - /**/ String referenceValue = qualifier.defaultValue; Operation referenceOperation = operation; boolean disableOverride = false; - /**/ String valueA = FlavorsHelper.qualifierValue(operation, qualifier); - /**/ if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ disableOverride = true; referenceValue = valueA; } - /**/ boolean firstChild = true; for(int k = 0; k < childMethods.size(); k++){ Operation childMethod = (Operation)childMethods.get(k); @@ -721,10 +897,6 @@ checkedSubclassMethods.add(childMethod); } String valueB = FlavorsHelper.qualifierValue(childMethod, qualifier); -// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| -// valueA == null && valueB != null){ - - /**/ if(valueB == null){ EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(childMethod, qualifier.name); if(effectiveInheritedValue != null){ @@ -739,8 +911,7 @@ referenceOperation = childMethod; } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) && disableOverride){ - /**/ - + if(firstMethod){ frame.addLine2Log(""); frame.addLine2Log("Methods:"); @@ -748,15 +919,56 @@ methodErrors = true; } - if(firstChild){ - frame.addLine2Log(""); - frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)referenceOperation.getOwner().getOwner()).getName() + "::" + - ((NamedElement)referenceOperation.getOwner()).getName() + "::" + referenceOperation.getName() + " is overwritten in method "); - firstChild = false; + //CHECK + if(!repair){ + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceOperation.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceOperation.getOwner()).getName() + "::" + referenceOperation.getName() + " is overwritten in method "); + firstChild = false; + } + frame.addLine2Log(" - " + ((NamedElement)childMethod.getOwner().getOwner()).getName() + "::" + + ((NamedElement)childMethod.getOwner()).getName() + "::" + childMethod.getName()); + + // REPAIR + } else { + EditingDomain editingDomain = UMLModeler.getEditingDomain(); + try { + final NamedElement namedElement = childMethod; + final String qualName = qualifier.name; + final String qualValue = referenceValue; + + editingDomain.run(new ResourceSetModifyOperation("applyInheritedValues") { + + protected void execute(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { + + if(FlavorsHelper.isNativeMappedQualifier(qualName)){ + flavorsHelper.mapQualifierToModel(namedElement, qualName, qualValue); + } else { + removeNonNativeQualifierValue(namedElement, qualName); + } + + } + }, new NullProgressMonitor()); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceOperation.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceOperation.getOwner()).getName() + "::" + referenceOperation.getName() + " was set in method "); + firstChild = false; + } + frame.addLine2Log(" - " + ((NamedElement)childMethod.getOwner().getOwner()).getName() + "::" + + ((NamedElement)childMethod.getOwner()).getName() + "::" + childMethod.getName()); + } - frame.addLine2Log(" - " + ((NamedElement)childMethod.getOwner().getOwner()).getName() + "::" + - ((NamedElement)childMethod.getOwner()).getName() + "::" + childMethod.getName()); } } firstQualifier = false; @@ -773,7 +985,7 @@ } } - private void checkDisableOverrideParameters(ProgressLogDialog frame, ArrayList orderedModelClasses){ + private void checkDisableOverrideParameters(ProgressLogDialog frame, ArrayList orderedModelClasses, boolean repair){ ArrayList disableOverrideParameterQualifiers = new ArrayList(); ArrayList checkedSubclassParameters = new ArrayList(); @@ -798,18 +1010,14 @@ boolean firstQualifier = true; for(int j = 0; j < disableOverrideParameterQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideParameterQualifiers.get(j); - /**/ String referenceValue = qualifier.defaultValue; Parameter referenceParameter = parameter; boolean disableOverride = false; - /**/ String valueA = FlavorsHelper.qualifierValue(parameter, qualifier); - /**/ if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ disableOverride = true; referenceValue = valueA; } - /**/ boolean firstChild = true; for(int k = 0; k < childParameters.size(); k++){ Parameter childParameter = (Parameter)childParameters.get(k); @@ -817,10 +1025,6 @@ checkedSubclassParameters.add(childParameter); } String valueB = FlavorsHelper.qualifierValue(childParameter, qualifier); -// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| -// valueA == null && valueB != null){ - - /**/ if(valueB == null){ EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(childParameter, qualifier.name); if(effectiveInheritedValue != null){ @@ -835,8 +1039,7 @@ referenceParameter = childParameter; } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) && disableOverride){ - /**/ - + if(firstParameter){ frame.addLine2Log(""); frame.addLine2Log("Method parameters:"); @@ -844,17 +1047,60 @@ parameterErrors = true; } - if(firstChild){ - frame.addLine2Log(""); - frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)referenceParameter.getOwner().getOwner().getOwner()).getName() + "::" + - ((NamedElement)referenceParameter.getOwner().getOwner()).getName() + "::" + - ((NamedElement)referenceParameter.getOwner()).getName() + "::" + referenceParameter.getName() + " is overwritten in parameter "); - firstChild = false; + // CHECK + if(!repair){ + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceParameter.getOwner().getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceParameter.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceParameter.getOwner()).getName() + "::" + referenceParameter.getName() + " is overwritten in parameter "); + firstChild = false; + } + frame.addLine2Log(" - " + ((NamedElement)childParameter.getOwner().getOwner().getOwner()).getName() + "::" + + ((NamedElement)childParameter.getOwner().getOwner()).getName() + "::" + + ((NamedElement)childParameter.getOwner()).getName() + "::" + childParameter.getName()); + + // REPAIR + } else { + EditingDomain editingDomain = UMLModeler.getEditingDomain(); + try { + final NamedElement namedElement = childParameter; + final String qualName = qualifier.name; + final String qualValue = referenceValue; + + editingDomain.run(new ResourceSetModifyOperation("applyInheritedValues") { + + protected void execute(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { + + if(FlavorsHelper.isNativeMappedQualifier(qualName)){ + flavorsHelper.mapQualifierToModel(namedElement, qualName, qualValue); + } else { + removeNonNativeQualifierValue(namedElement, qualName); + } + + } + }, new NullProgressMonitor()); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if(firstChild){ + frame.addLine2Log(""); + frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); + frame.addLine2Log(((NamedElement)referenceParameter.getOwner().getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceParameter.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceParameter.getOwner()).getName() + "::" + referenceParameter.getName() + " was set in parameter "); + firstChild = false; + } + frame.addLine2Log(" - " + ((NamedElement)childParameter.getOwner().getOwner().getOwner()).getName() + "::" + + ((NamedElement)childParameter.getOwner().getOwner()).getName() + "::" + + ((NamedElement)childParameter.getOwner()).getName() + "::" + childParameter.getName()); + } - frame.addLine2Log(" - " + ((NamedElement)childParameter.getOwner().getOwner().getOwner()).getName() + "::" + - ((NamedElement)childParameter.getOwner().getOwner()).getName() + "::" + - ((NamedElement)childParameter.getOwner()).getName() + "::" + childParameter.getName()); } } firstQualifier = false; @@ -901,6 +1147,30 @@ return false; } + private void removeNonNativeQualifierValue(NamedElement element, String qualifierName){ + + Stereotype cimStereotype = element.getAppliedStereotype("CIM::Qualifiers"); + int stereotypePropertyIndex = ((List) element.getValue(cimStereotype, "QualifierName")).size(); + List qualifierNames = (List) element.getValue(cimStereotype, "QualifierName"); + List qualifierValues = (List) element.getValue(cimStereotype, "QualifierValue"); + List names = new ArrayList(); + List values = new ArrayList(); + names.addAll(qualifierNames); + values.addAll(qualifierValues); + qualifierNames.clear(); + qualifierValues.clear(); + + for(int i = 0; i < stereotypePropertyIndex; i++){ + String name = (String)names.get(i); + String value = (String)values.get(i); + + if(!qualifierName.equalsIgnoreCase(name)){ + qualifierNames.add(name); + qualifierValues.add(value); + } + } + } + public boolean isReference(NamedElement element){ boolean isRef = false; Index: QualifiersPropertySection.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/QualifiersPropertySection.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- QualifiersPropertySection.java 5 Aug 2005 13:44:05 -0000 1.26 +++ QualifiersPropertySection.java 10 Aug 2005 07:19:39 -0000 1.27 @@ -92,7 +92,7 @@ private Button editValueButton; public Button showAllButton; - private Button inheritedValueButton; +// private Button inheritedValueButton; private Button checkButton; private Button checkAndRepairButton; private TableColumn nameColumn; @@ -153,28 +153,38 @@ }); //formdata inherited values buootn - formdata = new FormData(); - formdata.left = new FormAttachment(showAllButton,30); - formdata.top = new FormAttachment(0,0); - inheritedValueButton = getWidgetFactory().createButton(composite1, "Apply inherited values", 8); - inheritedValueButton.setLayoutData(formdata); - inheritedValueButton.addSelectionListener(new SelectionAdapter() { - - public void widgetSelected(SelectionEvent selectionevent) - { - final NamedElement element = (NamedElement)getEObject(); - FlavorsHelper flavorHelper = new FlavorsHelper(element.getModel()); - flavorHelper.applyNativeInheritedValues(element, true); - refresh(); - } - - }); +// formdata = new FormData(); +// formdata.left = new FormAttachment(showAllButton,30); +// formdata.top = new FormAttachment(0,0); +// inheritedValueButton = getWidgetFactory().createButton(composite1, "Apply inherited values", 8); +// inheritedValueButton.setLayoutData(formdata); +// inheritedValueButton.addSelectionListener(new SelectionAdapter() { +// +// public void widgetSelected(SelectionEvent selectionevent) +// { +// final NamedElement element = (NamedElement)getEObject(); +//// FlavorsHelper flavorHelper = new FlavorsHelper(element.getModel()); +//// flavorHelper.applyNativeInheritedValues(element, true); +// +// try { +// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); +// } catch (Exception e) { +// } +// Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); +// ProgressLogDialog frame = new ProgressLogDialog(shell); +// +// CheckAndRepair checker = new CheckAndRepair(element.getModel()); +// checker.applyAllNativeInheritedValues(frame); +// refresh(); +// } +// +// }); //formdata inherited values button formdata = new FormData(); - formdata.left = new FormAttachment(inheritedValueButton,10); + formdata.left = new FormAttachment(showAllButton,30); formdata.top = new FormAttachment(0,0); - checkButton = getWidgetFactory().createButton(composite1, "Check", 8); + checkButton = getWidgetFactory().createButton(composite1, "Check model", 8); checkButton.setLayoutData(formdata); checkButton.addSelectionListener(new SelectionAdapter() { @@ -188,9 +198,11 @@ } Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); ProgressLogDialog frame = new ProgressLogDialog(shell); + frame.setSubTask("Checking the model for errors"); CheckAndRepair checkAndRepair = new CheckAndRepair(element.getModel()); checkAndRepair.checkAll(frame); + frame.allTasksDone(); refresh(); } @@ -201,25 +213,26 @@ formdata = new FormData(); formdata.left = new FormAttachment(checkButton,5); formdata.top = new FormAttachment(0,0); - checkAndRepairButton = getWidgetFactory().createButton(composite1, "Check and Repair", 8); + checkAndRepairButton = getWidgetFactory().createButton(composite1, "Check and Repair model", 8); checkAndRepairButton.setLayoutData(formdata); checkAndRepairButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent selectionevent) { -// final NamedElement element = (NamedElement)getEObject(); -// -// try { -// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); -// //"com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); -// } catch (Exception e) { -// } -// Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); -// ProgressLogDialog frame = new ProgressLogDialog(shell); -// -// CheckAndRepair checkAndRepair = new CheckAndRepair(element.getModel()); -// checkAndRepair.checkAll(frame); -// refresh(); + final NamedElement element = (NamedElement)getEObject(); + + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + //"com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); + ... [truncated message content] |
|
From: Benjamin B. <bg...@us...> - 2005-08-05 13:44:20
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/dialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25920/Plugin/com/ibm/ecute/rsa/core/internal/dialogs Modified Files: EditQualifiersDialog.java Log Message: the disableOverride check should work now for all elements Index: EditQualifiersDialog.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/dialogs/EditQualifiersDialog.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- EditQualifiersDialog.java 5 Aug 2005 07:55:14 -0000 1.12 +++ EditQualifiersDialog.java 5 Aug 2005 13:44:07 -0000 1.13 @@ -1585,8 +1585,8 @@ String octetstring_array = "octetstring[]"; Operation op = (Operation)element; Type type = null; - if(op.getReturnResult("ReturnType") != null){ - type = op.getReturnResult("ReturnType").getType(); + if(op.getReturnResults().get(0) != null){ + type = ((Parameter)op.getReturnResults().get(0)).getType(); } if(type != null){ if(type.getName().equalsIgnoreCase(octetstring) || type.getName().equalsIgnoreCase(octetstring_array)){ @@ -3408,7 +3408,7 @@ if(stereo == null){ stereo = property.getApplicableStereotype("CIM::Key"); } - if(newValue.equalsIgnoreCase("false")){ + if(stereo != null && newValue.equalsIgnoreCase("false")){ property.unapply(stereo); } else if(newValue.equalsIgnoreCase("true")){ property.apply(stereo); @@ -4124,12 +4124,14 @@ for(int i = 0; i < removedValuesIndex; i++){ QualifierValueObject object = removedValues[i]; - // get effective inherited qualifier value - EffectiveInheritedValue eiValue = FlavorsHelper.effectiveInheritedValue(element, object.name); - object.value = eiValue.getValue(); - - // set default value - editValue(object, false); + if(FlavorsHelper.isNativeMappedQualifier(object.name)){ + // get effective inherited qualifier value + EffectiveInheritedValue eiValue = FlavorsHelper.effectiveInheritedValue(element, object.name); + object.value = eiValue.getValue(); + editValue(object, false); + } else { + editValue(object, true); + } } resetRemovedValues(); } |
|
From: Benjamin B. <bg...@us...> - 2005-08-05 13:44:20
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25920/Plugin/com/ibm/ecute/rsa/core/internal/properties Modified Files: QualifiersPropertySection.java CheckAndRepair.java FlavorsHelper.java Log Message: the disableOverride check should work now for all elements Index: FlavorsHelper.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/FlavorsHelper.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- FlavorsHelper.java 5 Aug 2005 07:55:14 -0000 1.7 +++ FlavorsHelper.java 5 Aug 2005 13:44:07 -0000 1.8 @@ -22,11 +22,9 @@ import org.eclipse.uml2.Constraint; import org.eclipse.uml2.Element; import org.eclipse.uml2.Model; -import org.eclipse.uml2.MultiplicityElement; import org.eclipse.uml2.NamedElement; import org.eclipse.uml2.OpaqueExpression; import org.eclipse.uml2.Operation; -import org.eclipse.uml2.Package; import org.eclipse.uml2.Parameter; import org.eclipse.uml2.ParameterDirectionKind; import org.eclipse.uml2.PrimitiveType; @@ -238,7 +236,7 @@ return list; } - private boolean isNativeMappedQualifier(String qualifierName){ + public static boolean isNativeMappedQualifier(String qualifierName){ String[] nativeQualifiers = {"Abstract", "Aggregate", "Aggregation", "Association", "Composition", "ArrayType", "Deprecated", "Description", "In", "Out", "Key", "Max", @@ -252,7 +250,7 @@ return false; } - private boolean isNativeMappedQualifier(Qualifier qualifier){ + private static boolean isNativeMappedQualifier(Qualifier qualifier){ if(isNativeMappedQualifier(qualifier.name)){ return true; @@ -870,7 +868,11 @@ if(method != null && equalMethods(operation, method)){ - Type datatype = method.getType(); + Type datatype = null; + if(method.getReturnResults().get(0) != null){ + datatype = ((Parameter)method.getReturnResults().get(0)).getType(); + } + if(datatype != null){ if(datatype.getName().equalsIgnoreCase("Octetstring")){ return(new EffectiveInheritedValue("true", (Class)parents.get(j))); @@ -1193,19 +1195,30 @@ return null; } - public static String qualifierValue(NamedElement element, String qualifierName){ + public static String qualifierValue(NamedElement element, Qualifier qualifier){ - Stereotype cimStereotype = element.getAppliedStereotype("CIM::Qualifiers"); - List qualifierNames = (List) element.getValue(cimStereotype, "QualifierName"); - List qualifierValues = (List) element.getValue(cimStereotype, "QualifierValue"); + String qualifierName = qualifier.name; - for(int i = 0; i < qualifierNames.size(); i++){ - if(qualifierName.equalsIgnoreCase((String)qualifierNames.get(i))){ - return (String)qualifierValues.get(i); + if(!isNativeMappedQualifier(qualifierName)){ + Stereotype cimStereotype = element.getAppliedStereotype("CIM::Qualifiers"); + List qualifierNames = (List) element.getValue(cimStereotype, "QualifierName"); + List qualifierValues = (List) element.getValue(cimStereotype, "QualifierValue"); + + for(int i = 0; i < qualifierNames.size(); i++){ + if(qualifierName.equalsIgnoreCase((String)qualifierNames.get(i))){ + return (String)qualifierValues.get(i); + } + } + + EffectiveInheritedValue effectiveInheritedValue = effectiveInheritedValue(element, qualifierName); + if(effectiveInheritedValue != null){ + return effectiveInheritedValue.getValue(); + } else { + return qualifier.defaultValue; } } - if(qualifierName.equalsIgnoreCase("Abstract")){ + else if(qualifierName.equalsIgnoreCase("Abstract")){ if(element instanceof Class){ if(((Class)element).isAbstract()){ return "true"; @@ -1398,8 +1411,8 @@ type = ((Property)element).getType(); } else { Operation op = (Operation)element; - if(op.getReturnResult("ReturnType") != null){ - type = op.getReturnResult("ReturnType").getType(); + if(op.getReturnResults().get(0) != null){ + type = ((Parameter)op.getReturnResults().get(0)).getType(); } } if(type != null){ Index: CheckAndRepair.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/CheckAndRepair.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- CheckAndRepair.java 5 Aug 2005 07:55:14 -0000 1.2 +++ CheckAndRepair.java 5 Aug 2005 13:44:07 -0000 1.3 @@ -348,13 +348,39 @@ ArrayList childClasses = getAllChildClasses(thisClass, orderedModelClasses, false); for(int j = 0; j < disableOverrideClassQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideClassQualifiers.get(j); - String valueA = FlavorsHelper.qualifierValue(thisClass, qualifier.name); + /**/ + String referenceValue = qualifier.defaultValue; + Class referenceClass = thisClass; + boolean disableOverride = false; + /**/ + String valueA = FlavorsHelper.qualifierValue(thisClass, qualifier); + /**/ + if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ + disableOverride = true; + referenceValue = valueA; + } + /**/ boolean firstChild = true; for(int k = 0; k < childClasses.size(); k++){ Class class_ = (Class)childClasses.get(k); - String valueB = FlavorsHelper.qualifierValue(class_, qualifier.name); - if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| - valueA == null && valueB != null){ + String valueB = FlavorsHelper.qualifierValue(class_, qualifier); + + /**/ + if(valueB == null){ + EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(class_, qualifier.name); + if(effectiveInheritedValue != null){ + valueB = effectiveInheritedValue.getValue(); + } + } + + if(((valueB == null && referenceValue != null)||(valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && !disableOverride){ + disableOverride = true; + referenceValue = valueB; + referenceClass = class_; + } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && disableOverride){ + /**/ if(firstClass){ frame.addLine2Log(""); @@ -366,7 +392,7 @@ if(firstChild){ frame.addLine2Log(""); frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)thisClass.getOwner()).getName() + "::" + thisClass.getName()+ " is overwritten in class "); + frame.addLine2Log(((NamedElement)referenceClass.getOwner()).getName() + "::" + referenceClass.getName()+ " is overwritten in class "); firstChild = false; } frame.addLine2Log(" - "+ ((NamedElement)class_.getOwner()).getName() + "::" + class_.getName()); @@ -400,14 +426,42 @@ ArrayList childClasses = getAllChildClasses(thisClass, orderedModelClasses, false); for(int j = 0; j < disableOverrideAssociationClassQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideAssociationClassQualifiers.get(j); - String valueA = FlavorsHelper.qualifierValue(thisClass, qualifier.name); + /**/ + String referenceValue = qualifier.defaultValue; + AssociationClass referenceAssociationClass = thisClass; + boolean disableOverride = false; + /**/ + String valueA = FlavorsHelper.qualifierValue(thisClass, qualifier); + /**/ + if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ + disableOverride = true; + referenceValue = valueA; + } + /**/ boolean firstChild = true; for(int k = 0; k < childClasses.size(); k++){ AssociationClass class_ = (AssociationClass)childClasses.get(k); - String valueB = FlavorsHelper.qualifierValue(class_, qualifier.name); - if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB) || - valueA == null && valueB != null){ - + String valueB = FlavorsHelper.qualifierValue(class_, qualifier); +// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB) || +// valueA == null && valueB != null){ + + /**/ + if(valueB == null){ + EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(class_, qualifier.name); + if(effectiveInheritedValue != null){ + valueB = effectiveInheritedValue.getValue(); + } + } + + if(((valueB == null && referenceValue != null)||(valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && !disableOverride){ + disableOverride = true; + referenceValue = valueB; + referenceAssociationClass = class_; + } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && disableOverride){ + /**/ + if(firstClass){ frame.addLine2Log(""); frame.addLine2Log("AssociationClasses:"); @@ -418,7 +472,7 @@ if(firstChild){ frame.addLine2Log(""); frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)thisClass.getOwner()).getName() + "::" + thisClass.getName()+ " is overwritten in associationClass "); + frame.addLine2Log(((NamedElement)referenceAssociationClass.getOwner()).getName() + "::" + referenceAssociationClass.getName()+ " is overwritten in associationClass "); firstChild = false; } frame.addLine2Log(" - "+ ((NamedElement)class_.getOwner()).getName() + "::" + class_.getName()); @@ -459,17 +513,45 @@ boolean firstQualifier = true; for(int j = 0; j < disableOverrideReferenceQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideReferenceQualifiers.get(j); - String valueA = FlavorsHelper.qualifierValue(property, qualifier.name); + /**/ + String referenceValue = qualifier.defaultValue; + Property referenceReference = property; + boolean disableOverride = false; + /**/ + String valueA = FlavorsHelper.qualifierValue(property, qualifier); + /**/ + if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ + disableOverride = true; + referenceValue = valueA; + } + /**/ boolean firstChild = true; for(int k = 0; k < childProperties.size(); k++){ Property childProperty = (Property)childProperties.get(k); if(firstQualifier){ checkedSubclassReferences.add(childProperty); } - String valueB = FlavorsHelper.qualifierValue(childProperty, qualifier.name); - if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| - valueA == null && valueB != null){ - + String valueB = FlavorsHelper.qualifierValue(childProperty, qualifier); +// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| +// valueA == null && valueB != null){ + + /**/ + if(valueB == null){ + EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(childProperty, qualifier.name); + if(effectiveInheritedValue != null){ + valueB = effectiveInheritedValue.getValue(); + } + } + + if(((valueB == null && referenceValue != null)||(valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && !disableOverride){ + disableOverride = true; + referenceValue = valueB; + referenceReference = childProperty; + } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && disableOverride){ + /**/ + if(firstReference){ frame.addLine2Log(""); frame.addLine2Log("AssociationEnds:"); @@ -480,8 +562,8 @@ if(firstChild){ frame.addLine2Log(""); frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)property.getOwner().getOwner()).getName() + "::" + - ((NamedElement)property.getOwner()).getName() + "::" + property.getName() + " is overwritten in associationEnd "); + frame.addLine2Log(((NamedElement)referenceReference.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceReference.getOwner()).getName() + "::" + referenceReference.getName() + " is overwritten in associationEnd "); firstChild = false; } frame.addLine2Log(" - " + ((NamedElement)childProperty.getOwner().getOwner()).getName() + "::" + @@ -526,17 +608,45 @@ boolean firstQualifier = true; for(int j = 0; j < disableOverridePropertyQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverridePropertyQualifiers.get(j); - String valueA = FlavorsHelper.qualifierValue(property, qualifier.name); + /**/ + String referenceValue = qualifier.defaultValue; + Property referenceProperty = property; + boolean disableOverride = false; + /**/ + String valueA = FlavorsHelper.qualifierValue(property, qualifier); + /**/ + if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ + disableOverride = true; + referenceValue = valueA; + } + /**/ boolean firstChild = true; for(int k = 0; k < childProperties.size(); k++){ Property childProperty = (Property)childProperties.get(k); if(firstQualifier){ checkedSubclassProperties.add(childProperty); } - String valueB = FlavorsHelper.qualifierValue(childProperty, qualifier.name); - if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| - valueA == null && valueB != null){ - + String valueB = FlavorsHelper.qualifierValue(childProperty, qualifier); +// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| +// valueA == null && valueB != null){ + + /**/ + if(valueB == null){ + EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(childProperty, qualifier.name); + if(effectiveInheritedValue != null){ + valueB = effectiveInheritedValue.getValue(); + } + } + + if(((valueB == null && referenceValue != null)||(valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && !disableOverride){ + disableOverride = true; + referenceValue = valueB; + referenceProperty = childProperty; + } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && disableOverride){ + /**/ + if(firstProperty){ frame.addLine2Log(""); frame.addLine2Log("Properties:"); @@ -547,8 +657,8 @@ if(firstChild){ frame.addLine2Log(""); frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)property.getOwner().getOwner()).getName() + "::" + - ((NamedElement)property.getOwner()).getName() + "::" + property.getName() + " is overwritten in property "); + frame.addLine2Log(((NamedElement)referenceProperty.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceProperty.getOwner()).getName() + "::" + referenceProperty.getName() + " is overwritten in property "); firstChild = false; } frame.addLine2Log(" - " + ((NamedElement)childProperty.getOwner().getOwner()).getName() + "::" + @@ -592,17 +702,45 @@ boolean firstQualifier = true; for(int j = 0; j < disableOverrideMethodQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideMethodQualifiers.get(j); - String valueA = FlavorsHelper.qualifierValue(operation, qualifier.name); + /**/ + String referenceValue = qualifier.defaultValue; + Operation referenceOperation = operation; + boolean disableOverride = false; + /**/ + String valueA = FlavorsHelper.qualifierValue(operation, qualifier); + /**/ + if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ + disableOverride = true; + referenceValue = valueA; + } + /**/ boolean firstChild = true; for(int k = 0; k < childMethods.size(); k++){ Operation childMethod = (Operation)childMethods.get(k); if(firstQualifier){ checkedSubclassMethods.add(childMethod); } - String valueB = FlavorsHelper.qualifierValue(childMethod, qualifier.name); - if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| - valueA == null && valueB != null){ - + String valueB = FlavorsHelper.qualifierValue(childMethod, qualifier); +// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| +// valueA == null && valueB != null){ + + /**/ + if(valueB == null){ + EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(childMethod, qualifier.name); + if(effectiveInheritedValue != null){ + valueB = effectiveInheritedValue.getValue(); + } + } + + if(((valueB == null && referenceValue != null)||(valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && !disableOverride){ + disableOverride = true; + referenceValue = valueB; + referenceOperation = childMethod; + } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && disableOverride){ + /**/ + if(firstMethod){ frame.addLine2Log(""); frame.addLine2Log("Methods:"); @@ -613,8 +751,8 @@ if(firstChild){ frame.addLine2Log(""); frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)operation.getOwner().getOwner()).getName() + "::" + - ((NamedElement)operation.getOwner()).getName() + "::" + operation.getName() + " is overwritten in method "); + frame.addLine2Log(((NamedElement)referenceOperation.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceOperation.getOwner()).getName() + "::" + referenceOperation.getName() + " is overwritten in method "); firstChild = false; } frame.addLine2Log(" - " + ((NamedElement)childMethod.getOwner().getOwner()).getName() + "::" + @@ -660,16 +798,44 @@ boolean firstQualifier = true; for(int j = 0; j < disableOverrideParameterQualifiers.size(); j++){ Qualifier qualifier = (Qualifier)disableOverrideParameterQualifiers.get(j); - String valueA = FlavorsHelper.qualifierValue(parameter, qualifier.name); + /**/ + String referenceValue = qualifier.defaultValue; + Parameter referenceParameter = parameter; + boolean disableOverride = false; + /**/ + String valueA = FlavorsHelper.qualifierValue(parameter, qualifier); + /**/ + if(valueA == null && referenceValue != null || valueA != null && !valueA.equalsIgnoreCase(referenceValue)){ + disableOverride = true; + referenceValue = valueA; + } + /**/ boolean firstChild = true; for(int k = 0; k < childParameters.size(); k++){ Parameter childParameter = (Parameter)childParameters.get(k); if(firstQualifier){ checkedSubclassParameters.add(childParameter); } - String valueB = FlavorsHelper.qualifierValue(childParameter, qualifier.name); - if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| - valueA == null && valueB != null){ + String valueB = FlavorsHelper.qualifierValue(childParameter, qualifier); +// if(valueA != null && valueB != null && !valueA.equalsIgnoreCase(valueB)|| +// valueA == null && valueB != null){ + + /**/ + if(valueB == null){ + EffectiveInheritedValue effectiveInheritedValue = FlavorsHelper.effectiveInheritedValue(childParameter, qualifier.name); + if(effectiveInheritedValue != null){ + valueB = effectiveInheritedValue.getValue(); + } + } + + if(((valueB == null && referenceValue != null)||(valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && !disableOverride){ + disableOverride = true; + referenceValue = valueB; + referenceParameter = childParameter; + } else if(((valueB == null && referenceValue != null)|| (valueB != null && !valueB.equalsIgnoreCase(referenceValue))) + && disableOverride){ + /**/ if(firstParameter){ frame.addLine2Log(""); @@ -681,9 +847,9 @@ if(firstChild){ frame.addLine2Log(""); frame.addLine2Log("The disable override qualifer " + qualifier.name + " defined in"); - frame.addLine2Log(((NamedElement)parameter.getOwner().getOwner().getOwner()).getName() + "::" + - ((NamedElement)parameter.getOwner().getOwner()).getName() + "::" + - ((NamedElement)parameter.getOwner()).getName() + "::" + parameter.getName() + " is overwritten in parameter "); + frame.addLine2Log(((NamedElement)referenceParameter.getOwner().getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceParameter.getOwner().getOwner()).getName() + "::" + + ((NamedElement)referenceParameter.getOwner()).getName() + "::" + referenceParameter.getName() + " is overwritten in parameter "); firstChild = false; } frame.addLine2Log(" - " + ((NamedElement)childParameter.getOwner().getOwner().getOwner()).getName() + "::" + Index: QualifiersPropertySection.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/QualifiersPropertySection.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- QualifiersPropertySection.java 5 Aug 2005 07:55:14 -0000 1.25 +++ QualifiersPropertySection.java 5 Aug 2005 13:44:05 -0000 1.26 @@ -633,8 +633,8 @@ String octetstring_array = "octetstring[]"; Operation op = (Operation)element; Type type = null; - if(op.getReturnResult("ReturnType") != null){ - op.getReturnResult("ReturnType").getType(); + if(op.getReturnResults().get(0) != null){ + type = ((Parameter)op.getReturnResults().get(0)).getType(); } if(type != null){ if(type.getName().equalsIgnoreCase(octetstring) || type.getName().equalsIgnoreCase(octetstring_array)){ |