// Path: src/fi/mamk/osa/bean/MetaDataElement.java
// public static enum MetaDataType {
//     string,     // String
//     date,       // Date
//     integer,    // Integer
//     link,       //
//     relation,   // Object relationships
//     select;     // Enum value
//         
//     public static MetaDataType getEnum(String s) {
//         if (string.name().equalsIgnoreCase(s))
//             return string;
//         else if (date.name().equalsIgnoreCase(s))
//             return date;
//         else if (integer.name().equalsIgnoreCase(s))
//             return integer;
//         else if (link.name().equalsIgnoreCase(s))
//             return link;
//         else if (relation.name().equalsIgnoreCase(s))
//             return relation;
//         else if (select.name().equalsIgnoreCase(s))
//             return select;
//         else if (s.startsWith("text") || s.startsWith("time"))
//             return string;
//         throw new IllegalArgumentException("No Enum specified for this string");
//     }
// }


import java.io.InputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import java.util.Map.Entry;
import org.apache.log4j.Logger;
import fi.mamk.osa.bean.MetaDataElement.MetaDataType;
    // Constructor
    public DataStream(LinkedHashMap<String, MetaDataElement> elements) {
        this.lhmElements = elements;
    }
    
    public ChecksumType getChecksumType() { return this.eChecksumType; }
    public void setChecksumType(ChecksumType value) { this.eChecksumType = value; }
    
    public ControlGroup getControlGroup() { return this.eControlGroup; }
    public void setControlGroup(ControlGroup value) { this.eControlGroup = value; }
    
    public String getCreateDate() { return this.createDate; }
    public void setCreateDate(String date) { this.createDate = date; }
    
    public String getDataStreamID() { return this.dsID; }
    public void setDataStreamID(String id) { this.dsID = id; }
    
    public LinkedHashMap<String, MetaDataElement> getMetaDataElements() { return this.lhmElements; }
    public void setMetaDataElements(LinkedHashMap<String, MetaDataElement> elements) { this.lhmElements = elements; }
    
    public void setMetaDataElement(MetaDataElement newElement) {
        if (lhmElements.containsKey(newElement.getName())) {
            MetaDataElement element = lhmElements.get(newElement.getName());
            element.getValues().add(newElement.getValue());
            lhmElements.put(newElement.getName(), element);
        } else {
            lhmElements.put(newElement.getName(), newElement);
        }
    }
    
// Path: src/fi/mamk/osa/bean/MetaDataElement.java
// public static enum MetaDataType {
//     string,     // String
//     date,       // Date
//     integer,    // Integer
//     link,       //
//     relation,   // Object relationships
//     select;     // Enum value
//         
//     public static MetaDataType getEnum(String s) {
//         if (string.name().equalsIgnoreCase(s))
//             return string;
//         else if (date.name().equalsIgnoreCase(s))
//             return date;
//         else if (integer.name().equalsIgnoreCase(s))
//             return integer;
//         else if (link.name().equalsIgnoreCase(s))
//             return link;
//         else if (relation.name().equalsIgnoreCase(s))
//             return relation;
//         else if (select.name().equalsIgnoreCase(s))
//             return select;
//         else if (s.startsWith("text") || s.startsWith("time"))
//             return string;
//         throw new IllegalArgumentException("No Enum specified for this string");
//     }
// }


// Path: src/fi/mamk/osa/bean/DataStream.java
import java.io.InputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import java.util.Map.Entry;
import org.apache.log4j.Logger;
import fi.mamk.osa.bean.MetaDataElement.MetaDataType;

    // Constructor
    public DataStream(LinkedHashMap<String, MetaDataElement> elements) {
        this.lhmElements = elements;
    }
    
    public ChecksumType getChecksumType() { return this.eChecksumType; }
    public void setChecksumType(ChecksumType value) { this.eChecksumType = value; }
    
    public ControlGroup getControlGroup() { return this.eControlGroup; }
    public void setControlGroup(ControlGroup value) { this.eControlGroup = value; }
    
    public String getCreateDate() { return this.createDate; }
    public void setCreateDate(String date) { this.createDate = date; }
    
    public String getDataStreamID() { return this.dsID; }
    public void setDataStreamID(String id) { this.dsID = id; }
    
    public LinkedHashMap<String, MetaDataElement> getMetaDataElements() { return this.lhmElements; }
    public void setMetaDataElements(LinkedHashMap<String, MetaDataElement> elements) { this.lhmElements = elements; }
    
    public void setMetaDataElement(MetaDataElement newElement) {
        if (lhmElements.containsKey(newElement.getName())) {
            MetaDataElement element = lhmElements.get(newElement.getName());
            element.getValues().add(newElement.getValue());
            lhmElements.put(newElement.getName(), element);
        } else {
            lhmElements.put(newElement.getName(), newElement);
        }
    }
    
    public void setMetaDataElement(String name, String visibleName, String value, MetaDataType eType) {