| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectatg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.GenericService
atg.repository.databinding.MappingManager
public class MappingManager
This class maintains a pointer to a directory that contains  mapping files 
 that live on a virtual file system.  Users can request access to one of
 these mapping files by logical name.  This logical name corresponds to the
 name of the mapping file itself.  The contents of the file will be returned
 to the user as a parsed tree that contains
 ItemMappingElement and
 ItemMappingElementsPropertyMappingElement.
 PropertyMappingElements
#getMapping(String)getMapping() method on this class
 passing in the name of the mapping file as the argument.  i.e. ProfileMapping
 This component would then return the contents of the file parsed as set
 of Java objects.  The top level object returned would be an instance of
 the ItemMappingElement class.
ItemMappingElement, 
PropertyMappingElement| Field Summary | |
|---|---|
| static java.lang.String | CLASS_VERSION | 
| static java.lang.String | DEFAULT_INCLUDE_ATTRWhether or not properties should be included in the exported data model by default. | 
| static java.lang.String | INCLUDE_ATTRName of the property that controls whether or not a property should be included in a particular data model. | 
| static java.lang.String | ITEM_DESC_NAMEName of the attribute property that indicates the name of the item-desc | 
| static java.lang.String | ITEM_DESC_TAG_NAMEIdentifier for the item-descriptor tag that appears in a mapping file | 
| static java.lang.String | NAME_ATTRThe attribute property that indicates the property for the item-descriptor | 
| static java.lang.String | PROPERTY_TAG_NAMEIdentifier for the property tag that appears in a mapping file | 
| static java.lang.String | REPOSITORY_PATHName of the attribute property that points to the path of a repository | 
| static java.lang.String | TARGET_NAME_ATTRThe attribute property that indicates the property for the remote data model. | 
| Fields inherited from class atg.nucleus.GenericService | 
|---|
| SERVICE_INFO_KEY | 
| Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging | 
|---|
| DEFAULT_LOG_TRACE_STATUS | 
| Fields inherited from interface atg.nucleus.logging.ApplicationLogging | 
|---|
| DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS | 
| Constructor Summary | |
|---|---|
| MappingManager() | |
| Method Summary | |
|---|---|
|  atg.repository.databinding.ItemMappingElement | buildItemMappingElement(org.w3c.dom.Element pItemElement,
                        RepositoryItemDescriptor pDescriptor)This method will build a single node in the mapping configuration tree. | 
|  atg.repository.databinding.PropertyMappingElement | buildPropertyMappingElement(org.w3c.dom.Element pPropertyElement,
                            RepositoryItemDescriptor pDescriptor)This method will build a single PropertyMappingElementobject which reflects all of the information contained within thepPropertyElementparameter. | 
|  void | clearCache()This method can be used to clear the cache that is maintained internally by this class. | 
|  void | doStartService()This method will determine if the mapping files pointed to by this component should be parsed on start-up. | 
|  void | error(org.xml.sax.SAXParseException pException)Register this class to handle parse exceptions during a mapping file. | 
|  void | fatalError(org.xml.sax.SAXParseException pException)Register this class to handle parse exceptions during a mapping file. | 
| protected  org.w3c.dom.Document | getDocumentObject(java.io.InputStream pInputStream)Utility method which will return the inputstream as a Document object to us. | 
| protected  RepositoryItemDescriptor | getItemDescriptor(org.w3c.dom.Element pElement)This method returns the item-descriptor that is referred to by the top-level item-descriptor mapping element. | 
|  RepositoryItemDescriptor | getItemDescriptor(Repository pRepository,
                  org.w3c.dom.Element pElement)This method will retrieve the item-descriptor that is specified on the elementpassed to this method that is defined
 in therepositorypassed to this method. | 
