OpenSpirit enable cross-vendor, cross platform... Integration of Data and Applications
About Us Products Support Services Clients News Contact Us
Developer FAQ: Version 2.5.0 Developer FAQ Menu

Applications >> Servers

How can I compile my own IDL that references OpenSpirit IDL?
How can I control the debug output?
How do I register a new custom data store type?

How can I compile my own IDL that references OpenSpirit IDL?

To use IDL, you must compile it into some target language. If the target is Java and it references OpenSpirit IDL, then you must provide the compiler with the information needed to translate IDL Module names into Java package names. This is done through the idl2package options to the idl2java command in Visibroker. The following is an idl2java command similar to that used in the v2.5.x compilation. C++ information follows it.

idl2java -package org.openspirit \
  -idl2package ::CORBA org.omg.CORBA \
  -idl2package ::Ch3_8 org.openspirit.Ch3_8 \
  -idl2package ::Ch4_0 org.openspirit.Ch4_0 \
  -idl2package ::Charisma37
      org.openspirit.Charisma37 \
  -idl2package ::CosCollection 
      org.omg.CosCollection \
  -idl2package ::CosEventChannelAdmin
      org.omg.CosEventChannelAdmin \
  -idl2package ::CosEventComm
      org.omg.CosEventComm \
  -idl2package ::CosLifeCycle
      org.omg.CosLifeCycle \
  -idl2package ::CosNaming
      org.omg.CosNaming \
  -idl2package ::CosNotification 
      org.omg.CosNotification \
  -idl2package ::CosNotifyChannelAdmin
      org.omg.CosNotifyChannelAdmin \
  -idl2package ::CosNotifyComm
      org.omg.CosNotifyComm \
  -idl2package ::CosNotifyFilter
      org.omg.CosNotifyFilter \
  -idl2package ::CosObjectIdentity
      org.omg.CosObjectIdentity \
  -idl2package ::CosPropertyService
      org.omg.CosPropertyService \
  -idl2package ::CosQuery org.omg.CosQuery \
  -idl2package ::CosTrading
      org.omg.CosTrading \
  -idl2package ::CosTradingDynamic
      org.omg.CosTradingDynamic \
  -idl2package ::CosTradingRepos
      org.omg.CosTradingRepos \
  -idl2package ::CosTypedEventChannelAdmin
      org.omg.CosTypedEventChannelAdmin \
  -idl2package ::CosTypedEventComm
      org.omg.CosTypedEventComm \
  -idl2package ::CosTypedNotifyChannelAdmin
      org.omg.CosTypedNotifyChannelAdmin \
  -idl2package ::CosTypedNotifyComm
      org.omg.CosTypedNotifyComm \
  -idl2package ::DosProperties
      org.openspirit.DosProperties \
  -idl2package ::DosTypes
      org.openspirit.DosTypes \
  -idl2package ::EpBase
      org.openspirit.EpBase \
  -idl2package ::EpCollection
      org.openspirit.EpCollection \
  -idl2package ::EpCoordinateService
      org.openspirit.EpCoordinateService \
  -idl2package ::EpDataStore
      org.openspirit.EpDataStore \
  -idl2package ::EpEntity
      org.openspirit.EpEntity \
  -idl2package ::EpEventService
      org.openspirit.EpEventService \
  -idl2package ::EpFactory
      org.openspirit.EpFactory \
  -idl2package ::EpGeometry
      org.openspirit.EpGeometry \
  -idl2package ::EpPlanarGeometry
      org.openspirit.EpPlanarGeometry \
  -idl2package ::EpProject
      org.openspirit.EpProject \
  -idl2package ::EpQuery
      org.openspirit.EpQuery \
  -idl2package ::EpReferenceValueService
      org.openspirit.EpReferenceValueService \
  -idl2package ::EpSampledData
      org.openspirit.EpSampledData \
  -idl2package ::EpSampledDataService
      org.openspirit.EpSampledDataService \
  -idl2package ::EpSelectionService
      org.openspirit.EpSelectionService \
  -idl2package ::EpServer
      org.openspirit.EpServer \
  -idl2package ::EpSession
      org.openspirit.EpSession \
  -idl2package ::EpShape
      org.openspirit.EpShape \
  -idl2package ::EpTypes
      org.openspirit.EpTypes \
  -idl2package ::EpTypesService
      org.openspirit.EpTypesService \
  -idl2package ::EpUnitOfMeasureService
      org.openspirit.EpUnitOfMeasureService \
  -idl2package ::EpUser
      org.openspirit.EpUser \
  -idl2package ::EpiDrilling
      org.openspirit.EpiDrilling \
  -idl2package ::EpiInterpretation
      org.openspirit.EpiInterpretation \
  -idl2package ::EpiLineOfSection
      org.openspirit.EpiLineOfSection \
  -idl2package ::EpiProject
      org.openspirit.EpiProject \
  -idl2package ::EpiSeismic
    org.openspirit.EpiSeismic \
  -idl2package ::EpiTypes
      org.openspirit.EpiTypes \
  -idl2package ::EpiWell
      org.openspirit.EpiWell \
  -idl2package ::Finder90
      org.openspirit.Finder90 \
  -idl2package ::Gf37 org.openspirit.Gf37 \
  -idl2package ::Gf37Merge
      org.openspirit.Gf37Merge \
  -idl2package ::Gf3_8 org.openspirit.Gf3_8 \
  -idl2package ::Gf3_8Merge
      org.openspirit.Gf3_8Merge \
  -idl2package ::Gf4_0 org.openspirit.Gf4_0 \
  -idl2package ::Gf4_0Merge
      org.openspirit.Gf4_0Merge \
  -idl2package ::Ie3_8 org.openspirit.Ie3_8 \
  -idl2package ::Ie4_0 org.openspirit.Ie4_0 \
  -idl2package ::Iesx37
      org.openspirit.Iesx37 \
  -idl2package ::Oii org.openspirit.Oii \
  -idl2package ::Omega1_8
      org.openspirit.Omega1_8 \
  -idl2package ::Osi10 org.openspirit.Osi10 \
  -idl2package ::Osi20 org.openspirit.Osi20 \
  -idl2package ::Ow2003 org.openspirit.Ow2003 \
  -idl2package ::Ow50 org.openspirit.Ow50 \
  -idl2package ::Ow98_5 org.openspirit.Ow98_5 \
  -idl2package ::Recall_4_2
      org.openspirit.Recall_4_2 \
  -idl2package ::SeisWorks
      org.openspirit.SeisWorks \
  -idl2package ::Sw2003 org.openspirit.Sw2003 \
  -idl2package ::Sw40 org.openspirit.Sw40 \
  -idl2package ::Sw98_5 org.openspirit.Sw98_5 \
  -I/home/my_build/idl \
  -C \
  -root_dir /home/my_build/java \
  -verbose \
  -all_serializable \
  -DVISIBROKER \
  -I/usr/local/orbs/VBroker3.4_Developer/idl \
  EpiWhatever.idl

