org.fao.geonet.kernel
Class EditLib

java.lang.Object
  extended by org.fao.geonet.kernel.EditLib

public class EditLib
extends java.lang.Object


Constructor Summary
EditLib(DataManager dataMan)
          Init structures
 
Method Summary
 java.lang.String addEditingInfo(java.lang.String schema, java.lang.String id, org.jdom.Element md)
          Expands a metadata adding all information needed for editing.
 org.jdom.Element addElement(java.lang.String schema, org.jdom.Element el, java.lang.String qname)
           
 void addSchema(java.lang.String name, java.lang.String xmlSchemaFile, java.lang.String xmlSuggestFile, java.lang.String xmlSubstitutionsFile)
          Loads the metadata schema from disk and adds it to the pool
 java.lang.String checkNamespaces(java.lang.String qname, org.jdom.Element md)
           
 void contractElements(org.jdom.Element md)
          Contract container elements
 void enumerateTree(org.jdom.Element md)
           
 boolean existsSchema(java.lang.String name)
           
 void expandElements(java.lang.String schema, org.jdom.Element md)
          Given an unexpanded tree, creates container elements and their children
 void expandTree(MetadataSchema schema, org.jdom.Element md)
          Given a metadata, does a recursive scan adding information for editing
 void fillElement(java.lang.String schema, org.jdom.Element parent, org.jdom.Element md)
          Given an element, creates all mandatory sub-elements.
 org.jdom.Element findElement(org.jdom.Element md, java.lang.String ref)
          Returns the element at a given reference.
 java.lang.String getNamespace(java.lang.String qname, org.jdom.Element md, MetadataSchema schema)
           
 java.lang.String getNewVersion(java.lang.String id)
           
 java.lang.String getPrefix(java.lang.String qname)
           
 MetadataSchema getSchema(java.lang.String name)
           
 java.lang.String getSchemaDir(java.lang.String name)
           
 java.util.Set<java.lang.String> getSchemas()
           
 java.lang.String getUnqualifiedName(java.lang.String qname)
           
 java.lang.String getVersion(java.lang.String id)
           
 void removeEditingInfo(org.jdom.Element md)
          Given an expanded tree, removes all info added for editing and replaces choice_elements with their children
 java.util.List searchChildren(java.lang.String chName, org.jdom.Element md, java.lang.String schema)
          searches children of container elements for containers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EditLib

public EditLib(DataManager dataMan)
Init structures

Method Detail

addSchema

public void addSchema(java.lang.String name,
                      java.lang.String xmlSchemaFile,
                      java.lang.String xmlSuggestFile,
                      java.lang.String xmlSubstitutionsFile)
               throws java.lang.Exception
Loads the metadata schema from disk and adds it to the pool

Throws:
java.lang.Exception

getSchema

public MetadataSchema getSchema(java.lang.String name)

getSchemaDir

public java.lang.String getSchemaDir(java.lang.String name)

getSchemas

public java.util.Set<java.lang.String> getSchemas()

existsSchema

public boolean existsSchema(java.lang.String name)

addEditingInfo

public java.lang.String addEditingInfo(java.lang.String schema,
                                       java.lang.String id,
                                       org.jdom.Element md)
                                throws java.lang.Exception
Expands a metadata adding all information needed for editing.

Throws:
java.lang.Exception

enumerateTree

public void enumerateTree(org.jdom.Element md)

getVersion

public java.lang.String getVersion(java.lang.String id)

getNewVersion

public java.lang.String getNewVersion(java.lang.String id)

fillElement

public void fillElement(java.lang.String schema,
                        org.jdom.Element parent,
                        org.jdom.Element md)
                 throws java.lang.Exception
Given an element, creates all mandatory sub-elements. The given element should be empty.

Throws:
java.lang.Exception

removeEditingInfo

public void removeEditingInfo(org.jdom.Element md)
Given an expanded tree, removes all info added for editing and replaces choice_elements with their children


findElement

public org.jdom.Element findElement(org.jdom.Element md,
                                    java.lang.String ref)
Returns the element at a given reference.

Parameters:
md - the metadata element expanded with editing info
ref - the element position in a pre-order visit

addElement

public org.jdom.Element addElement(java.lang.String schema,
                                   org.jdom.Element el,
                                   java.lang.String qname)
                            throws java.lang.Exception
Throws:
java.lang.Exception

searchChildren

public java.util.List searchChildren(java.lang.String chName,
                                     org.jdom.Element md,
                                     java.lang.String schema)
                              throws java.lang.Exception
searches children of container elements for containers

Throws:
java.lang.Exception

expandElements

public void expandElements(java.lang.String schema,
                           org.jdom.Element md)
                    throws java.lang.Exception
Given an unexpanded tree, creates container elements and their children

Throws:
java.lang.Exception

contractElements

public void contractElements(org.jdom.Element md)
Contract container elements


expandTree

public void expandTree(MetadataSchema schema,
                       org.jdom.Element md)
                throws java.lang.Exception
Given a metadata, does a recursive scan adding information for editing

Throws:
java.lang.Exception

getUnqualifiedName

public java.lang.String getUnqualifiedName(java.lang.String qname)

getPrefix

public java.lang.String getPrefix(java.lang.String qname)

getNamespace

public java.lang.String getNamespace(java.lang.String qname,
                                     org.jdom.Element md,
                                     MetadataSchema schema)

checkNamespaces

public java.lang.String checkNamespaces(java.lang.String qname,
                                        org.jdom.Element md)