|  atg.repository.databinding.ItemMappingElement | getMapping(java.lang.String pMappingFileName)This method will retrieve a parsed tree of mapping file information for a given mapping file. | 
|  java.io.File[] | getMappingFileDirectories()A set of directories can be specified that mapping files will be obtained from. | 
|  java.io.File | getMappingFileDirectory()Deprecated. This property has been deprecated, the mappingFileDirectoriesproperty should be used instead
 since it allows the user to specify multiple directories. | 
|  java.lang.String | getMappingFileExtension()The extension that is expected to be on mapping files. | 
|  java.lang.String[] | getMappingFileNames()Rturns a list of the mapping files that this component points to. | 
| protected  java.io.InputStream | getMappingInputStream(java.lang.String pMappingFileName)This method returns the input stream that is associated with the specified mapping file. | 
|  Repository | getRepository(org.w3c.dom.Element pElement)Given an element, try to extract the path to a Nucleus repository component. | 
|  boolean | isItemDescriptorValidForProperty(RepositoryItemDescriptor pItemDescriptor,
                                 java.lang.String pPropertyName,
                                 RepositoryItemDescriptor pMapElementItemDescriptor)This method determines if the item-descriptor which was specified in the mapping file refers to an item-descriptor type that is valid for the target property on the item-descriptor defined in the repository. | 
|  boolean | isParseMappingsOnStartup()Whether or not the mapping files that this component points to should be parsed on start-up. | 
|  atg.repository.databinding.ItemMappingElement | newItemMappingElement()Creates a new ItemMappingElement object. | 
|  atg.repository.databinding.PropertyMappingElement | newPropertyMappingElement()This method creates a new PropertyMappingElement. | 
|  void | parseAllFiles()Parse all the mapping files that are pointed to by this component. | 
|  void | populateItemMappingProperties(atg.repository.databinding.ItemMappingElement pItemMapping,
                              org.w3c.dom.Element pItemElement,
                              RepositoryItemDescriptor pDescriptor)This method populates the ItemMappingElement object passed to it with two properties the repository defined on the pElementthe item-descriptor defined on thepElementIf the repository or item-descriptor is not defined on thepElementpassed to this method then the values will
 be set to null. | 
|  void | populatePropertyMappingProperties(atg.repository.databinding.PropertyMappingElement pPropertyMapping,
                                  org.w3c.dom.Element pElement)This method populates the PropertyMappingElement object passed to it with three properties the include information from the pElementThat is,
      whether or not the property associated with this object should
      be included in the externalized data-model
  the property name as it should appear in the item-descriptor 
      (name)
  the property name as it should appear in the target datamodel
 
 Any values not specified in the xml mapping file will be set
 to null. | 
|  void | setMappingFileDirectories(java.io.File[] pMappingFileDirectories)Sets property MappingFileDirectories | 
|  void | setMappingFileDirectory(java.io.File pMappingFileDirectory)Set the mappingFileDirectory property. | 
|  void | setMappingFileExtension(java.lang.String mappingFileExtension)Sets the mappingFileExtension. | 
|  void | setParseMappingsOnStartup(boolean pParseMappingsOnStartup)Set the parseMappingsOnStartup property. | 
|  void | warning(org.xml.sax.SAXParseException pException)Register this class to handle parse exceptions during a mapping file. | 
| Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl | 
|---|
| vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static java.lang.String CLASS_VERSION
public static final java.lang.String ITEM_DESC_TAG_NAME
public static final java.lang.String PROPERTY_TAG_NAME
public static final java.lang.String REPOSITORY_PATH
public static final java.lang.String ITEM_DESC_NAME
public static final java.lang.String NAME_ATTR
public static final java.lang.String TARGET_NAME_ATTR
public static final java.lang.String INCLUDE_ATTR
public static final java.lang.String DEFAULT_INCLUDE_ATTR
| Constructor Detail | 
|---|
public MappingManager()
| Method Detail | 
|---|
public java.lang.String getMappingFileExtension()
public void setMappingFileExtension(java.lang.String mappingFileExtension)
mappingFileExtension - The mappingFileExtension to setpublic boolean isParseMappingsOnStartup()
public void setParseMappingsOnStartup(boolean pParseMappingsOnStartup)
pParseMappingsOnStartup - public java.io.File[] getMappingFileDirectories()
mappingFileDirectory because of the ability to specify
 multiple directories.
 
 If values for this property are specified in addition to the
 mappingFileDirectory, then files will be obtained from
 both the directories associated with the mappingFileDirectories
 as well as the mappingFileDirectory property.
