Changeset 8699
- Timestamp:
- 2004-11-30T11:11:22+13:00 (19 years ago)
- Location:
- trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/metadata
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/metadata/FileIdentifierFactory.java
r6287 r8699 9 9 public class FileIdentifierFactory extends AbstractIdentifierFactory 10 10 { 11 public static final String FILE_IDENTIFIER_PRELUDE = "FILE"; 11 public static final String FILE_IDENTIFIER_PRELUDE = "FILE"; 12 13 public FileIdentifierFactory() 14 { 15 super(FILE_IDENTIFIER_PRELUDE); 16 } 17 } 12 18 13 public FileIdentifierFactory()14 { super(FILE_IDENTIFIER_PRELUDE);15 }16 } -
trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/metadata/GSDL3Namespace.java
r5800 r8699 26 26 public class GSDL3Namespace extends SimpleNamespace 27 27 { 28 public static String GSDL3_NAMESPACE_ID = "gsdl3"; 29 private static String GSDL3_METADATA_TAG = "Metadata"; 28 public static String GSDL3_NAMESPACE_ID = "gsdl3"; 29 private static String GSDL3_METADATA_TAG = "Metadata"; 30 31 public GSDL3Namespace() 32 { 33 super(GSDL3_NAMESPACE_ID); 34 } 35 36 public GSDL3Namespace(METSLocation location) 37 { 38 super(GSDL3_NAMESPACE_ID, location); 39 } 40 41 public GSDL3Namespace(Element mdWrapTag) 42 { 43 super(GSDL3_NAMESPACE_ID); 44 45 NodeList childNodes = mdWrapTag.getChildNodes(); 46 for (int c = 0; c < childNodes.getLength(); c ++){ 47 // a metadata node 48 if (childNodes.item(c).getNodeType() == org.w3c.dom.Node.ELEMENT_NODE){ 49 String metadataLabel = childNodes.item(c).getNodeName(); 30 50 31 public GSDL3Namespace() 32 { super(GSDL3_NAMESPACE_ID); 51 // cull any leading "GSDL3" tag and its colon... 52 if (metadataLabel.startsWith(GSDL3_NAMESPACE_ID + ":")){ 53 metadataLabel = metadataLabel.substring(this.name.length() + 1); 54 } 55 56 // TODO: throw error: bad metadata type 57 if (metadataLabel.equals(GSDL3_METADATA_TAG) == false){ 58 continue; 59 } 60 61 // Get the label - if the name isn't set, abort. 62 // TODO: throw error: incomplete metadata tag 63 metadataLabel = ((Element) childNodes.item(c)).getAttribute("name"); 64 if (metadataLabel == null) { 65 continue; 66 } 67 68 // now build the associated value. 69 String metadataValue = ""; 70 71 Element childElement = (Element) childNodes.item(c); 72 for (int i = 0; i < childElement.getChildNodes().getLength(); i ++) { 73 metadataValue = metadataValue + childElement.getChildNodes().item(i).toString(); 74 } 75 76 this.addMetadata(metadataLabel, metadataValue); 77 } 33 78 } 34 35 public GSDL3Namespace(METSLocation location) 36 { super(GSDL3_NAMESPACE_ID, location); 79 } 80 81 /** 82 * Write out a single element - this may be overloaded to provide for the 83 * appropriate formatting for this metadata. 84 */ 85 protected boolean writeItem(PrintWriter writer, String label) 86 { 87 if (this.location == null){ 88 // just place the metadata in a simple wrapper 89 Iterator values = this.metadataMap.getAll(label).iterator(); 90 91 while (values.hasNext()){ 92 String tag; 93 String value = values.next().toString(); 94 95 tag = XMLTools.getOpenTag(GSDL3_NAMESPACE_ID, GSDL3_METADATA_TAG); 96 tag = XMLTools.addAttribute(tag, "name", label); 97 writer.print(tag); 98 writer.print(value); 99 100 writer.println(XMLTools.getCloseTag(this.name, GSDL3_METADATA_TAG)); 101 } 37 102 } 38 39 public GSDL3Namespace(Element mdWrapTag) 40 { super(GSDL3_NAMESPACE_ID); 41 42 NodeList childNodes = mdWrapTag.getChildNodes(); 43 for (int c = 0; c < childNodes.getLength(); c ++) 44 { // a metadata node 45 if (childNodes.item(c).getNodeType() == org.w3c.dom.Node.ELEMENT_NODE) 46 { String metadataLabel = childNodes.item(c).getNodeName(); 47 48 // cull any leading "GSDL3" tag and its colon... 49 if (metadataLabel.startsWith(GSDL3_NAMESPACE_ID + ":")) 50 { metadataLabel = metadataLabel.substring(this.name.length() + 1); 51 } 52 53 // TODO: throw error: bad metadata type 54 if (metadataLabel.equals(GSDL3_METADATA_TAG) == false) 55 { continue; 56 } 57 58 // Get the label - if the name isn't set, abort. 59 // TODO: throw error: incomplete metadata tag 60 metadataLabel = ((Element) childNodes.item(c)).getAttribute("name"); 61 if (metadataLabel == null) 62 { continue; 63 } 64 65 // now build the associated value. 66 String metadataValue = ""; 67 68 Element childElement = (Element) childNodes.item(c); 69 for (int i = 0; i < childElement.getChildNodes().getLength(); i ++) 70 { metadataValue = metadataValue + childElement.getChildNodes().item(i).toString(); 71 } 72 73 this.addMetadata(metadataLabel, metadataValue); 74 } 75 } 103 else { 104 String tag = XMLTools.getOpenTag("mets", "mdRef"); 105 tag = XMLTools.addAttribute(tag, "LOCTYPE", this.location.getType()); 106 tag = XMLTools.addAttribute(tag, "xlink:href", this.location.getLocation().toString()); 107 tag = XMLTools.addAttribute(tag, "MDTYPE", this.getName()); 108 tag = XMLTools.makeSingleton(tag); 109 writer.println(tag); 76 110 } 77 78 /** 79 * Write out a single element - this may be overloaded to provide for the 80 * appropriate formatting for this metadata. 81 */ 82 protected boolean writeItem(PrintWriter writer, String label) 83 { if (this.location == null) 84 { // just place the metadata in a simple wrapper 85 Iterator values = this.metadataMap.getAll(label).iterator(); 86 87 while (values.hasNext()) 88 { String tag; 89 String value = values.next().toString(); 90 91 tag = XMLTools.getOpenTag(GSDL3_NAMESPACE_ID, GSDL3_METADATA_TAG); 92 tag = XMLTools.addAttribute(tag, "name", label); 93 writer.print(tag); 94 writer.print(value); 95 96 writer.println(XMLTools.getCloseTag(this.name, GSDL3_METADATA_TAG)); 97 } 98 } 99 else 100 { String tag = XMLTools.getOpenTag("mets", "mdRef"); 101 tag = XMLTools.addAttribute(tag, "LOCTYPE", this.location.getType()); 102 tag = XMLTools.addAttribute(tag, "xlink:href", this.location.getLocation().toString()); 103 tag = XMLTools.addAttribute(tag, "MDTYPE", this.getName()); 104 tag = XMLTools.makeSingleton(tag); 105 writer.println(tag); 106 } 107 return true; 108 } 111 return true; 112 } 109 113 } -
trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/metadata/METSFileID.java
r5800 r8699 6 6 7 7 public class METSFileID 8 { String id; 9 10 public METSFileID() 11 { this.id = null; 12 } 13 14 public METSFileID(String id) 15 { this.id = id; 16 } 17 18 public String toString() 19 { return this.id; 20 } 21 22 public boolean isDefined() 23 { return this.id != null; 24 } 8 { 9 String id; 10 11 public METSFileID() 12 { 13 this.id = null; 14 } 15 16 public METSFileID(String id) 17 { 18 this.id = id; 19 } 20 21 public String toString() 22 { 23 return this.id; 24 } 25 26 public boolean isDefined() 27 { 28 return this.id != null; 29 } 25 30 } -
trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/metadata/METSHeader.java
r5800 r8699 6 6 public class METSHeader 7 7 { 8 List agents; 9 METSDate createDate; 10 METSDate lastModDate; 11 12 public METSHeader() 13 { 14 this.agents = new ArrayList(); 15 } 16 17 public METSHeader(METSAgent defaultAgent) 18 { this(); 19 this.agents.add(defaultAgent); 20 } 21 22 public void setCreateDate(METSDate createDate) 23 { this.createDate = createDate; 24 } 25 26 public void setModifiedDate(METSDate modifiedDate) 27 { this.lastModDate = modifiedDate; 28 } 8 List agents; 9 METSDate createDate; 10 METSDate lastModDate; 11 12 public METSHeader() 13 { 14 this.agents = new ArrayList(); 15 } 16 17 public METSHeader(METSAgent defaultAgent) 18 { 19 this(); 20 this.agents.add(defaultAgent); 21 } 22 23 public void setCreateDate(METSDate createDate) 24 { 25 this.createDate = createDate; 26 } 27 28 public void setModifiedDate(METSDate modifiedDate) 29 { 30 this.lastModDate = modifiedDate; 31 } 29 32 } -
trunk/gsdl3/src/java/org/greenstone/gsdl3/gs3build/metadata/StructureIdentifierFactory.java
r6287 r8699 9 9 public class StructureIdentifierFactory extends AbstractIdentifierFactory 10 10 { 11 public static final String STRUCTURE_IDENTIFIER_PRELUDE = "DS"; 12 13 public StructureIdentifierFactory() 14 { super(STRUCTURE_IDENTIFIER_PRELUDE); 15 } 11 public static final String STRUCTURE_IDENTIFIER_PRELUDE = "DS"; 12 13 public StructureIdentifierFactory() 14 { 15 super(STRUCTURE_IDENTIFIER_PRELUDE); 16 } 16 17 }
Note:
See TracChangeset
for help on using the changeset viewer.