For C++, we have provided a Makefile (and Makefile.mak for Windows) in the $OSP_HOME/idl directory, which should make it easier. It presumes the use of the MICO ORB.

Back to Top ...

How can I control the debug output?

As you already know from the General FAQ on debugging control, you can create a file osp.debug in your home directory (UNIX only) that can turn on rather voluminous debugging. You can limit the amount of debugging by creating one or more of the following files instead of osp.debug:

•   $HOME/osp.debug.java - If this file exists, the first line is used as the pattern for selecting the Java classes to debug. If it is empty, all Java classes will be turned on.
•   $HOME/osp.debug.cpp - If this file exists, the first line is used for the pattern for selecting the C++ classes to debug. If it is empty, all C++ classes will be turned on.
•   $HOME/osp.debug.orb - If this file exists, maximum ORB debugging information is turned on. Contents are ignored.

Note that the osp.debug file supercedes all of these files, so remove it if you want to use these.

Note also that only the first line is used, if any. This allows you to put multiple lines into the file with different patterns. To change patterns, just move the appropriate line to the top.

Back to Top ...

How do I register a new custom data store type?

We have created a tool that will aid you in registering your new data store into an OpenSpirit installation. This tool is only used to declare a new data store type. You will need to run the ospconfig tool ($OSP_HOME/bin/ospconfig) to configure new instances of this data store type once the type has been defined.

Un-gzip and un-tar the following file into your OSP_HOME/bin directory:

register_bin.tar.gz (25Mb)

Back to Top ...

Site Map      Legal      Privacy
Planning Well
OpenSpirit Home