public void setMappingFileDirectories(java.io.File[] pMappingFileDirectories)
pMappingFileDirectories - public java.io.File getMappingFileDirectory()
mappingFileDirectories property should be used instead
 since it allows the user to specify multiple directories.
public void setMappingFileDirectory(java.io.File pMappingFileDirectory)
pMappingFileDirectory - 
public void doStartService()
                    throws ServiceException
getMapping() method with the file
 name thus placing them in the cache.
 The list of files that are pointed to by this component is determined
 by invoking the getMappingFileNames() method.
doStartService in class GenericServiceServiceException - if an error occurs
public atg.repository.databinding.ItemMappingElement getMapping(java.lang.String pMappingFileName)
                                                         throws MappingException
mappingFileDirectory property
 on this class.
 This method will check for a mapping file that lives in the cache
 keyed by pMappingFileName parameter.  If no entry is found
 in the cache then this method will resolve the file and parse it into
 a configuration tree.
pMappingFileName - the name of the mapping file to parse relative
 to the mappingFileDirectory parameter.
java.io.IOException - if an error occurs
MappingException - if an error occurs during the processing
 of a mapping file.
public atg.repository.databinding.ItemMappingElement buildItemMappingElement(org.w3c.dom.Element pItemElement,
                                                                             RepositoryItemDescriptor pDescriptor)
                                                                      throws MappingException,
                                                                             RepositoryException
pItemElement parameter.  It will call the
 populateItemMappingProperties() method to populate all
 of the properties from the pItemElement to the ItemMappingElement.
 
 Finally, it will iterator over all the child element tags of 
 pItemElement.  For each child element which is a property
 tag it will ensure that property referred to by this child element is
 a legal property on the item-descriptor that the pItemElement
 referred to.  If a legal property element is found, the 
 buildPropertyMappingElement() method is called.  The
 buildPropertyMappingElement() can recursively call the
 buildItemMappingElement() method thus allowing the creation
 of the entire mapping configuration tree.
 When this method completes, a tree of objects that will be generated
 which reflects all of the mapping information from the mapping elements
 and the properties pointed to by each item-descriptor element
 will be verified to exist on the actual item-descriptor in the repository.
pItemElement - XML element from mapping configuration filepDescriptor - item-descriptor referred to by the 
 pItemElement
pItemElement.
MappingException - if an error occurs
RepositoryException
public atg.repository.databinding.PropertyMappingElement buildPropertyMappingElement(org.w3c.dom.Element pPropertyElement,
                                                                                     RepositoryItemDescriptor pDescriptor)
                                                                              throws MappingException,
                                                                                     RepositoryException
PropertyMappingElement
 object which reflects all of the information contained within the
 pPropertyElement parameter.
 This method will create a new PropertyMappingElement and then call
 the populatePropertyMappingProperties() method to
 copy properties from the pPropertyElement to the create 
 PropertyMappingElement.
 It will then walk all children element tags defined from the
 pPropertyElement.  For each child tag, it will first ensure
 that the item-descriptor type mentioned in the element tag is assignable
 to the property. If it is, then the buildItemMappingElement method will
 be called.
pPropertyElement - the property element from the mapping config filepDescriptor - the item-descriptor that the property referred to by
 the pPropertyElement refers to
pPropertyElement
MappingException
RepositoryException
protected java.io.InputStream getMappingInputStream(java.lang.String pMappingFileName)
                                             throws MappingException,
                                                    java.io.IOException
pMappingFileName - the name of the mapping file to return the
 InputStream to.  This filename is resolved relative to the 
 mappingFileDirectory.
