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: Viktor M. <mih...@us...> - 2005-04-05 12:11:30
|
Update of /cvsroot/sblim/wbemcli In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv906 Modified Files: Makefile.am configure.ac Added Files: sblim-wbemcli.spec.in Log Message: Modified spec file location for RPM build facilitation. --- NEW FILE: sblim-wbemcli.spec.in --- # # $Id: sblim-wbemcli.spec.in,v 1.1 2005/04/05 12:11:19 mihajlov Exp $ # # Package spec for wbemcli # Summary: SBLIM WBEM Command Line Interface Name: @PACKAGE_TARNAME@ Version: @PACKAGE_VERSION@ Release: 0 Group: Systems Management/Base Copyright: Common Public Licence http://oss.software.ibm.com/developerworks/opensource/license-cpl.html Packager: Viktor Mihajlovski <mih...@de...> Source0: http://prdownloads.sourceforge.net/sblim/%{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/buildroot BuildRequires: curl-devel >= 7.9.3 Requires: curl >= 7.9.3 %Description WBEM Command Line Interface is a standalone, command line WBEM client. It is especially suited for basic systems management tasks as it can be used in scripts. %prep %setup %build %configure make %{?smp_mflags} %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %install %makeinstall %files %defattr(-,root,root) %{_bindir}/wbem* %{_mandir}/man1/* Index: Makefile.am =================================================================== RCS file: /cvsroot/sblim/wbemcli/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile.am 6 Dec 2004 17:33:59 -0000 1.2 +++ Makefile.am 5 Apr 2005 12:11:04 -0000 1.3 @@ -21,7 +21,7 @@ man_MANS = wbemcli.1 -EXTRA_DIST=$(man_MANS) contrib/sblim-wbemcli.spec.in samples \ +EXTRA_DIST=$(man_MANS) sblim-wbemcli.spec samples \ README.pycli wbemcli.ind cimcli.py CimXml.py CimXml.i if HAVE_SWIG Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/wbemcli/configure.ac,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- configure.ac 17 Dec 2004 14:37:04 -0000 1.6 +++ configure.ac 5 Apr 2005 12:11:19 -0000 1.7 @@ -1,7 +1,7 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_INIT(SBLIM WBEMCLI, 1.4.8b, sbl...@ww...) +AC_INIT(SBLIM WBEMCLI, 1.4.8c, sbl...@ww...) AC_CONFIG_SRCDIR([CimXml.cpp]) AC_CANONICAL_HOST @@ -139,5 +139,5 @@ AC_FUNC_VPRINTF AC_CHECK_FUNCS([memmove memset strcasecmp strchr strdup strncasecmp strndup strpbrk strstr strtol]) -AC_CONFIG_FILES([Makefile contrib/sblim-wbemcli.spec]) +AC_CONFIG_FILES([Makefile sblim-wbemcli.spec]) AC_OUTPUT |
From: Viktor M. <mih...@us...> - 2005-04-05 12:11:30
|
Update of /cvsroot/sblim/wbemcli/contrib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv906/contrib Removed Files: sblim-wbemcli.spec.in Log Message: Modified spec file location for RPM build facilitation. --- sblim-wbemcli.spec.in DELETED --- |
From: Andreas M. <ma...@us...> - 2005-04-01 17:41:15
|
Update of /cvsroot/sblim/ecute In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31899 Modified Files: ToDo.txt Log Message: Inserted missing ToDo's from previous CVS repository, as a result renamed old 30+31 to 37+38. Index: ToDo.txt =================================================================== RCS file: /cvsroot/sblim/ecute/ToDo.txt,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- ToDo.txt 31 Mar 2005 16:15:00 -0000 1.9 +++ ToDo.txt 1 Apr 2005 17:41:04 -0000 1.10 @@ -1,7 +1,7 @@ -ToDo List for Ecute +ToDo List for ECUTE ------------------- -Last updated: 31-Mar-2005 AM +Last updated: 01-Apr-2005 AM 1. Problem: In Rose, there are two places where the Description qualifier for @@ -112,7 +112,7 @@ 10. Problem: Tooling does not detect duplicate properties without override. - Currently, Ecute adds an override qualifier on export for REF properties + Currently, ECUTE adds an override qualifier on export for REF properties (Validate whether this is really just for REF properties). Solution: @@ -123,7 +123,7 @@ - Provide a check that just surfaces this as a warning. - The current automatic adding of overrides on REF properties stays active. -11. Problem: There is a bug in Ecute due to a misunderstanding of the +11. Problem: There is a bug in ECUTE due to a misunderstanding of the "Override" qualifier: All the properties/methods/parameters existing with the same name in base classes are considered "override" even when the override qualifier is not defined. This is related to 10 ("Tooling does @@ -182,7 +182,7 @@ 16. Document the CMPI code generator plugin in the User's Guide. Important for Cisco. -17. Update the Developer's Guide to reflect Ecute architecture. Current +17. Update the Developer's Guide to reflect ECUTE architecture. Current document corresponds to CrmTooling 1.3 18. Rose input plugin finishes with an exception if any of the selected packages @@ -306,7 +306,13 @@ Releasing memory (this can take some time depending on the number of created objects). - b) The titles of the message log window currently change for each phase, and at the end it sits on the export. I don't think it is necessary to adapt the title dynamically to the phase executing (otherwise you would need to go to error or success at the end, to be consistent). I believe it is much simpler and without any loss of usability if the title text was just fixed, e.g. "ECUTE 2.0 - CIM MOF Import" + b) The titles of the message log window currently change for each + phase, and at the end it sits on the export. I don't think it is + necessary to adapt the title dynamically to the phase executing + (otherwise you would need to go to error or success at the end, to + be consistent). I believe it is much simpler and without any loss + of usability if the title text was just fixed, e.g. "ECUTE 2.0 - CIM + MOF Import" c) Same comment for export message log. @@ -338,27 +344,27 @@ Solution: Detect the version incompatibility and suface it as an explicit error message to the user. This should be done as a general solution by catch all types - of java.lang.error and displaying an according message before terminating eCute. + of java.lang.error and displaying an according message before terminating ECUTE. We should also create a log-file that holds all outputs for stdout and stderr as a first error indication. 26. Selection of Java environment at installation time - Problem: The fact that eCute does not work with JRE 1.4.2 requires the use of + Problem: The fact that ECUTE does not work with JRE 1.4.2 requires the use of multiple versions of java for those users that use 1.4.2 for other apps. Solution: Default would be the default environment (e.g. java.exe in the path). One way to do this is to allow specification of an environment variable that the user says would point to the JRE, test that, and then use that variable in the generated .bat files. We should investigate if it is - legally possible to ship a compatible JRE together with eCute, much like it + legally possible to ship a compatible JRE together with ECUTE, much like it is done for other IBM products. 27. IBM implementation of a COM bridge There is an IBM plugin for Eclipse for accessing COM objects. Today we do this with Jacob with the following limitations: the license does not allow - us to distribute it with Ecute. it does not work with the latest JREs + us to distribute it with ECUTE. it does not work with the latest JREs The plugin commes from Rational, therefore it should be designed with an eye on REI. The artice is in Developerworks. Here is the link: @@ -368,42 +374,100 @@ The task would be to use this COM bridge when interfacing with Rose from RSA. We should also investigate whether this COM bridge can be used in an isolated Rose environment (i.e. without RSA). - + 28. Multiplicity for Rose MOF import is set to unspecified The Rose MOF import sets the multiplicity for associations to unspecified when - the Min/Max qualifiers are not specified. + the Min/Max qualifiers are not specified. Instead it needs to set multiplicity to the default values for Min/Max as specified in the qualifier mof. 29. Improve error message for mof import - + The following (erroneous) source line: - + >> string ClassName; /7 was an override of Name - + leads to this confusing error message: - + >> Error: ws-cim-example3.mof(160): Token 256.0 not expected. - + This error message needs some improvement - -30. When the selected Rose package does not contain a main diagram during export - a Nullpointer exception occurs in RoseParser::CreateCategories: - ERROR: the following unknown error was detected: - java.lang.NullPointerException - at com.ibm.ecute.plugins.input.funcionality.RoseParser.fillCategory(RoseParser.java:211) - at com.ibm.ecute.plugins.input.funcionality.RoseParser.CreateCategories(RoseParser.java:190) - at com.ibm.ecute.plugins.input.funcionality.RoseParser.Import(RoseParser.java:151) - at com.ibm.ecute.plugins.input.RoseInputPlugin.execute(RoseInputPlugin.java:150) - at com.ibm.ecute.EntryPoint.executeInputPlugins(EntryPoint.java:636) - at com.ibm.ecute.EntryPoint.<init>(EntryPoint.java:216) - at com.ibm.ecute.EntryPoint.main(EntryPoint.java:108) +30. Show Compositions with solid diamond -31. - 35. missing (lost on developerworks) + Cisco found this when testing the Rose version, with ECUTE 2.1 alpha1. We + currently ignore the Composition qualifier, when we should use it to decide + whether the composite end of a UML aggregation should be owned or not + (solid diamond vs. hollow diamond in the class diagram). -36. The entry in the list of installed software (Win XP: Control Panel / Add or Remove Programs) - should state the version being installed. + Need to verify whether this also occurs in the RSA version. Need to update + the UML mapping section in the User's guide accordingly. + +31. Test RSA version with RDM (Rational Data Modeler) + +32. Get RSA version ready for production + + This includes at least the following work: + - Update the design documentation and the User's Guide + - Place a binary package on SBLIM + - ... more ? + + We need to discuss whether the following should also be done before we call + out "ready for production": + - Port check&repair + - Port provider generation + - Item 31 (Test with RDM) + +33. Add a check option for usage of deprecated properties, methods or (association)classes. + + There is a number of ways to define "usage".: + 1. based upon IBM_* qualifiers + 2. Defined in the classes of a package + 3. Future: Defined in classes of a profile + I tend to prefer 1. for now. + +34. Add a check&repair option for role names in associations. + + The check would detect missing override qualifiers betwen equally named reference + properties in a inheritance sequence as well as any change of role names along a + chain of reference properties connected with override qualifiers. + + The repair would assume the base class of the package selected to be fixed is + correct, and the property names in the classes in the selected package would be + adjusted if needed, and a missing override would be created, and one that changes + the name would be also adjusted. + +35. ECUTE fails on MOF export if error in another package + + When exporting package A, and there is an error in a package B, then even if B is + not used by A in any way, ECUTE failt to export package A. + This should be changed to only have errors that affect the export of A, cause + the export to fail. + + Other operations (e.g. provider generation) should be tested whether they also + need to be changed accordingly. + +36. ECUTE does more checking when exporting MOF than when checking. + + Some CbC models exhibited that behaviour. Need to dig out from CbC CVS and test, + to understand the cases. Probably a version around 2/2005. + +37. (Was 30.) When the selected Rose package does not contain a main diagram + during export a Nullpointer exception occurs in + RoseParser::CreateCategories: + + ERROR: the following unknown error was detected: + java.lang.NullPointerException + at com.ibm.ecute.plugins.input.funcionality.RoseParser.fillCategory(RoseParser.java:211) + at com.ibm.ecute.plugins.input.funcionality.RoseParser.CreateCategories(RoseParser.java:190) + at com.ibm.ecute.plugins.input.funcionality.RoseParser.Import(RoseParser.java:151) + at com.ibm.ecute.plugins.input.RoseInputPlugin.execute(RoseInputPlugin.java:150) + at com.ibm.ecute.EntryPoint.executeInputPlugins(EntryPoint.java:636) + at com.ibm.ecute.EntryPoint.<init>(EntryPoint.java:216) + at com.ibm.ecute.EntryPoint.main(EntryPoint.java:108) + +38. (was 36.) The entry in the list of installed software (Win XP: Control + Panel / Add or Remove Programs) should state the version being installed. |
From: Viktor M. <mih...@us...> - 2005-04-01 15:19:53
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15061 Modified Files: Makefile.am configure.ac getSchema.sh.pre.in sfcBroker.c sfcb.init-none sfcb.init-redhat sfcb.init-suse sfcb.spec.in Log Message: Bugs: 1174837, 1174668. Changed daemon name to sfcbd. Added install-cimschema target. This target is used in the RPM spec, to build an additional package sfcb-schema containing the DMTF CIM Schema V2.9. Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/sfcb/configure.ac,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- configure.ac 1 Apr 2005 11:55:28 -0000 1.5 +++ configure.ac 1 Apr 2005 15:19:29 -0000 1.6 @@ -21,7 +21,7 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Small Footprint CIM Broker, 0.8.6e, sc...@de..., sfcb) +AC_INIT(Small Footprint CIM Broker, 0.8.7, sc...@de..., sfcb) AC_CONFIG_SRCDIR([providerDrv.c]) AM_INIT_AUTOMAKE Index: sfcBroker.c =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcBroker.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- sfcBroker.c 12 Mar 2005 00:43:00 -0000 1.4 +++ sfcBroker.c 1 Apr 2005 15:19:29 -0000 1.5 @@ -116,9 +116,9 @@ static void restartSfcBroker(void *p) { sleep(1); - printf("\n--- \n--- Restarting sfcBroker\n---\n"); + printf("\n--- \n--- Restarting sfcbd\n---\n"); - execvp("sfcBroker",restartArgv); + execvp("sfcbd",restartArgv); perror("--- execv for restart problem:"); abort(); } @@ -197,7 +197,7 @@ startHttp = 1; collectStat=0; - processName="sfcBroker"; + processName="sfcbd"; provPauseStr=getenv("SFCB_PAUSE_PROVIDER"); httpPauseStr=getenv("SFCB_PAUSE_CODEC"); currentProc=sfcBrokerPid=getpid(); @@ -286,8 +286,8 @@ if (getControlNum("providerTimeoutInterval", &provTimeoutInterval)) provTimeoutInterval = 10; - resultSockets=getSocketPair("sfcBroker result"); - sfcbSockets=getSocketPair("sfcBroker sfcb"); + resultSockets=getSocketPair("sfcbd result"); + sfcbSockets=getSocketPair("sfcbd sfcb"); initSem(dSockets,dSockets,pSockets); initProvProcCtl(pSockets); Index: sfcb.init-redhat =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.init-redhat,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- sfcb.init-redhat 24 Mar 2005 12:44:45 -0000 1.3 +++ sfcb.init-redhat 1 Apr 2005 15:19:29 -0000 1.4 @@ -6,7 +6,7 @@ # # description: Small Footprint CIM Broker Service # -# processname: sfcBroker +# processname: sfcbd # # config: @sysconfdir@/sfcb/sfcb.cfg @@ -30,7 +30,7 @@ start() { echo -n "Starting sfcb: " - daemon @bindir@/sfcBroker -d && + daemon @bindir@/sfcbd -d && touch /var/lock/subsys/sfcb && return 0 || return 1 @@ -38,14 +38,14 @@ stop() { echo -n "Shutting down sfcb: " - killproc sfcBroker && + killproc sfcbd && rm -f /var/lock/subsys/sfcb && return 0 || return 1 } reload() { echo -n "Reloading sfcb configuration: " - killproc sfcBroker -HUP && + killproc sfcbd -HUP && return 0 || return 1 } @@ -57,7 +57,7 @@ stop ;; status) - status sfcBroker + status sfcbd ;; restart) stop Index: getSchema.sh.pre.in =================================================================== RCS file: /cvsroot/sblim/sfcb/getSchema.sh.pre.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- getSchema.sh.pre.in 15 Mar 2005 08:23:00 -0000 1.3 +++ getSchema.sh.pre.in 1 Apr 2005 15:19:29 -0000 1.4 @@ -3,7 +3,13 @@ trap "rm -f /tmp/cimv290.zip" exit -sfcbdir=@datadir@/sfcb +if test $# == 1; then + sfcbdir=$1 +elif test $# == 0; then + sfcbdir=@datadir@/sfcb +else + echo usage: $0 [schemadir] +fi if [ -x /usr/bin/curl ] then @@ -11,12 +17,15 @@ then echo "Fetching CIM Schema from DMTF homepage ..." [ -d $sfcbdir/CIM ] || mkdir -p $sfcbdir/CIM - /usr/bin/curl -o /tmp/cimv290.zip http://www.dmtf.org/standards/cim/cim_schema_v29/CIM_V2.9.0Final-MOFs.zip && - unzip -jd $sfcbdir/CIM /tmp/cimv290.zip && - exit 0 + if [ $? == 0 ]; then + /usr/bin/curl -o /tmp/cimv290.zip \ + http://www.dmtf.org/standards/cim/cim_schema_v29/CIM_V2.9.0Final-MOFs.zip && + unzip -jd $sfcbdir/CIM /tmp/cimv290.zip && + exit 0 + fi echo "Failed to fetch and install CIM schema" 1>&2 else - echo "CIM Schema already loaded" + echo "CIM Schema already present - nothing to do." exit 0 fi else Index: sfcb.spec.in =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.spec.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- sfcb.spec.in 24 Mar 2005 12:44:45 -0000 1.5 +++ sfcb.spec.in 1 Apr 2005 15:19:29 -0000 1.6 @@ -20,6 +20,13 @@ %Description Small Footprint CIM Broker. +%Package schema +Summary: CIM Schema Files +Copyright: (C) Distributed Management Task Force +Group: Systems Management/Base +%Description schema +DMTF CIM Schema files that can be used with the Small Footprint CIM Broker. + %prep %setup -T -b 0 -n %{name}-%{version} @@ -41,10 +48,26 @@ fi make DESTDIR=$RPM_BUILD_ROOT install +make DESTDIR=$RPM_BUILD_ROOT install-cimschema # remove unused libtool files rm -f $RPM_BUILD_ROOT/%{_libdir}/*a +echo "%defattr(-,root,root)" > _pkg_list + +find $RPM_BUILD_ROOT/%{_datadir}/%{name} -type f | grep -v $RPM_BUILD_ROOT/%{_datadir}/%{name}/CIM >> _pkg_list +sed s?$RPM_BUILD_ROOT??g _pkg_list > _pkg_list_2 +mv -f _pkg_list_2 _pkg_list +echo "%config %{_sysconfdir}/%{name}" >> _pkg_list +echo "%doc %{_datadir}/doc" >> _pkg_list +echo "%{_sysconfdir}/init.d/%{name}" >> _pkg_list +echo "%{_localstatedir}/lib/%{name}" >> _pkg_list +echo "%{_bindir}/*" >> _pkg_list +echo "%{_libdir}/*.so*" >> _pkg_list + +echo ======================================= +cat _pkg_list + %clean if [ `id -ur` != 0 ] then @@ -58,12 +81,7 @@ %postun /sbin/ldconfig -%files -%defattr(-,root,root) -%config %{_sysconfdir}/%{name} -%doc %{_datadir}/doc -%{_sysconfdir}/init.d/%{name} -%{_datadir}/%{name} -%{_localstatedir}/lib/%{name} -%{_bindir}/* -%{_libdir}/*.so* +%files schema +%{_datadir}/%{name}/CIM + +%files -f _pkg_list Index: sfcb.init-suse =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.init-suse,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- sfcb.init-suse 24 Mar 2005 12:44:45 -0000 1.3 +++ sfcb.init-suse 1 Apr 2005 15:19:29 -0000 1.4 @@ -30,19 +30,19 @@ start() { echo -n "Starting sfcb: " - startproc @bindir@/sfcBroker -d + startproc @bindir@/sfcbd -d rcstatus -v } stop() { echo -n "Shutting down sfcb: " - killproc sfcBroker + killproc sfcbd rcstatus -v } reload() { echo -n "Reloading sfcb configuration: " - killproc -HUP sfcBroker + killproc -HUP sfcbd rcstatus -v } @@ -54,7 +54,7 @@ stop ;; status) - checkproc sfcBroker + checkproc sfcbd rc_status -v ;; restart) Index: Makefile.am =================================================================== RCS file: /cvsroot/sblim/sfcb/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile.am 30 Mar 2005 12:30:51 -0000 1.7 +++ Makefile.am 1 Apr 2005 15:19:28 -0000 1.8 @@ -46,7 +46,7 @@ libsfcIndCIMXMLHandler.la bin_PROGRAMS = \ - sfcBroker + sfcbd libsfcBrokerCore_la_SOURCES = \ args.c \ @@ -139,7 +139,9 @@ cimXmlRequest.c libsfcCimXmlCodec_la_LIBADD=-lsfcBrokerCore -sfcBroker_LDADD=-lsfcBrokerCore -lsfcCimXmlCodec -lsfcHttpAdapter + +sfcbd_SOURCES=sfcBroker.c +sfcbd_LDADD=-lsfcBrokerCore -lsfcCimXmlCodec -lsfcHttpAdapter noinst_HEADERS=array.h httpComm.h control.h providerMgr.h \ constClass.h msgqueue.h providerRegister.h \ @@ -207,3 +209,7 @@ dist-hook: test -d "$(distdir)" && rm -rf `find $(distdir) -type d -name CVS` + +install-cimschema: getSchema.sh + test -d $(DESTDIR)$(pkgdatadir) || $(mkdir_p) $(DESTDIR)$(pkgdatadir) + sh getSchema.sh $(DESTDIR)$(pkgdatadir) Index: sfcb.init-none =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.init-none,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- sfcb.init-none 24 Mar 2005 12:44:45 -0000 1.2 +++ sfcb.init-none 1 Apr 2005 15:19:29 -0000 1.3 @@ -21,21 +21,21 @@ start() { echo -n "Starting sfcb: " - @bindir@/sfcBroker -d && echo "done." && return 0 || + @bindir@/sfcbd -d && echo "done." && return 0 || echo "failed." return 1 } stop() { echo -n "Shutting down sfcb: " - killall -9 sfcBroker && echo "done." && return 0 || + killall -9 sfcbd && echo "done." && return 0 || echo "failed." return 1 } reload() { echo -n "Reloading sfcb configuration: " - killall -HUP sfcBroker && echo "done." && return 0 || + killall -HUP sfcbd && echo "done." && return 0 || echo "failed." return 1 } @@ -49,7 +49,7 @@ ;; status) echo -n "Checking SFCB status: " - ps --noheaders -C sfcBroker || echo "stopped." + ps --noheaders -C sfcbd || echo "stopped." ;; restart) stop |
From: Viktor M. <mih...@us...> - 2005-04-01 11:55:38
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32259 Modified Files: configure.ac default.reg sfcbrepos.sh.in Log Message: Bugs: 1174684, 1174767. Use sfcbmof as the MOF compiler name. Fixed default.reg class provider registration type. Index: default.reg =================================================================== RCS file: /cvsroot/sblim/sfcb/default.reg,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- default.reg 9 Mar 2005 12:25:14 -0000 1.1.1.1 +++ default.reg 1 Apr 2005 11:55:28 -0000 1.2 @@ -1,7 +1,7 @@ [$ClassProvider$] provider: ClassProvider location: sfcClassProvider - type: instance method + type: class method unload: never # [$DefaultProvider$] Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/sfcb/configure.ac,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- configure.ac 24 Mar 2005 12:44:45 -0000 1.4 +++ configure.ac 1 Apr 2005 11:55:28 -0000 1.5 @@ -21,7 +21,7 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Small Footprint CIM Broker, 0.8.6d, sc...@de..., sfcb) +AC_INIT(Small Footprint CIM Broker, 0.8.6e, sc...@de..., sfcb) AC_CONFIG_SRCDIR([providerDrv.c]) AM_INIT_AUTOMAKE Index: sfcbrepos.sh.in =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcbrepos.sh.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- sfcbrepos.sh.in 24 Mar 2005 12:44:45 -0000 1.3 +++ sfcbrepos.sh.in 1 Apr 2005 11:55:28 -0000 1.4 @@ -85,7 +85,7 @@ mkdir -p $registrationdir/repository/root/cimv2 && cp $stagingdir/default.reg $registrationdir/providerRegister && cat $stagingdir/regs/*.reg >> $registrationdir/providerRegister && - mofc -o $registrationdir/repository/root/cimv2/classSchemas -I $cimschemadir -i CIM_Schema.mof $stagingdir/mofs/*.mof + sfcbmof -o $registrationdir/repository/root/cimv2/classSchemas -I $cimschemadir -i CIM_Schema.mof $stagingdir/mofs/*.mof then exit 0 else |
From: Viktor M. <mih...@us...> - 2005-04-01 10:48:27
|
Update of /cvsroot/sblim/mofc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28168 Modified Files: Makefile.am README configure.ac Log Message: Bug 1174684: Change MOF Compiler Name to sfcbmof for the sfcb backend. Further, enhance configuration step to automatically assume --with-sfcb if SFCB_DIR is set. Index: README =================================================================== RCS file: /cvsroot/sblim/mofc/README,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- README 3 Mar 2005 09:08:47 -0000 1.1.1.1 +++ README 1 Apr 2005 10:48:14 -0000 1.2 @@ -62,6 +62,8 @@ mofc.out is now a binary file that can be used as classSchemas file of the SFCB. +NOTE: Upon installation the executable will be renamed from mofc to sfcbmof. + Building Embedded in SFCB ------------------------- There's also another possibility to build an SFCB version of MOFC. In case @@ -79,7 +81,7 @@ must be fed with information about parent classes, qualifiers and so on. This basically means that the only meaningful invocation will look like this: - mofc -I <CIM Schema Directory> -i CIM_Schemaxx.mof your.mof [other.mof ...] + sfcbmof -I <CIM Schema Directory> -i CIM_Schemaxx.mof your.mof [other.mof ...] You can download the CIM Schema files from http://www.dmtf.org. @@ -93,4 +95,8 @@ Documentation: -------------- -None yet, except for mofc -h (Exercise left to the reader). +None yet, except for sfcbmof/mofc -h (Exercise left to the reader). + +CVS Instructions: +----------------- +If you checkout from CVS run autoconfiscate.sh to prepare for building. Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/mofc/configure.ac,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- configure.ac 3 Mar 2005 09:26:37 -0000 1.2 +++ configure.ac 1 Apr 2005 10:48:14 -0000 1.3 @@ -1,6 +1,6 @@ # $Id$ -AC_INIT(MOF Compiler, 0.6.5b, mih...@de...,mofc) +AC_INIT(MOF Compiler, 0.7.0, mih...@de...,mofc) AC_CONFIG_SRCDIR([hash.c]) AC_CONFIG_HEADER([config.h]) @@ -33,15 +33,26 @@ [use sfcb backend. In that case this package must be in a sub-directory of the sfcb package.])]) + +if test x"$SFCB_DIR" != x && test "$with_sfcb" != yes ; then + AC_WARN([SFCB_DIR has been specified ... assuming --with_sfcb]) + with_sfcb=yes +fi + +unset MOFCNAME + if test "$with_sfcb" == yes; then if test x"$SFCB_DIR" = x; then SFCB_DIR=.. fi + MOFCNAME=sfcbmof + BACKEND_STRING=sfcb BACKEND_OBJ='backend_sfcb.$(OBJEXT)' BACKEND_LIBS="-L $SFCB_DIR/.libs -lsfcBrokerCore" BACKEND_INCLUDES="-I $SFCB_DIR" AC_DEFINE(BACKEND_INFO,"SFCB Backend",[Backend Identification String]) else + BACKEND_STRING=default BACKEND_OBJ='backend_print.$(OBJEXT)' BACKEND_LIBS= BACKEND_INCLUDES= @@ -94,12 +105,24 @@ AC_DEFINE(RELAXED_MOF,,[Relaxed MOF Parsing]) fi -AM_CONDITIONAL(TESTSCANNER,[test "$enable_testscanner" = yes]) +AM_CONDITIONAL(TESTSCANNER,[test "$enable_testscanner" == yes]) +AM_CONDITIONAL(ALTERNATE_MOFCNAME,[test x"$MOFCNAME" != x]) +AC_SUBST(MOFCNAME) AC_SUBST(BACKEND_OBJ) AC_SUBST(BACKEND_LIBS) AC_SUBST(BACKEND_INCLUDES) # Output control +echo ================================================================= +echo mofc configuration complete +echo configured for $BACKEND_STRING backend +if test "$with_sfcb" == yes +then +echo SFCB_DIR=$SFCB_DIR +fi +echo ================================================================= + + AC_CONFIG_FILES([Makefile]) AC_OUTPUT Index: Makefile.am =================================================================== RCS file: /cvsroot/sblim/mofc/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile.am 3 Mar 2005 09:08:47 -0000 1.1.1.1 +++ Makefile.am 1 Apr 2005 10:48:13 -0000 1.2 @@ -22,3 +22,12 @@ EXTRA_DIST=runtest.sh tests/test1.mof tests/include/test2.mof \ tests/include/test3.mof + + +if ALTERNATE_MOFCNAME +install-exec-hook: + mv $(DESTDIR)$(bindir)/mofc $(DESTDIR)$(bindir)/$(MOFCNAME) + +uninstall-hook: + rm $(DESTDIR)$(bindir)/$(MOFCNAME) +endif |
From: Andreas M. <ma...@us...> - 2005-03-31 16:15:24
|
Update of /cvsroot/sblim/ecute In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12110 Modified Files: ToDo.txt Log Message: Added item 36 (items 31-35 are missing on the way from developerworks) Index: ToDo.txt =================================================================== RCS file: /cvsroot/sblim/ecute/ToDo.txt,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- ToDo.txt 17 Mar 2005 13:21:56 -0000 1.8 +++ ToDo.txt 31 Mar 2005 16:15:00 -0000 1.9 @@ -1,7 +1,7 @@ ToDo List for Ecute ------------------- -Last updated: 22-Nov-2004 AM +Last updated: 31-Mar-2005 AM 1. Problem: In Rose, there are two places where the Description qualifier for @@ -402,3 +402,8 @@ at com.ibm.ecute.EntryPoint.main(EntryPoint.java:108) +31. - 35. missing (lost on developerworks) + +36. The entry in the list of installed software (Win XP: Control Panel / Add or Remove Programs) + should state the version being installed. + |
From: Adrian S. <a3s...@us...> - 2005-03-30 12:48:05
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26392 Modified Files: classProvider.c Log Message: Class provider now gracefully skipping invalidly formated class files - I hope so Index: classProvider.c =================================================================== RCS file: /cvsroot/sblim/sfcb/classProvider.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- classProvider.c 30 Mar 2005 12:30:51 -0000 1.5 +++ classProvider.c 30 Mar 2005 12:47:18 -0000 1.6 @@ -168,11 +168,16 @@ char *cn; if (hdr.type!=HDR_Class) { - fprintf(stderr,"--- newClassRegister(): not a class record"); - abort(); + fprintf(stderr,"--- %s contains non-class record(s) - directory skipped\n",fin); + return NULL; } buf = (char *) malloc(hdr.size); + if (buf==NULL) { + fprintf(stderr,"--- %s contains record(s) that are too long - directory skipped\n",fin); + return NULL; + } + total+=hdr.size; *((ClObjectHdr *) buf) = hdr; @@ -189,8 +194,8 @@ } } else { - fprintf(stderr,"--- newClassRegister(): failed to read next class"); - abort(); + fprintf(stderr,"--- %s contains invalid record(s) - directory skipped\n",fin); + return NULL; } } // printf("--- %d Association classes\n", assocs); @@ -225,8 +230,11 @@ strcpy(n,dn); strcat(n,"/"); strcat(n,de->d_name); - ns->ft->put(ns, n+nsBaseLen, cr=newClassRegister(n)); - gatherNameSpaces(n,ns); + cr=newClassRegister(n); + if (cr) { + ns->ft->put(ns, n+nsBaseLen, cr); + gatherNameSpaces(n,ns); + } } } closedir(dir); |
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17515 Modified Files: Makefile.am cimXmlOps.y cimXmlParser.h classProvider.c providerDrv.c providerMgr.c providerRegister.c providerRegister.h Added Files: cmpimacsx.h Log Message: Restructured clas provider - A classprovider is now a new provider type Definitions to be found in cmpiftx.h and cmpimacsx.h Fixed classprovider segfault when read badly formated class files Index: cimXmlOps.y =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlOps.y,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- cimXmlOps.y 9 Mar 2005 12:25:09 -0000 1.1.1.1 +++ cimXmlOps.y 30 Mar 2005 12:30:51 -0000 1.2 @@ -158,8 +158,6 @@ XtokGetClassParms xtokGetClassParms; XtokGetClass xtokGetClass; - XtokDeleteClass xtokDeleteClass; - XtokEnumClassNames xtokEnumClassNames; XtokEnumClassNamesParmsList xtokEnumClassNamesParmsList; XtokEnumClassNamesParms xtokEnumClassNamesParms; @@ -172,6 +170,9 @@ XtokGetInstanceParmsList xtokGetInstanceParmsList; XtokGetInstanceParms xtokGetInstanceParms; + XtokDeleteClass xtokDeleteClass; + XtokDeleteClassParm xtokDeleteClassParm; + XtokDeleteInstance xtokDeleteInstance; XtokDeleteInstanceParm xtokDeleteInstanceParm; @@ -235,13 +236,14 @@ %type <xtokEnumClassesParmsList> enumClassesParmsList %type <xtokEnumClassesParms> enumClassesParms -%token <xtokDeleteClass> XTOK_DELETECLASS -%type <xtokDeleteClass> deleteClass - %token <xtokCreateInstance> XTOK_CREATEINSTANCE %type <xtokCreateInstance> createInstance %type <xtokCreateInstanceParm> createInstanceParm +%token <xtokDeleteClass> XTOK_DELETECLASS +%type <xtokDeleteClass> deleteClass +%type <xtokDeleteClassParm> deleteClassParm + %token <xtokDeleteInstance> XTOK_DELETEINSTANCE %type <xtokDeleteInstance> deleteInstance %type <xtokDeleteInstanceParm> deleteInstanceParm @@ -660,22 +662,6 @@ /* - * deleteClass -*/ - -deleteClass - : localNameSpacePath XTOK_IP_CLASSNAME className ZTOK_IPARAMVALUE - { - $$.op.count = 2; - $$.op.type = OPS_DeleteClass; - $$.op.nameSpace=setCharsMsgSegment($1); - $$.op.className=setCharsMsgSegment($3); - - setRequest(parm,&$$,sizeof(XtokDeleteClass),OPS_DeleteClass); - } -; - -/* * enumClassNames */ @@ -1022,6 +1008,41 @@ /* + * deleteClass +*/ + +deleteClass + : localNameSpacePath + { + $$.op.count = 2; + $$.op.type = OPS_DeleteClass; + $$.op.nameSpace=setCharsMsgSegment($1); + $$.op.className=setCharsMsgSegment(NULL); + + setRequest(parm,&$$,sizeof(XtokDeleteClass),OPS_DeleteClass); + } + | localNameSpacePath deleteClassParm + { + $$.op.count = 2; + $$.op.type = OPS_DeleteClass; + $$.op.nameSpace=setCharsMsgSegment($1); + $$.op.className=setCharsMsgSegment($2.className); + $$.className = $2.className; + + setRequest(parm,&$$,sizeof(XtokDeleteClass),OPS_DeleteClass); + } +; + + +deleteClassParm + : XTOK_IP_CLASSNAME className ZTOK_IPARAMVALUE + { + $$.className = $2; + } +; + + +/* * deleteInstance */ Index: cimXmlParser.h =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlParser.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- cimXmlParser.h 9 Mar 2005 12:25:09 -0000 1.1.1.1 +++ cimXmlParser.h 30 Mar 2005 12:30:51 -0000 1.2 @@ -354,16 +354,6 @@ } XtokEnumClasses; - - - - - -typedef struct xtokDeleteClass { - OperationHdr op; -} XtokDeleteClass; - - /* * getInstance */ @@ -442,6 +432,20 @@ * deleteInstance */ +typedef struct xtokDeleteClassParm { + char *className; +} XtokDeleteClassParm; + +typedef struct xtokDeleteClass { + OperationHdr op; + char *className; +} XtokDeleteClass; + + +/* + * deleteInstance +*/ + typedef struct xtokDeleteInstanceParm { XtokInstanceName instanceName; } XtokDeleteInstanceParm; Index: Makefile.am =================================================================== RCS file: /cvsroot/sblim/sfcb/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile.am 24 Mar 2005 12:44:45 -0000 1.6 +++ Makefile.am 30 Mar 2005 12:30:51 -0000 1.7 @@ -146,7 +146,7 @@ cimXmlParser.h native.h support.h cimXmlGen.h \ cimXmlRequest.h genericlist.h objectImpl.h trace.h \ hashtable.h utilft.h \ - cmpidt.h cmpift.h cmpiftx.h cmpimacs.h cmpios.h fileRepository.h \ + cmpidt.h cmpift.h cmpiftx.h cmpimacs.h cmpimacsx.h cmpios.h fileRepository.h \ selectexp.h queryOperation.h authorizationUtil.h authorizationEnum.c \ sfcVersion.h Index: providerRegister.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerRegister.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- providerRegister.c 11 Mar 2005 12:22:35 -0000 1.3 +++ providerRegister.c 30 Mar 2005 12:30:51 -0000 1.4 @@ -149,6 +149,8 @@ info->type |= METHOD_PROVIDER; else if (strcmp(t, "indication") == 0) info->type |= INDICATION_PROVIDER; + else if (strcmp(t, "class") == 0) + info->type |= CLASS_PROVIDER; else { printf("--- invalid type specification: \n\t%d: %s\n", n, stmt); err = 1; Index: providerDrv.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- providerDrv.c 21 Mar 2005 14:22:38 -0000 1.3 +++ providerDrv.c 30 Mar 2005 12:30:51 -0000 1.4 @@ -291,6 +291,18 @@ _SFCB_RETURN(rc); } +static int getClassMI(ProviderInfo *info, CMPIClassMI **mi, CMPIContext *ctx) +{ + int rc; + _SFCB_ENTER(TRACE_PROVIDERDRV, "getClassMI"); + + if (info->classMI == NULL) info->classMI = + loadClassMI(info->providerName, info->library, Broker, ctx); + *mi = info->classMI; + rc = info->classMI ? 1 : 0; + _SFCB_RETURN(rc); +} + @@ -645,7 +657,8 @@ if (req->count>2) props=makePropertyList(req->count-2,req->properties); _SFCB_TRACE(1, ("--- Calling provider %s",info->providerName)); - rci = info->instanceMI->ft->getInstance(info->instanceMI, ctx, result, path,props); +// rci = info->instanceMI->ft->getInstance(info->instanceMI, ctx, result, path,props); + rci = info->classMI->ft->getClass(info->classMI, ctx, result, path,props); _SFCB_TRACE(1, ("--- Back from provider rc: %d", rci.rc)); r = native_result2array(result); @@ -668,7 +681,8 @@ static BinResponseHdr *enumClassNames(BinRequestHdr * hdr, ProviderInfo * info, int requestor) { - EnumInstanceNamesReq *req = (EnumInstanceNamesReq *) hdr; +// EnumInstanceNamesReq *req = (EnumInstanceNamesReq *) hdr; + EnumClassNamesReq *req = (EnumClassNamesReq *) hdr; CMPIObjectPath *path = relocateSerializedObjectPath(req->objectPath.data); CMPIStatus rci = { CMPI_RC_OK, NULL }; CMPIArray *r; @@ -686,7 +700,8 @@ _SFCB_TRACE(1, ("--- Calling provider %s",info->providerName)); - rci = info->instanceMI->ft->enumInstanceNames(info->instanceMI, ctx, result, +// rci = info->instanceMI->ft->enumInstanceNames(info->instanceMI, ctx, result, + rci = info->classMI->ft->enumClassNames(info->classMI, ctx, result, path); r = native_result2array(result); @@ -712,7 +727,8 @@ ProviderInfo * info, int requestor) { _SFCB_ENTER(TRACE_PROVIDERDRV, "enumClasses"); - EnumInstancesReq *req = (EnumInstancesReq *) hdr; +// EnumInstancesReq *req = (EnumInstancesReq *) hdr; + EnumClassesReq *req = (EnumClassesReq *) hdr; CMPIObjectPath *path = relocateSerializedObjectPath(req->objectPath.data); CMPIStatus rci = { CMPI_RC_OK, NULL }; CMPIArray *r; @@ -726,8 +742,7 @@ _SFCB_TRACE(1, ("--- Calling provider %s",info->providerName)); - rci = info->instanceMI->ft->enumInstances(info->instanceMI, ctx, result, - path,NULL); + rci = info->classMI->ft->enumClasses(info->classMI, ctx, result,path); r = native_result2array(result); _SFCB_TRACE(1, ("--- Back from provider rc: %d", rci.rc)); @@ -931,7 +946,6 @@ CMPIStatus rci = { CMPI_RC_OK, NULL }; CMPIResult *result = native_new_CMPIResult(0,1,NULL); CMPIContext *ctx = native_new_CMPIContext(TOOL_MM_ADD,info); - CMPIArray *r; CMPICount count; BinResponseHdr *resp; CMPIFlags flgs=0; @@ -1499,6 +1513,9 @@ if (info->type & INDICATION_PROVIDER) { rc |= (getIndicationMI(info, (CMPIIndicationMI **) & mi, ctx) != 1); } + if (info->type & CLASS_PROVIDER) { + rc |= (getClassMI(info, (CMPIClassMI **) & mi, ctx) != 1); + } if (rc) _SFCB_RETURN(-2); --- NEW FILE: cmpimacsx.h --- /* * cmpimacsx.h * * (C) Copyright IBM Corp. 2005 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Common Public License from * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html * * Author: Adrian Schuur <sc...@de...> * * Description: * * CMPI extended convenious macros. * */ #ifndef _CMPIMACSX_H_ #define _CMPIMACSX_H_ #ifndef DOC_ONLY #include "cmpidt.h" #include "cmpift.h" #include "cmpiftx.h" #endif #ifdef DOC_ONLY #define CMPI_INLINE #endif /* ----------------- C provider factories --------------------- */ #ifdef DOC_ONLY /** This macro generates the function table and initialization stub for a class provider. The initialization routine <pn>Create_ClassMI is called when this provider module is loaded by the broker. This macro is for CMPI providers written in plain C. @param pfx The prefix for all mandatory class provider functions. This is a character string without quotes. Mandatory functions are: <pfx>Cleanup, <pfx>EnumClassNames, <pfx>EnumClasses, <pfx>GetClass, <pfx>CreateClass, <pfx>SetClass and <pfx>DeleteClass. @param pn The provider name under which this provider is registered. This is a character string without quotes. @param broker The name of the broker variable used by this macro to store the CMPIBroker pointer @param hook A statement that is executed within <pn>Create_ClassMI routine. This enables you to perform additional initialization functions and is normally a function call like furtherInit(broker) or CMNoHook. Use CMNoHook if no further intialization is required. @return The function table of this Class provider. */ CMPIClassMI* CMClassMIStub(chars pfx, chars pn, CMPIBroker *broker, statement hook); #else #define CMClassMIStub(pfx,pn,broker,hook) \ static CMPIClassMIFT clsMIFT__={ \ CMPICurrentVersion, \ CMPICurrentVersion, \ "Class" #pn, \ pfx##Cleanup, \ pfx##EnumClassNames, \ pfx##EnumClasses, \ pfx##GetClass, \ pfx##CreateClass, \ pfx##SetClass, \ pfx##DeleteClass, \ }; \ CMPI_EXTERN_C \ CMPIClassMI* pn##_Create_ClassMI(CMPIBroker* brkr,CMPIContext *ctx) { \ static CMPIClassMI mi={ \ NULL, \ &clsMIFT__, \ }; \ broker=brkr; \ hook; \ return &mi; \ } #endif #endif // _CMPIMACSX_H_ Index: providerRegister.h =================================================================== RCS file: /cvsroot/sblim/sfcb/providerRegister.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- providerRegister.h 9 Mar 2005 12:25:14 -0000 1.1.1.1 +++ providerRegister.h 30 Mar 2005 12:30:51 -0000 1.2 @@ -66,13 +66,16 @@ CMPIAssociationMI *associationMI; CMPIMethodMI *methodMI; CMPIIndicationMI *indicationMI; + CMPIPropertyMI *propertyMI; + CMPIClassMI *classMI; } ProviderInfo; #define INSTANCE_PROVIDER 1 #define ASSOCIATION_PROVIDER 2 #define INDICATION_PROVIDER 4 #define METHOD_PROVIDER 8 -#define INSTANCE_QUERY_PROVIDER 16 +#define PROPERTY_PROVIDER 16 +#define CLASS_PROVIDER 32 #define FORCE_PROVIDER_NOTFOUND 128 Index: classProvider.c =================================================================== RCS file: /cvsroot/sblim/sfcb/classProvider.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- classProvider.c 17 Mar 2005 21:14:34 -0000 1.4 +++ classProvider.c 30 Mar 2005 12:30:51 -0000 1.5 @@ -39,7 +39,10 @@ #include "cmpidt.h" #include "cmpift.h" +#include "cmpiftx.h" #include "cmpimacs.h" +#include "cmpimacsx.h" +#include "objectImpl.h" #define LOCALCLASSNAME "ClassProvider" @@ -135,7 +138,8 @@ ClassBase *cb = (ClassBase *) (cr + 1); FILE *in; char fin[1024]; - long s, size,total=0; + long s, total=0; + ClObjectHdr hdr; cr->hdl = cb; cr->ft = ClassRegisterFT; @@ -157,13 +161,22 @@ cb->ht = UtilFactory->newHashTable(61, UtilHashTable_charKey | UtilHashTable_ignoreKeyCase); - while ((s = fread(&size, 1, 4, in)) == 4) { + while ((s = fread(&hdr, 1, sizeof(hdr), in)) == sizeof(hdr)) { +// while ((s = fread(&size, 1, 4, in)) == 4) { CMPIConstClass *cc=NULL; - char *buf = (char *) malloc(size); - total+=size; + char *buf=NULL; char *cn; - *((long *) buf) = size; - if (fread(buf + 4, 1, size - 4, in) == size - 4) { + + if (hdr.type!=HDR_Class) { + fprintf(stderr,"--- newClassRegister(): not a class record"); + abort(); + } + + buf = (char *) malloc(hdr.size); + total+=hdr.size; + *((ClObjectHdr *) buf) = hdr; + + if (fread(buf + sizeof(hdr), 1, hdr.size - sizeof(hdr), in) == hdr.size - sizeof(hdr)) { cc = NEW(CMPIConstClass); cc->hdl = buf; cc->ft = CMPIConstClassFT; @@ -176,7 +189,8 @@ } } else { - printf("--- got a problem ---"); + fprintf(stderr,"--- newClassRegister(): failed to read next class"); + abort(); } } // printf("--- %d Association classes\n", assocs); @@ -268,7 +282,7 @@ static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName) { - _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderEnumInstanceNames"); + _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderEnumClassNames"); _SFCB_TRACE(1,("--- classname %s cReg %p",clsName,cr)); ClassBase *cb = (ClassBase *) cr->hdl; CMPIConstClass *cls = cb->ht->ft->get(cb->ht, clsName); @@ -289,10 +303,10 @@ /* ------------------------------------------------------------------ * - * Instance MI Cleanup + * Class MI Cleanup * ------------------------------------------------------------------ */ -CMPIStatus ClassProviderCleanup(CMPIInstanceMI * mi, CMPIContext * ctx) +CMPIStatus ClassProviderCleanup(CMPIClassMI * mi, CMPIContext * ctx) { /* ClassBase *cb; @@ -316,7 +330,7 @@ } /* ------------------------------------------------------------------ * - * Instance MI Functions + * Class MI Functions * ------------------------------------------------------------------ */ static void loopOnChildNames(ClassRegister *cReg, char *cn, CMPIResult * rslt) @@ -332,7 +346,7 @@ } -CMPIStatus ClassProviderEnumInstanceNames(CMPIInstanceMI * mi, +CMPIStatus ClassProviderEnumClassNames(CMPIClassMI * mi, CMPIContext * ctx, CMPIResult * rslt, CMPIObjectPath * ref) @@ -350,7 +364,7 @@ ClassRegister *cReg; char *ns; - _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderEnumInstanceNames"); + _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderEnumClassNames"); cReg=getNsReg(ref, &rc); if (cReg==NULL) { @@ -410,10 +424,10 @@ -CMPIStatus ClassProviderEnumInstances(CMPIInstanceMI * mi, +CMPIStatus ClassProviderEnumClasses(CMPIClassMI * mi, CMPIContext * ctx, CMPIResult * rslt, - CMPIObjectPath * ref, char **properties) + CMPIObjectPath * ref) { CMPIStatus st = { CMPI_RC_OK, NULL }; char *cn=NULL; @@ -426,7 +440,7 @@ CMPIConstClass *cls; ClassRegister *cReg; - _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderEnumInstances"); + _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderEnumClasss"); cReg=getNsReg(ref, &rc); if (cReg==NULL) { @@ -468,7 +482,7 @@ } -CMPIStatus ClassProviderGetInstance(CMPIInstanceMI * mi, +CMPIStatus ClassProviderGetClass(CMPIClassMI * mi, CMPIContext * ctx, CMPIResult * rslt, CMPIObjectPath * ref, char **properties) @@ -479,7 +493,7 @@ ClassRegister *cReg; int rc; - _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderGetInstance"); + _SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderGetClass"); _SFCB_TRACE(1,("--- ClassName %s",(char *) cn->hdl)); cReg=getNsReg(ref, &rc); @@ -496,26 +510,26 @@ _SFCB_RETURN(st); } -CMPIStatus ClassProviderCreateInstance(CMPIInstanceMI * mi, +CMPIStatus ClassProviderCreateClass(CMPIClassMI * mi, CMPIContext * ctx, CMPIResult * rslt, - CMPIObjectPath * cop, CMPIInstance * ci) + CMPIObjectPath * cop, CMPIConstClass * ci) { CMPIStatus st = { CMPI_RC_ERR_NOT_SUPPORTED, NULL }; return st; } -CMPIStatus ClassProviderSetInstance(CMPIInstanceMI * mi, +CMPIStatus ClassProviderSetClass(CMPIClassMI * mi, CMPIContext * ctx, CMPIResult * rslt, CMPIObjectPath * cop, - CMPIInstance * ci, char **properties) + CMPIConstClass * ci) { CMPIStatus st = { CMPI_RC_ERR_NOT_SUPPORTED, NULL }; return st; } -CMPIStatus ClassProviderDeleteInstance(CMPIInstanceMI * mi, +CMPIStatus ClassProviderDeleteClass(CMPIClassMI * mi, CMPIContext * ctx, CMPIResult * rslt, CMPIObjectPath * cop) { @@ -523,15 +537,6 @@ return st; } -CMPIStatus ClassProviderExecQuery(CMPIInstanceMI * mi, - CMPIContext * ctx, - CMPIResult * rslt, - CMPIObjectPath * cop, char *lang, char *query) -{ - CMPIStatus st = { CMPI_RC_ERR_NOT_SUPPORTED, NULL }; - return st; -} - /* ---------------------------------------------------------------------------*/ /* Method Provider Interface */ /* ---------------------------------------------------------------------------*/ @@ -604,7 +609,7 @@ CMPIContext * ctx, CMPIResult * rslt, CMPIObjectPath * ref, - char *methodName, + const char *methodName, CMPIArgs * in, CMPIArgs * out) { CMPIStatus st = { CMPI_RC_OK, NULL }; @@ -711,8 +716,9 @@ } -CMInstanceMIStub(ClassProvider, ClassProvider, _broker, CMNoHook); +CMClassMIStub(ClassProvider, ClassProvider, _broker, CMNoHook); CMMethodMIStub(ClassProvider, ClassProvider, _broker, CMNoHook); + // // Index: providerMgr.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerMgr.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- providerMgr.c 17 Mar 2005 21:14:37 -0000 1.2 +++ providerMgr.c 30 Mar 2005 12:30:51 -0000 1.3 @@ -669,11 +669,11 @@ {notSupported}, //dummy {classProvider}, //OPS_GetClass 1 {instProvider}, //OPS_GetInstance 2 - {notSupported}, //OPS_DeleteClass 3 + {classProvider}, //OPS_DeleteClass 3 {instProvider}, //OPS_DeleteInstance 4 - {notSupported}, //OPS_CreateClass 5 + {classProvider}, //OPS_CreateClass 5 {instProvider}, //OPS_CreateInstance 6 - {notSupported}, //OPS_ModifyClass 7 + {classProvider}, //OPS_ModifyClass 7 {instProvider}, //OPS_ModifyInstance 8 {classProvider}, //OPS_EnumerateClasses 9 {classProvider}, //OPS_EnumerateClassNames 10 @@ -694,10 +694,15 @@ {NULL}, {NULL}, #ifdef SFCB_INCL_INDICATION_SUPPORT - {processIndProviderList}, //OPS_ProcessIndicationList 24 + {processIndProviderList}, //OPS_ProcessIndicationList 27 #else - {notSupported}, //OPS_ProcessIndicationList 24 -#endif + {notSupported}, //OPS_ProcessIndicationList 27 +#endif + // Next entries are never called - They used by ProviderDrv.c + {NULL}, //OPS_ActivateFilter 28 + {NULL}, //OPS_DeactivateFilter 29 + {NULL}, //OPS_DisableIndications 30 + {NULL}, //OPS_EnableIndications 31 }; void processProviderMgrRequests() |
From: Adrian S. <a3s...@us...> - 2005-03-30 12:31:02
|
Update of /cvsroot/sblim/sfcb/regressionTests/sblim In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17515/regressionTests/sblim Modified Files: makefile Log Message: Restructured clas provider - A classprovider is now a new provider type Definitions to be found in cmpiftx.h and cmpimacsx.h Fixed classprovider segfault when read badly formated class files Index: makefile =================================================================== RCS file: /cvsroot/sblim/sfcb/regressionTests/sblim/makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- makefile 15 Mar 2005 02:25:32 -0000 1.2 +++ makefile 30 Mar 2005 12:30:51 -0000 1.3 @@ -6,5 +6,4 @@ mkdir -p ../repository/root/cimv2 mofc -I $(CIMDIR) -i CIM_Schema.mof -o ../repository/root/cimv2/classSchemas schema/Linux_Base.cimv2mof make -C sblim-wbemcli install - ln -s ../bin/wbemcli ../bin/wbemgi HOME=`pwd`/.. make -C sblim-cmpi-base/test install |
From: Adrian S. <a3s...@us...> - 2005-03-30 12:31:02
|
Update of /cvsroot/sblim/sfcb/regressionTests/schema In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17515/regressionTests/schema Modified Files: baseProvider.reg Log Message: Restructured clas provider - A classprovider is now a new provider type Definitions to be found in cmpiftx.h and cmpimacsx.h Fixed classprovider segfault when read badly formated class files Index: baseProvider.reg =================================================================== RCS file: /cvsroot/sblim/sfcb/regressionTests/schema/baseProvider.reg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- baseProvider.reg 17 Mar 2005 18:29:22 -0000 1.4 +++ baseProvider.reg 30 Mar 2005 12:30:52 -0000 1.5 @@ -1,7 +1,7 @@ [$ClassProvider$] provider: ClassProvider location: sfcClassProvider - type: instance method + type: class method unload: never # [$DefaultProvider$] |
From: Adrian S. <a3s...@us...> - 2005-03-30 11:38:21
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20358 Modified Files: support.c Log Message: Fixed empty line segfault problem for providerRegister.c Index: support.c =================================================================== RCS file: /cvsroot/sblim/sfcb/support.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- support.c 21 Mar 2005 14:22:38 -0000 1.3 +++ support.c 30 Mar 2005 11:38:13 -0000 1.4 @@ -889,7 +889,7 @@ void cntlSkipws(char **p) { - while (**p <= ' ' && **p != '\n') + while (**p && **p <= ' ' && **p != '\n') (*p)++; } @@ -897,7 +897,7 @@ { rv->type = 0; cntlSkipws(&in); - if (*in == '#') { + if (*in == 0 || *in == '#' || *in == '\n') { rv->type = 3; } else if (*in == '[') { |
From: Benjamin B. <bg...@us...> - 2005-03-30 10:57:25
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29558/Plugin/com/ibm/ecute/rsa/core/internal/properties Modified Files: QualifiersPropertySection.java Log Message: additional changes to previous bug fixes Index: QualifiersPropertySection.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/QualifiersPropertySection.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- QualifiersPropertySection.java 30 Mar 2005 07:37:34 -0000 1.9 +++ QualifiersPropertySection.java 30 Mar 2005 10:57:09 -0000 1.10 @@ -399,7 +399,6 @@ } //Qualifiers with Property Scope - if(element instanceof Property){ Property prop = (Property)element; Property oppositeProp = null; @@ -421,16 +420,22 @@ // SHARED or COMPOSITE // so the aggregation kind of the opposite side has to be checked to set the aggregation // qualifier of the aggregation property correct - + boolean exists = false; if(oppositeProp.getAggregation().getValue()== AggregationKind.SHARED || oppositeProp.getAggregation().getValue()== AggregationKind.COMPOSITE){ Qualifier qualifierObject = qualifiersList.GetElement(qualifierName); - addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + exists = existsQualifierInTable(qualifierName); + if (!exists){ + addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + } allAvailableQualifers.remove(qualifierObject); } else { Qualifier qualifierObject = qualifiersList.GetElement(qualifierName); - addQualiferToTable(qualifierName, "false", definedIn, qualifierObject, -1, false); - allAvailableQualifers.remove(qualifierObject); + exists = existsQualifierInTable(qualifierName); + if (!exists){ + addQualiferToTable(qualifierName, "false", definedIn, qualifierObject, -1, false); + } + allAvailableQualifers.remove(qualifierObject); } //Qualifier: Key qualifierName = "Key"; @@ -783,7 +788,6 @@ }; tableitem.setText(as); tableitem.setData(new QualifierValueObject(name, qualifierValue, defaultValue, index)); - System.out.println("Qulifier " + name + " with value " + qualifierValue.toString() + " added"); // if(showAllButton.getSelection()){ // if(!isDefaultQualifier){ // tableitem.setFont(boldFont); |
From: Benjamin B. <bg...@us...> - 2005-03-30 07:37:45
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15034/Plugin/com/ibm/ecute/rsa/core/internal/properties Modified Files: QualifiersPropertySection.java Log Message: 1) aggregation qualifier in association properties fixed 2) aggregation qualifier can now also be set from true to false 3) eCUTE version number is shown in the RSA import dialog Index: QualifiersPropertySection.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/core/internal/properties/QualifiersPropertySection.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- QualifiersPropertySection.java 14 Feb 2005 17:38:06 -0000 1.8 +++ QualifiersPropertySection.java 30 Mar 2005 07:37:34 -0000 1.9 @@ -214,7 +214,7 @@ public void refresh() { - qualifiersTable.removeAll(); + qualifiersTable.removeAll(); defaultValueQualifiers.clear(); defaultValueButton.setEnabled(false); removeButton.setEnabled(false); @@ -301,8 +301,14 @@ //Qualifiers with AssociationClass Scope if(element instanceof AssociationClass){ qualifierName = "Association"; + // check if the qualifier has already been added to the table + // qualifiers which are defined as stereotypes are added first + boolean exists = existsQualifierInTable(qualifierName); Qualifier qualifierObject = qualifiersList.GetElement(qualifierName); - addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + if(!exists){ + // if the qualifier doesn't exists then it is added to the table + addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + } allAvailableQualifers.remove(qualifierObject); AssociationClass assocClass = (AssociationClass)element; EList ends = assocClass.getOwnedEnds(); @@ -311,18 +317,33 @@ Property prop = (Property)iter.next(); if(prop.getAggregation().getValue()== AggregationKind.SHARED){ qualifierName = "Aggregation"; + // check if the qualifier has already been added to the table + // qualifiers which are defined as stereotypes are added first + exists = existsQualifierInTable(qualifierName); qualifierObject = qualifiersList.GetElement(qualifierName); - addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + if(!exists){ + addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + } allAvailableQualifers.remove(qualifierObject); break; }else if(prop.getAggregation().getValue()== AggregationKind.COMPOSITE){ qualifierName = "Aggregation"; qualifierObject = qualifiersList.GetElement(qualifierName); - addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + // check if the qualifier has already been added to the table + // qualifiers which are defined as stereotypes are added first + exists = existsQualifierInTable(qualifierName); + if(!exists){ + addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + } allAvailableQualifers.remove(qualifierObject); qualifierName = "Composition"; qualifierObject = qualifiersList.GetElement(qualifierName); - addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + // check if the qualifier has already been added to the table + // qualifiers which are defined as stereotypes are added first + exists = existsQualifierInTable(qualifierName); + if(!exists){ + addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); + } allAvailableQualifers.remove(qualifierObject); break; } @@ -378,15 +399,38 @@ } //Qualifiers with Property Scope + if(element instanceof Property){ Property prop = (Property)element; + Property oppositeProp = null; + // get the property of the other association end + AssociationClass parentClass = (AssociationClass)prop.getOwner(); + List ends = parentClass.getOwnedEnds(); + if ((Property)ends.get(0) == prop){ + oppositeProp = (Property)ends.get(1); + } + if ((Property)ends.get(1) == prop){ + oppositeProp = (Property)ends.get(0); + } + //Qualifier: Aggregate qualifierName = "Aggregate"; - if(prop.getAggregation().getValue()== AggregationKind.SHARED - || prop.getAggregation().getValue()== AggregationKind.COMPOSITE){ + // to get an aggregation or composition in RSA + // the association property with the diamond has to have the aggregation type NONE + // the opposite side (the side without the diamond) has to have aggregation type + // SHARED or COMPOSITE + // so the aggregation kind of the opposite side has to be checked to set the aggregation + // qualifier of the aggregation property correct + + if(oppositeProp.getAggregation().getValue()== AggregationKind.SHARED + || oppositeProp.getAggregation().getValue()== AggregationKind.COMPOSITE){ Qualifier qualifierObject = qualifiersList.GetElement(qualifierName); addQualiferToTable(qualifierName, "true", definedIn, qualifierObject, -1, false); allAvailableQualifers.remove(qualifierObject); + } else { + Qualifier qualifierObject = qualifiersList.GetElement(qualifierName); + addQualiferToTable(qualifierName, "false", definedIn, qualifierObject, -1, false); + allAvailableQualifers.remove(qualifierObject); } //Qualifier: Key qualifierName = "Key"; @@ -511,6 +555,23 @@ packColumns(); return null; } + + /** + * @param qualifierName + * @return + */ + private boolean existsQualifierInTable(String qualifierName) { + boolean exists = false; + int tableLength = qualifiersTable.getItemCount(); + for (int b = 0; b < tableLength; b++){ + QualifierValueObject qualifier = (QualifierValueObject)qualifiersTable.getItem(b).getData(); + if (qualifier.name == qualifierName){ + exists = true; + b = tableLength; + } + } + return exists; + } }); packColumns(); @@ -722,6 +783,7 @@ }; tableitem.setText(as); tableitem.setData(new QualifierValueObject(name, qualifierValue, defaultValue, index)); + System.out.println("Qulifier " + name + " with value " + qualifierValue.toString() + " added"); // if(showAllButton.getSelection()){ // if(!isDefaultQualifier){ // tableitem.setFont(boldFont); |
From: Benjamin B. <bg...@us...> - 2005-03-30 07:37:43
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15034/Plugin/com/ibm/ecute/utils Modified Files: Constants.java Log Message: 1) aggregation qualifier in association properties fixed 2) aggregation qualifier can now also be set from true to false 3) eCUTE version number is shown in the RSA import dialog Index: Constants.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/utils/Constants.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Constants.java 24 Mar 2005 09:10:44 -0000 1.6 +++ Constants.java 30 Mar 2005 07:37:35 -0000 1.7 @@ -22,7 +22,7 @@ public class Constants { - public static final String pluginVersion="2.1 alpha4"; + public static final String pluginVersion="2.1 alpha 5"; public static final String toolName="ECUTE"; public static final String qualifiersFileName="QualifiersList.txt"; |
From: Benjamin B. <bg...@us...> - 2005-03-30 07:37:42
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/ui/internal/wizards In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15034/Plugin/com/ibm/ecute/rsa/ui/internal/wizards Modified Files: ImportCIMMOFWizard.java Log Message: 1) aggregation qualifier in association properties fixed 2) aggregation qualifier can now also be set from true to false 3) eCUTE version number is shown in the RSA import dialog Index: ImportCIMMOFWizard.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/rsa/ui/internal/wizards/ImportCIMMOFWizard.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ImportCIMMOFWizard.java 13 Dec 2004 14:59:50 -0000 1.4 +++ ImportCIMMOFWizard.java 30 Mar 2005 07:37:34 -0000 1.5 @@ -9,6 +9,7 @@ import org.eclipse.ui.IWorkbench; import com.ibm.ecute.EcuteEclipsePlugin; +import com.ibm.ecute.utils.Constants; import com.ibm.ecute.utils.License; /** @@ -30,7 +31,8 @@ private static final String COPYRIGHT = License.COPYRIGHT; private static final String PAGE_DESCRIPTION = EcuteBundle.getResourceString("ImportMOF.description"); - private static final String PAGE_TITLE = EcuteBundle.getResourceString("ImportMOF.title"); + private static final String PAGE_TITLE = EcuteBundle.getResourceString("ImportMOF.title") + + " (" + Constants.toolName + " " + Constants.pluginVersion + ")"; // private IConfigurationElement configElement; |
From: Benjamin B. <bg...@us...> - 2005-03-30 07:37:42
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/funcionality In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15034/Plugin/com/ibm/ecute/plugins/output/funcionality Modified Files: RSAModelCreator.java Log Message: 1) aggregation qualifier in association properties fixed 2) aggregation qualifier can now also be set from true to false 3) eCUTE version number is shown in the RSA import dialog Index: RSAModelCreator.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/funcionality/RSAModelCreator.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- RSAModelCreator.java 24 Mar 2005 09:10:44 -0000 1.8 +++ RSAModelCreator.java 30 Mar 2005 07:37:33 -0000 1.9 @@ -552,7 +552,6 @@ if(!diagram.getChildren().isEmpty()) diagramHelper.layoutNodes(diagram.getChildren(), ILayoutNodesProvider.DEFAULT_LAYOUT); } - if(diagram.getName().equalsIgnoreCase("main")){ diagramHelper.setMainDiagram(package_, diagram); } @@ -571,6 +570,10 @@ list.add(lastClass); diagramHelper.createViews((Diagram) diagram, list); } + +// if (lastClass instanceof AssociationClass) { +// isAssociationClass = true; +// } if (lastRootClass != null) { boolean isRootAssociationClass = false; @@ -597,6 +600,13 @@ //System.out.println("Generalization " + specificClassifier.getQualifiedName() + " ->> " // + generalClassifier.getQualifiedName() + " created."); +/* + if(!isAssociationClass) { + //add class to the diagram + list.add(lastClass); + diagramHelper.createViews((Diagram) diagram, list); + } +*/ } } |
From: Konrad R. <kon...@us...> - 2005-03-28 19:16:04
|
Update of /cvsroot/sblim/indication_helper In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17369 Modified Files: configure.ac Added Files: autoconfiscate Removed Files: bootstrap Log Message: File shuffling. --- NEW FILE: autoconfiscate --- #! /bin/sh -x libtoolize --copy --force --automake aclocal autoheader automake --add-missing --copy --foreign autoconf Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/indication_helper/configure.ac,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- configure.ac 2 Feb 2005 19:06:51 -0000 1.1.1.1 +++ configure.ac 28 Mar 2005 19:15:38 -0000 1.2 @@ -69,7 +69,6 @@ -Wmissing-prototypes \ -Wmissing-declarations \ -Wstrict-prototypes \ - -Wno-strict-aliasing \ -Wpointer-arith \ -Wformat=2 \ -Wformat-security \ @@ -81,7 +80,6 @@ -Wall\ -Werror\ -Wmissing-prototypes \ - -Wno-strict-aliasing \ -Wstrict-prototypes \ -Wpointer-arith \ -Wcast-qual \ --- bootstrap DELETED --- |
From: Viktor M. <mih...@us...> - 2005-03-24 12:45:00
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13740 Modified Files: Makefile.am configure.ac sfcb.init-none sfcb.init-redhat sfcb.init-suse sfcb.spec.in sfcbrepos.sh.in sfcbstage.sh.in Log Message: BUG 1169073 Fixed. Fixed sfcbstage and sfcbrepos scripts. Added CMPI library to init scripts' LD_LIBRARY_PATH. Enhanced RPM Spec file. Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/sfcb/configure.ac,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- configure.ac 11 Mar 2005 12:22:35 -0000 1.3 +++ configure.ac 24 Mar 2005 12:44:45 -0000 1.4 @@ -21,7 +21,7 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Small Footprint CIM Broker, 0.8.6c, sc...@de..., sfcb) +AC_INIT(Small Footprint CIM Broker, 0.8.6d, sc...@de..., sfcb) AC_CONFIG_SRCDIR([providerDrv.c]) AM_INIT_AUTOMAKE Index: sfcbstage.sh.in =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcbstage.sh.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- sfcbstage.sh.in 10 Mar 2005 15:40:46 -0000 1.2 +++ sfcbstage.sh.in 24 Mar 2005 12:44:45 -0000 1.3 @@ -2,7 +2,7 @@ function usage() { - echo "usage: $0 [-h] [ -s stagingdir] [ -r regfile ] mof ... " 1>&2 + echo "usage: $0 [-h] [ -s stagingdir] [ -r regfile ] [ mof ... ] " 1>&2 } @@ -42,7 +42,7 @@ exit 0 fi -if [ -z "$*" ] +if [ -z "$*" ] && [ -z "$regfile" ] then usage $0 exit 1 @@ -55,18 +55,20 @@ if [ -n "$regfile" ] then - cp $regfile $stagingdir/regs || - (echo "Error: could not copy registration files to $stagingdir" 1>&2 && - exit 1) + test -d $stagingdir/regs || mkdir $stagingdir/regs + if ! cp $regfile $stagingdir/regs + then + echo "Error: could not copy registration files " 1>&2 + exit 1 + fi fi if [ -n "$*" ] then - (cp $* $stagingdir/mofs && exit 0) || - echo "Error: could not find registration files" 1>&2 - exit 1 + test -d $stagingdir/mofs || mkdir $stagingdir/mofs + if ! cp $* $stagingdir/mofs + then + echo "Error: could not copy schema files " 1>&2 + exit 1 + fi fi - - - - Index: sfcb.init-none =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.init-none,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- sfcb.init-none 10 Mar 2005 15:40:46 -0000 1.1 +++ sfcb.init-none 24 Mar 2005 12:44:45 -0000 1.2 @@ -1,6 +1,6 @@ -# $Id$ -# #!/bin/bash +# +# $Id$ # # Generic System V Init Script @@ -9,6 +9,14 @@ if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@ then LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH +fi + +# Add CMPI directory +if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@/cmpi +then + LD_LIBRARY_PATH=@libdir@/cmpi:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH fi start() { Index: sfcb.spec.in =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.spec.in,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- sfcb.spec.in 11 Mar 2005 13:29:56 -0000 1.4 +++ sfcb.spec.in 24 Mar 2005 12:44:45 -0000 1.5 @@ -1,7 +1,7 @@ # -# sfcb.spec +# $Id$ # -# Package spec for wbemcli +# Package spec for @PACKAGE@ # BuildRoot: /var/tmp/buildroot @@ -15,6 +15,8 @@ Source0: ftp://www-126.ibm.com/pub/sblim/%{name}-%{version}.tar.bz2 +Provides: cimserver + %Description Small Footprint CIM Broker. Index: sfcb.init-suse =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.init-suse,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- sfcb.init-suse 11 Mar 2005 10:05:36 -0000 1.2 +++ sfcb.init-suse 24 Mar 2005 12:44:45 -0000 1.3 @@ -18,6 +18,14 @@ if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@ then LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH +fi + +# Add CMPI directory +if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@/cmpi +then + LD_LIBRARY_PATH=@libdir@/cmpi:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH fi start() { Index: Makefile.am =================================================================== RCS file: /cvsroot/sblim/sfcb/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile.am 12 Mar 2005 00:42:57 -0000 1.5 +++ Makefile.am 24 Mar 2005 12:44:45 -0000 1.6 @@ -146,7 +146,7 @@ cimXmlParser.h native.h support.h cimXmlGen.h \ cimXmlRequest.h genericlist.h objectImpl.h trace.h \ hashtable.h utilft.h \ - cmpidt.h cmpift.h cmpimacs.h cmpios.h fileRepository.h \ + cmpidt.h cmpift.h cmpiftx.h cmpimacs.h cmpios.h fileRepository.h \ selectexp.h queryOperation.h authorizationUtil.h authorizationEnum.c \ sfcVersion.h Index: sfcbrepos.sh.in =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcbrepos.sh.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- sfcbrepos.sh.in 10 Mar 2005 15:40:46 -0000 1.2 +++ sfcbrepos.sh.in 24 Mar 2005 12:44:45 -0000 1.3 @@ -81,13 +81,17 @@ if [ -d $stagingdir ] && [ -f $stagingdir/default.reg ] && [ -f $cimschemadir/CIM_Schema.mof ] then - (rm -rf $registrationdir/repository && + if rm -rf $registrationdir/repository && mkdir -p $registrationdir/repository/root/cimv2 && cp $stagingdir/default.reg $registrationdir/providerRegister && cat $stagingdir/regs/*.reg >> $registrationdir/providerRegister && - mofc -o $registrationdir/repository/root/cimv2/classSchemas -I $cimschemadir -i CIM_Schema.mof $stagingdir/mofs/*.mof && - exit 0) || - (echo Failed to create sfcb registration. >&2 && exit 1) + mofc -o $registrationdir/repository/root/cimv2/classSchemas -I $cimschemadir -i CIM_Schema.mof $stagingdir/mofs/*.mof + then + exit 0 + else + echo Failed to create sfcb registration. >&2 + exit 1 + fi else echo Could not find required staging files. Please check your setup. >&2 exit 1 Index: sfcb.init-redhat =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.init-redhat,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- sfcb.init-redhat 11 Mar 2005 10:05:36 -0000 1.2 +++ sfcb.init-redhat 24 Mar 2005 12:44:45 -0000 1.3 @@ -18,6 +18,14 @@ if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@ then LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH +fi + +# Add CMPI directory +if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@/cmpi +then + LD_LIBRARY_PATH=@libdir@/cmpi:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH fi start() { |
From: Benjamin B. <bg...@us...> - 2005-03-24 09:10:55
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17065/Plugin/com/ibm/ecute/utils Modified Files: Constants.java Log Message: Changes to get aggregations and compositions the right way round in RSA Index: Constants.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/utils/Constants.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Constants.java 18 Mar 2005 08:02:36 -0000 1.5 +++ Constants.java 24 Mar 2005 09:10:44 -0000 1.6 @@ -22,7 +22,7 @@ public class Constants { - public static final String pluginVersion="2.0"; + public static final String pluginVersion="2.1 alpha4"; public static final String toolName="ECUTE"; public static final String qualifiersFileName="QualifiersList.txt"; |
From: Benjamin B. <bg...@us...> - 2005-03-24 09:10:53
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/UMLBuffer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17065/Plugin/com/ibm/ecute/UMLBuffer Modified Files: UMLBuffer.java Log Message: Changes to get aggregations and compositions the right way round in RSA Index: UMLBuffer.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/UMLBuffer/UMLBuffer.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- UMLBuffer.java 21 Dec 2004 17:08:32 -0000 1.5 +++ UMLBuffer.java 24 Mar 2005 09:10:44 -0000 1.6 @@ -34,6 +34,7 @@ import com.ibm.ecute.UMLBuffer.UMLTree.UMLRole; 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.utils.License; import com.ibm.ecute.utils.Utils; public class UMLBuffer implements UMLInterface { @@ -46,6 +47,7 @@ private UMLRole lastRole1 = null; private UMLRole lastRole2 = null; private UMLQualified lastAddedElement = null; + boolean aggregateRole1 = true; boolean ready = false; private ProgressFrame log; public UMLBuffer(ProgressFrame log) { @@ -506,8 +508,26 @@ ArrayList qualifiers = qualifiedElement.getQualifiers(!completeClasses); for (int i = 0; i < qualifiers.size(); i++) { UMLQualifier theQualifier = (UMLQualifier) qualifiers.get(i); + // RSA + 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 + // (in this case the addAssociation mehtod is also called the other way round + if (aggregateRole1 == false && qualifiedElement.getType() == TLINK1){ + UMLProgram.SetQualifier(TLINK2, theQualifier.name, theQualifier.value); + } else if (aggregateRole1 == false && qualifiedElement.getType() == TLINK2){ + UMLProgram.SetQualifier(TLINK1, theQualifier.name, theQualifier.value); + // normal case, if qualifiedElement is a class, normal association or an + // aggregation/composition with the definition in role1 + } else { + UMLProgram.SetQualifier(qualifiedElement.getType(), + theQualifier.name, theQualifier.value); + } + // ROSE + } else { UMLProgram.SetQualifier(qualifiedElement.getType(), theQualifier.name, theQualifier.value); + } } } void CreateMethods(ArrayList methods) { @@ -543,9 +563,56 @@ return OK; UMLRole role1 = theClass.getRole1(); UMLRole role2 = theClass.getRole2(); + try { - int result = UMLProgram.AddAssociation(role1.endPointName, + int result = -1; + // RSA + if (UMLProgram instanceof RSAModelCreator){ + // System.out.println("UMLProgram is an instance of RSAModelCreator"); + + // get the first qualifier of each association role to find out + // in which role the aggregate is defined + ArrayList qualifiers1 = role1.getQualifiers(true); + UMLQualifier role1Qualifier = (UMLQualifier) qualifiers1.get(0); + ArrayList qualifiers2 = role2.getQualifiers(true); + UMLQualifier role2Qualifier = (UMLQualifier) qualifiers2.get(0); + + // if aggregate is defined in role 1 (MOF file) then AddAssociation is + // called with role 2 first to get the diamond on the correct end of the + // association (the diamond is in RSA on the side of the second role + // which is passed to AddAssociation) + if (role1Qualifier.name.equalsIgnoreCase("Aggregate")){ + System.out.println("Role 1 is AGGREGATE"); + aggregateRole1 = true; + result = UMLProgram.AddAssociation(role2.endPointName, + role2.name, role1.endPointName, role1.name, RclassDiagram); + } + // if aggregate is defined in role 2 (MOF file) + // aggregateRole1 is set to false to get the qualifiers (with SetQualifiers) + // to the correct end of the aggregation/composition + else if (role2Qualifier.name.equalsIgnoreCase("Aggregate")){ + System.out.println("Role 2 is AGGREGATE"); + aggregateRole1 = false; + result = UMLProgram.AddAssociation(role1.endPointName, + role1.name, role2.endPointName, role2.name, RclassDiagram); + + // if the association is no aggregation or composition + } else { + //System.out.println("Normal association"); + //System.out.println("Role 1 end point = " + role1.endPointName + " Role 1 name = " + role1.name); + //System.out.println("Role 2 end point = " + role2.endPointName + " Role 2 name = " + role2.name); + aggregateRole1 = true; + result = UMLProgram.AddAssociation(role2.endPointName, + role2.name, role1.endPointName, role1.name, RclassDiagram); + } + // ROSE + } else { + result = UMLProgram.AddAssociation(role1.endPointName, role1.name, role2.endPointName, role2.name, RclassDiagram); + } + // create the qulifiers of the roles + // it doesn't matter if the qualifiers of role 1 are created + // first or not if (result == OK) { CreateQualifiers(role1); CreateQualifiers(role2); |
From: Benjamin B. <bg...@us...> - 2005-03-24 09:10:53
|
Update of /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/funcionality In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17065/Plugin/com/ibm/ecute/plugins/output/funcionality Modified Files: RSAModelCreator.java Log Message: Changes to get aggregations and compositions the right way round in RSA Index: RSAModelCreator.java =================================================================== RCS file: /cvsroot/sblim/ecute/Plugin/com/ibm/ecute/plugins/output/funcionality/RSAModelCreator.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- RSAModelCreator.java 14 Feb 2005 11:41:03 -0000 1.7 +++ RSAModelCreator.java 24 Mar 2005 09:10:44 -0000 1.8 @@ -119,7 +119,7 @@ public int AddAssociation(String className1, String roleName1, String className2, String roleName2, Object diagram) { - //metamorphose lastClass to AssociationClass + //metamorphose lastClass to AssociationClass //System.out.println("metamorphose: " + lastClass.getName() + " to an AssociationClass"); Element element = lastClass; String s = EObjectUtil.getID(element); @@ -132,7 +132,6 @@ if (className1 == null || className2 == null) { if (lastRootClass != null) { - AssociationClass rootAssoc = (AssociationClass) lastRootClass; Property rootAssocProp1 = (Property) rootAssoc.getOwnedEnds().get(0); @@ -270,6 +269,7 @@ } } } + lastAssocProp1 = assocProp1; Property assocProp2 = associationclass.createOwnedEnd(UML2Package.eINSTANCE.getProperty()); @@ -298,6 +298,7 @@ } } + lastAssocProp2 = assocProp2; //TODO Add AssociationClass to Diagram @@ -430,7 +431,7 @@ public int CreateClass(String name, String rootClass, Object category, boolean replace) { -// System.out.println("CreateClass: " + name); + System.out.println("CreateClass: " + name); org.eclipse.uml2.Package package_ = (org.eclipse.uml2.Package) category; org.eclipse.uml2.Class theRoot = null; int result = OK; @@ -469,6 +470,7 @@ class_ = (org.eclipse.uml2.Class) package_.createOwnedMember(UML2Package.eINSTANCE.getClass_()); class_.setName(name); + System.out.println("CreateClass: " + name + " CREATED"); } lastClassComposition = false; lastCategory = package_; @@ -612,6 +614,7 @@ String thisTab = tab; Element theElement = lastElement; + Element otherElement = null; Stereotype cimStereotype = theElement.getAppliedStereotype("CIM::Qualifiers"); if(type == TCLASS){ @@ -621,11 +624,18 @@ } } + // because of the different role order in RSA theElement is + // lastAssocProp2 if type TLINK1 if (type == TLINK1) { - theElement = lastAssocProp1; + //theElement = lastAssocProp1; + theElement = lastAssocProp2; + otherElement = lastAssocProp1; } + // lastAssocProp1 if type TLINK2 if (type == TLINK2) { - theElement = lastAssocProp2; + //theElement = lastAssocProp2; + theElement = lastAssocProp1; + otherElement = lastAssocProp2; } if (name.equalsIgnoreCase("Description") && qualifiers) { @@ -644,10 +654,13 @@ } else if (name.equalsIgnoreCase("Aggregate") && (!value.equalsIgnoreCase("false"))) { if(theElement instanceof Property){ + // in RSA the attribute for aggregation has to be set on the other side + // than all the other attributes of a property, therefore otherElement + // is used instead of theElement if(lastClassComposition){ - ((Property) theElement).setAggregation(AggregationKind.COMPOSITE_LITERAL); + ((Property) otherElement).setAggregation(AggregationKind.COMPOSITE_LITERAL); }else{ - ((Property) theElement).setAggregation(AggregationKind.SHARED_LITERAL); + ((Property) otherElement).setAggregation(AggregationKind.SHARED_LITERAL); } // ChangeLineColor(lastDiagram, lastElement, aggregation); //TODO // setLineColor? |
From: Konrad R. <kon...@us...> - 2005-03-23 21:47:39
|
Update of /cvsroot/sblim/indication_helper In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30059 Modified Files: ind_helper.c Log Message: 1169451 ] the first call to the monitor function is not evaluated prop Index: ind_helper.c =================================================================== RCS file: /cvsroot/sblim/indication_helper/ind_helper.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ind_helper.c 22 Mar 2005 22:02:55 -0000 1.5 +++ ind_helper.c 23 Mar 2005 21:47:08 -0000 1.6 @@ -47,8 +47,7 @@ */ #define LOCK 0x0002 #define UNLOCK 0x0004 -#define TRIGGER 0x0000 - +#define FIRST_TIME 0x0001 /** * The class properties. This structure is used in three different * ways. @@ -1037,9 +1036,9 @@ else { /* Success locking the critical section */ for (p = monitor_properties.data; p != NULL; - p->flag = UNLOCK,p = p->p) + p->flag = (p->flag & (~LOCK)) | UNLOCK,p = p->p) ; - + if (pthread_mutex_unlock(&monitor_properties.mutex) != 0) { IND_HLP_DEBUG("Unlock mutex error."); @@ -1107,7 +1106,7 @@ for (p=curr, n = 0; p != NULL; n++, p=p->p) { if (p->timer == sleep.timer.tv_sec) - p->flag= LOCK; + p->flag= (p->flag & (~UNLOCK)) | LOCK; else break; } @@ -1148,12 +1147,12 @@ for (p = curr; p!= NULL && rc == IND_OK; p = p->p) { /* Only call functions which are locked */ - if ((p->flag == LOCK) && (p->check != NULL)) + if (((p->flag & LOCK)== LOCK) && (p->check != NULL)) { /* Call the routine */ data.type = CMPI_null; data.state = CMPI_nullValue; - _releaseDataValue(&data); + IND_HLP_DEBUG("Calling the monitor function"); if (p->check(&data) != IND_OK) { @@ -1165,10 +1164,10 @@ _releaseData(&data); break; } - - if (_compareCIMValue(data,p->data) != 0) + if ((_compareCIMValue(data,p->data) != 0) | ((p->flag & FIRST_TIME) == FIRST_TIME)) { /* Yeey, data changed! */ /* Copy the data */ + p->flag = (p->flag & (~FIRST_TIME)); IND_HLP_DEBUG("Yeey, data changed! Generate indication.\n"); _releaseData(&p->data); _cloneData(&p->data, &data); @@ -1200,7 +1199,7 @@ if ((strncmp(p->namespace, q->namespace, ns_l) == 0) && (strncmp(p->cn, q->cn, cn_l) == 0)) { - q->flag = UNLOCK; + q->flag = (q->flag & (~LOCK)) | UNLOCK; } } } @@ -1242,7 +1241,7 @@ /* Unlock all of the properties */ if (pthread_mutex_lock(&monitor_properties.mutex) == 0) { - for (p = monitor_properties.data; p != NULL; p->flag = UNLOCK,p = p->p) + for (p = monitor_properties.data; p != NULL; p->flag = (p->flag & (~LOCK)) | UNLOCK,p = p->p) ; if (pthread_mutex_unlock(&monitor_properties.mutex) != 0) { @@ -1396,7 +1395,7 @@ sizeof(ind_class_property)); /* Set each individual entry */ - property->flag = UNLOCK; + property->flag = UNLOCK | FIRST_TIME; property->p = NULL; property->data.type = CMPI_null; property->data.state = CMPI_nullValue; @@ -1451,6 +1450,8 @@ IND_HLP_DEBUG("Polling routine return code is wrong!"); goto exit_error; } + /* This is where the data is copied in-to memory */ + if ((rc=_cloneData(&property->data, &data)) != IND_OK) { IND_HLP_DEBUG("Could not copy the data passed in from user routine"); @@ -2045,6 +2046,7 @@ switch (data->type) { + /* Add more types */ case CMPI_uint16: data->value.uint16=0; break; |
From: Konrad R. <kon...@us...> - 2005-03-22 22:03:43
|
Update of /cvsroot/sblim/indication_helper/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10071/test Modified Files: Test_genIndication.c Log Message: Fixing problems associated with one of the test-cases failing. Index: Test_genIndication.c =================================================================== RCS file: /cvsroot/sblim/indication_helper/test/Test_genIndication.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Test_genIndication.c 2 Feb 2005 19:06:51 -0000 1.1.1.1 +++ Test_genIndication.c 22 Mar 2005 22:02:57 -0000 1.2 @@ -54,6 +54,7 @@ CMPIContext* _fake_prepareAttachThread(CMPIBroker* mb, CMPIContext* ctx); CMPIStatus _fake_attachThread (CMPIBroker*b, CMPIContext*c); CMPIStatus _fake_detachThread (CMPIBroker* mb, CMPIContext* ctx); +CMPIString* _fake_toString (CMPIBroker* mb, void* object, CMPIStatus* rc); /* Test routines. Everytime they are called, the @@ -96,7 +97,7 @@ } if (debug) - fprintf(stderr,"test_string called\n"); + fprintf(stderr,"test_string called [%s].\n", temp); return IND_OK; } @@ -629,8 +630,14 @@ if (debug) fprintf(stderr,"_fake_detachThread called.\n"); return good; -} +} +CMPIString* _fake_toString (CMPIBroker* mb, void* object, CMPIStatus* rc) +{ + CMPIString *val = mb->eft->newString(mb, "Unknown", rc); + return val; + +} int main (void ) { @@ -663,7 +670,8 @@ b.eft->newObjectPath = _fake_newObjectPath; b.eft->newInstance = _fake_newInstance; b.eft->newSelectExp = _fake_newSelectExp; - + b.eft->toString = _fake_toString; + /* Register the fake broker */ assert ( ind_reg(&b, &ctx) == IND_OK); |
From: Konrad R. <kon...@us...> - 2005-03-22 22:03:24
|
Update of /cvsroot/sblim/indication_helper In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10071 Modified Files: ind_helper.c Log Message: Fixing problems associated with one of the test-cases failing. Index: ind_helper.c =================================================================== RCS file: /cvsroot/sblim/indication_helper/ind_helper.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ind_helper.c 17 Mar 2005 08:52:03 -0000 1.4 +++ ind_helper.c 22 Mar 2005 22:02:55 -0000 1.5 @@ -749,6 +749,9 @@ CMPIStatus status; CMPIBoolean b; IndErrorT rc = IND_OK; +#if defined(DEBUG) + CMPIString *temp = NULL; +#endif /* Send an indication */ IND_HLP_DEBUG("_generateIndication called."); @@ -899,8 +902,13 @@ the filter on it */ #ifdef DEBUG + temp = CDToString(broker,instance,&status); fprintf(stderr,"Trying filter: %p from %s:%s on instance %s\n", - p->filter, p->namespace, p->cn, CMGetCharPtr(CDToString(broker,instance,&status)) ); + p->filter, p->namespace, p->cn, (temp->hdl != NULL) ? CMGetCharPtr(temp) : "unknown."); + if (temp) { + CMRelease(temp); + temp = NULL; + } #endif if (p->filter != NULL) { @@ -1145,7 +1153,7 @@ /* Call the routine */ data.type = CMPI_null; data.state = CMPI_nullValue; - _releaseDataValue(&p->data); + _releaseDataValue(&data); IND_HLP_DEBUG("Calling the monitor function"); if (p->check(&data) != IND_OK) { @@ -1161,7 +1169,7 @@ if (_compareCIMValue(data,p->data) != 0) { /* Yeey, data changed! */ /* Copy the data */ - + IND_HLP_DEBUG("Yeey, data changed! Generate indication.\n"); _releaseData(&p->data); _cloneData(&p->data, &data); @@ -1738,11 +1746,12 @@ CMPIString *v1_str, *v2_str; int v1_cnt, v2_cnt,i, rc; CMPIData v1_data, v2_data; - /* +#if defined(DEBUG) fprintf(stderr,"type:%d == %d, state: %d %d\n", value1.type, value2.type, value1.state, value2.state); - */ +#endif + /* Check that the type of the two CIM values is the same */ if (value1.type != value2.type) return 0; @@ -1750,8 +1759,12 @@ switch (value1.type) { case CMPI_null: return 0; - case CMPI_string: + case CMPI_string: + if ((v1.string ) || (v2.string)) { + if ((v1.string->hdl) && (v2.string->hdl)) return strcmp(CMGetCharPtr(v1.string), CMGetCharPtr(v2.string)); + } + return 0; case CMPI_dateTime: return CMGetBinaryFormat(v1.dateTime, NULL) != CMGetBinaryFormat(v2.dateTime, NULL); @@ -2008,81 +2021,12 @@ static IndErrorT _releaseData(CMPIData *data) { - /* - CMPICount count = 0, i; - CMPIStatus status; - CMPIData temp; - */ IND_HLP_DEBUG("_releaseData called."); + if (data == NULL) return IND_INVALID_ARGS; - switch (data->type) - { - case CMPI_instance: - CMRelease(data->value.inst); - break; - - case CMPI_ref: - CMRelease(data->value.ref); - break; - - case CMPI_args: - CMRelease(data->value.args); - break; - - case CMPI_filter: - CMRelease(data->value.filter); - break; - - case CMPI_enumeration: - CMRelease(data->value.Enum); - break; - - case CMPI_chars: - free(data->value.chars); - break; - - case CMPI_dateTime: - CMRelease(data->value.dateTime); - break; - - case CMPI_ptr: - - data->value.dataPtr.length = 0; - free(data->value.dataPtr.ptr); - break; - - } - - if ((data->type & CMPI_ARRAY) == CMPI_ARRAY) - { - IND_HLP_DEBUG("Array released."); - /* Should we go through each element on the list? */ - /* - count = CMGetArrayCount(data->value.array, &status); - for (i = 0; i < count; i++) - { - temp=CMGetArrayElementAt(data->value.array, - i, &status); - _releaseData(&temp); - } - */ - if (data->value.array) - CMRelease(data->value.array); - - } - - if (((data->type & CMPI_string) == CMPI_string) && - (data->type != CMPI_chars) && - ((data->type & CMPI_ARRAY) != CMPI_ARRAY)) - - { - IND_HLP_DEBUG("String released."); - if (data->value.string) - CMRelease(data->value.string); - } - + _releaseDataValue(data); /* Set the values to null values */ data->type = CMPI_null; @@ -2106,37 +2050,61 @@ break; case CMPI_instance: - CMRelease(data->value.inst); + if (data->value.inst) { + CMRelease(data->value.inst); + data->value.inst = NULL; + } break; case CMPI_ref: - CMRelease(data->value.ref); + if (data->value.ref) { + CMRelease(data->value.ref); + data->value.ref = NULL; + } break; case CMPI_args: - CMRelease(data->value.args); + if (data->value.args) { + CMRelease(data->value.args); + data->value.args = NULL; + } break; case CMPI_filter: - CMRelease(data->value.filter); + if (data->value.filter) { + CMRelease(data->value.filter); + data->value.filter = NULL; + } break; case CMPI_enumeration: - CMRelease(data->value.Enum); + if (data->value.Enum) { + CMRelease(data->value.Enum); + data->value.Enum = NULL; + } break; case CMPI_chars: - free(data->value.chars); + if (data->value.chars) { + free(data->value.chars); + data->value.chars = NULL; + } break; case CMPI_dateTime: + if (data->value.dateTime) { CMRelease(data->value.dateTime); + data->value.dateTime= NULL; + } break; case CMPI_ptr: data->value.dataPtr.length = 0; + if (data->value.dataPtr.ptr) { free(data->value.dataPtr.ptr); + data->value.dataPtr.ptr = NULL; + } break; } @@ -2165,8 +2133,10 @@ { IND_HLP_DEBUG("String released."); - if (data->value.string) - CMRelease(data->value.string); + if (data->value.string) { + CMRelease(data->value.string); + data->value.string = NULL; + } } IND_HLP_DEBUG("_releaseDataValue exited."); |