MappingException - if an error occured while trying to access
 the mappingInputStream.
java.io.IOExceptionpublic void clearCache()
protected org.w3c.dom.Document getDocumentObject(java.io.InputStream pInputStream)
                                          throws javax.xml.parsers.ParserConfigurationException,
                                                 org.xml.sax.SAXException,
                                                 java.io.IOException
pInputStream - input stream that contains a mapping instance document
javax.xml.parsers.ParserConfigurationException
org.xml.sax.SAXException
java.io.IOExceptionprotected RepositoryItemDescriptor getItemDescriptor(org.w3c.dom.Element pElement) throws MappingException, RepositoryException
pElement - the element which is an item-descriptor
 element from a mapping file
MappingException
RepositoryExceptionpublic atg.repository.databinding.ItemMappingElement newItemMappingElement()
ItemMappingElementpublic atg.repository.databinding.PropertyMappingElement newPropertyMappingElement()
PropertyMappingElement
public void populateItemMappingProperties(atg.repository.databinding.ItemMappingElement pItemMapping,
                                          org.w3c.dom.Element pItemElement,
                                          RepositoryItemDescriptor pDescriptor)
                                   throws MappingException,
                                          RepositoryException
pElement
  pElement
 pElement passed to this method then the values will
 be set to null.
pItemMapping - an ItemMappingElement valuepElement - an Element valuepDescriptor - the RepositoryItemDescriptor that the 
 ItemMappingElement backs.
MappingException
RepositoryException
public void populatePropertyMappingProperties(atg.repository.databinding.PropertyMappingElement pPropertyMapping,
                                              org.w3c.dom.Element pElement)
pElement  That is,
      whether or not the property associated with this object should
      be included in the externalized data-model
  
pItemMapping - an ItemMappingElement valuepElement - an Element valuepublic Repository getRepository(org.w3c.dom.Element pElement) throws MappingException
pElement parameter passed to this method is expected
 to have an attribute on it whose name matches the 
 repository path
pElement - the element that a repository path will be extracted
 from
MappingException - if an error occurspublic RepositoryItemDescriptor getItemDescriptor(Repository pRepository, org.w3c.dom.Element pElement) throws MappingException, RepositoryException
element passed to this method that is defined
 in the repository passed to this method.
 The pElement parameter passed to this method is expected
 to have an attribute on it whose name matches the 
 item-descriptor name
pRepository - the repository that the item-descriptor is defined inpElement - the element that contains the item-descriptor name
MappingException - if an error occurs
RepositoryExceptionpublic boolean isItemDescriptorValidForProperty(RepositoryItemDescriptor pItemDescriptor, java.lang.String pPropertyName, RepositoryItemDescriptor pMapElementItemDescriptor) throws RepositoryException
pItemDescriptor - the item-descriptor defined in a repository whose
 property is currently being operated onpPropertyName - the property that is being modified in some waypMapElementItemDescriptor - the item-descriptor that comes
 from the mapping file
RepositoryException
public java.lang.String[] getMappingFileNames()
                                       throws MappingException
MappingExceptionpublic void error(org.xml.sax.SAXParseException pException)
error in interface org.xml.sax.ErrorHandlerpException - the exceptionpublic void warning(org.xml.sax.SAXParseException pException)
warning in interface org.xml.sax.ErrorHandlerpException - the exceptionpublic void fatalError(org.xml.sax.SAXParseException pException)
fatalError in interface org.xml.sax.ErrorHandlerpException - the exception
public void parseAllFiles()
                   throws RepositoryException,
                          MappingException,
                          java.io.IOException,
                          javax.xml.parsers.ParserConfigurationException,
                          org.xml.sax.SAXException
clearCache() method should be
 invoked.
RepositoryException - if an error occurs
MappingException - if an error occurs
java.io.IOException - if an error occurs
javax.xml.parsers.ParserConfigurationException - if an error occurs
org.xml.sax.SAXException - if an error occurs| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||