// Path: freya/freya-annotate/src/main/java/org/freya/model/ui/Annotation.java
// @XmlRootElement
// public class Annotation {
// 
//     String text;
//     Long startOffset;
//     Long endOffset;
//     Double score;
//     String uri;
//     String type;
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// 
//     public String getUri() {
//         return uri;
//     }
// 
//     public void setUri(String uri) {
//         this.uri = uri;
//     }
// 
//     public String getText() {
//         return text;
//     }
// 
//     public void setText(String text) {
//         this.text = text;
//     }
// 
//     public Long getStartOffset() {
//         return startOffset;
//     }
// 
//     public void setStartOffset(Long startOffset) {
//         this.startOffset = startOffset;
//     }
// 
//     public Long getEndOffset() {
//         return endOffset;
//     }
// 
//     public void setEndOffset(Long endOffset) {
//         this.endOffset = endOffset;
//     }
// 
//     public Double getScore() {
//         return score;
//     }
// 
//     public void setScore(Double score) {
//         this.score = score;
//     }
//     
//     @Override public String toString() {
//         StringBuilder result = new StringBuilder();
//         String NEW_LINE = System.getProperty("line.separator");
// 
//         result.append(" Annotation {" + NEW_LINE);
//         result.append(" text: " + text + NEW_LINE);
//         result.append(" start offset: " + startOffset + NEW_LINE);
//         result.append(" end offset: " + endOffset + NEW_LINE );
//         result.append(" URI: " + uri + NEW_LINE);
//         result.append(" score: " + score + NEW_LINE);
//         //Note that Collections and Maps also override toString
//         result.append(" type: " + type + NEW_LINE);
//         result.append("}");
// 
//         return result.toString();
//       }
// }
// 
// Path: freya/freya-annotate/src/main/java/org/freya/model/SemanticConcept.java
// @XmlRootElement
// public class SemanticConcept implements Serializable {
// 
//     OntologyElement ontologyElement;
//     String function;
//     Boolean verified = false;
//     Double score;
// 
//     public Double getScore() {
//         return score;
//     }
// 
//     public void setScore(Double score) {
//         this.score = score;
//     }
// 
//     public Boolean isVerified() {
//         return verified;
//     }
// 
//     public void setVerified(Boolean verified) {
//         this.verified = verified;
//     }
// 
//     public OntologyElement getOntologyElement() {
//         return ontologyElement;
//     }
// 
//     public void setOntologyElement(OntologyElement ontologyElement) {
//         this.ontologyElement = ontologyElement;
//     }
// 
//     public String getFunction() {
//         return function;
//     }
// 
//     public void setFunction(String function) {
//         this.function = function;
//     }
// 
//     public String toString() {
//         StringBuffer b = new StringBuffer("");
//         b.append("Ontology Elements:\n");
//         if (ontologyElement != null) b.append(ontologyElement.toString());
//         b.append(" Verified:").append(verified).append("\n");
//         b.append(" Function:").append(function).append("\n");
//         if (ontologyElement != null)
//             b.append("Is ontology element already added:"
//                             + ontologyElement.isAlreadyAdded() + "\n");
//         return b.toString();
//     }
// 
//     public Object clone() {
//         Object deepCopy = null;
//         ByteArrayOutputStream byteArrOs = new ByteArrayOutputStream();
//         ObjectOutputStream objOs;
//         try {
//             objOs = new ObjectOutputStream(byteArrOs);
//             objOs.writeObject(this);
//             ByteArrayInputStream byteArrIs =
//                             new ByteArrayInputStream(byteArrOs.toByteArray());
//             ObjectInputStream objIs = new ObjectInputStream(byteArrIs);
//             deepCopy = objIs.readObject();
//             return deepCopy;
//         } catch (IOException e) {
//             // TODO Auto-generated catch block
//             e.printStackTrace();
//         } catch (ClassNotFoundException e) {
//             // TODO Auto-generated catch block
//             e.printStackTrace();
//         }
//         return deepCopy;
//     }
// 
//     public boolean equals(Object theOtherConcept) {
//         boolean isEqual = false;
//         String function1 = this.getFunction();
//         String function2 = ((SemanticConcept) theOtherConcept).getFunction();
//         OntologyElement element1 = this.getOntologyElement();
//         OntologyElement element2 =
//                         ((SemanticConcept) theOtherConcept).getOntologyElement();
//         boolean functionEquals = false;
//         if (function1 != null && function2 != null)
//             functionEquals = function1.equals(function2);
//         else if (function1 == null && function2 == null) functionEquals = true;
//         boolean verifiedEquals = false;
//         if (this.isVerified().booleanValue() == ((SemanticConcept) theOtherConcept)
//                         .isVerified().booleanValue()) verifiedEquals = true;
//         if (functionEquals && element1.equals(element2))
//             isEqual = true;
//         // System.out
//         // .print("************************************************************calling equals method..result is:"
//         // + isEqual);
//         return isEqual;
//     }
// }


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.xml.bind.annotation.XmlRootElement;
import org.freya.model.ui.Annotation;
import org.freya.model.SemanticConcept;
package org.freya.model.service;




@XmlRootElement
public class FreyaResponse {
    
    String repositoryId;
    String repositoryUrl;
    String sparqlQuery;
    String preciseSparql;
    Object textResponse;
    ArrayList clarifications;
    List<List<HashMap>> table;
    List<Object> refinementNodes;
    List<List<SemanticConcept>> semanticConcepts;
    ArrayList<Object> graph;
// Path: freya/freya-annotate/src/main/java/org/freya/model/ui/Annotation.java
// @XmlRootElement
// public class Annotation {
// 
//     String text;
//     Long startOffset;
//     Long endOffset;
//     Double score;
//     String uri;
//     String type;
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// 
//     public String getUri() {
//         return uri;
//     }
// 
//     public void setUri(String uri) {
//         this.uri = uri;
//     }
// 
//     public String getText() {
//         return text;
//     }
// 
//     public void setText(String text) {
//         this.text = text;
//     }
// 
//     public Long getStartOffset() {
//         return startOffset;
//     }
// 
//     public void setStartOffset(Long startOffset) {
//         this.startOffset = startOffset;
//     }
// 
//     public Long getEndOffset() {
//         return endOffset;
//     }
// 
//     public void setEndOffset(Long endOffset) {
//         this.endOffset = endOffset;
//     }
// 
//     public Double getScore() {
//         return score;
//     }
// 
//     public void setScore(Double score) {
//         this.score = score;
//     }
//     
//     @Override public String toString() {
//         StringBuilder result = new StringBuilder();
//         String NEW_LINE = System.getProperty("line.separator");
// 
//         result.append(" Annotation {" + NEW_LINE);
//         result.append(" text: " + text + NEW_LINE);
//         result.append(" start offset: " + startOffset + NEW_LINE);
//         result.append(" end offset: " + endOffset + NEW_LINE );
//         result.append(" URI: " + uri + NEW_LINE);
//         result.append(" score: " + score + NEW_LINE);
//         //Note that Collections and Maps also override toString
//         result.append(" type: " + type + NEW_LINE);
//         result.append("}");
// 
//         return result.toString();
//       }
// }
// 
// Path: freya/freya-annotate/src/main/java/org/freya/model/SemanticConcept.java
// @XmlRootElement
// public class SemanticConcept implements Serializable {
// 
//     OntologyElement ontologyElement;
//     String function;
//     Boolean verified = false;
//     Double score;
// 
//     public Double getScore() {
//         return score;
//     }
// 
//     public void setScore(Double score) {
//         this.score = score;
//     }
// 
//     public Boolean isVerified() {
//         return verified;
//     }
// 
//     public void setVerified(Boolean verified) {
//         this.verified = verified;
//     }
// 
//     public OntologyElement getOntologyElement() {
//         return ontologyElement;
//     }
// 
//     public void setOntologyElement(OntologyElement ontologyElement) {
//         this.ontologyElement = ontologyElement;
//     }
// 
//     public String getFunction() {
//         return function;
//     }
// 
//     public void setFunction(String function) {
//         this.function = function;
//     }
// 
//     public String toString() {
//         StringBuffer b = new StringBuffer("");
//         b.append("Ontology Elements:\n");
//         if (ontologyElement != null) b.append(ontologyElement.toString());
//         b.append(" Verified:").append(verified).append("\n");
//         b.append(" Function:").append(function).append("\n");
//         if (ontologyElement != null)
//             b.append("Is ontology element already added:"
//                             + ontologyElement.isAlreadyAdded() + "\n");
//         return b.toString();
//     }
// 
//     public Object clone() {
//         Object deepCopy = null;
//         ByteArrayOutputStream byteArrOs = new ByteArrayOutputStream();
//         ObjectOutputStream objOs;
//         try {
//             objOs = new ObjectOutputStream(byteArrOs);
//             objOs.writeObject(this);
//             ByteArrayInputStream byteArrIs =
//                             new ByteArrayInputStream(byteArrOs.toByteArray());
//             ObjectInputStream objIs = new ObjectInputStream(byteArrIs);
//             deepCopy = objIs.readObject();
//             return deepCopy;
//         } catch (IOException e) {
//             // TODO Auto-generated catch block
//             e.printStackTrace();
//         } catch (ClassNotFoundException e) {
//             // TODO Auto-generated catch block
//             e.printStackTrace();
//         }
//         return deepCopy;
//     }
// 
//     public boolean equals(Object theOtherConcept) {
//         boolean isEqual = false;
//         String function1 = this.getFunction();
//         String function2 = ((SemanticConcept) theOtherConcept).getFunction();
//         OntologyElement element1 = this.getOntologyElement();
//         OntologyElement element2 =
//                         ((SemanticConcept) theOtherConcept).getOntologyElement();
//         boolean functionEquals = false;
//         if (function1 != null && function2 != null)
//             functionEquals = function1.equals(function2);
//         else if (function1 == null && function2 == null) functionEquals = true;
//         boolean verifiedEquals = false;
//         if (this.isVerified().booleanValue() == ((SemanticConcept) theOtherConcept)
//                         .isVerified().booleanValue()) verifiedEquals = true;
//         if (functionEquals && element1.equals(element2))
//             isEqual = true;
//         // System.out
//         // .print("************************************************************calling equals method..result is:"
//         // + isEqual);
//         return isEqual;
//     }
// }


// Path: freya/freya-annotate/src/main/java/org/freya/model/service/FreyaResponse.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.xml.bind.annotation.XmlRootElement;
import org.freya.model.ui.Annotation;
import org.freya.model.SemanticConcept;

package org.freya.model.service;




@XmlRootElement
public class FreyaResponse {
    
    String repositoryId;
    String repositoryUrl;
    String sparqlQuery;
    String preciseSparql;
    Object textResponse;
    ArrayList clarifications;
    List<List<HashMap>> table;
    List<Object> refinementNodes;
    List<List<SemanticConcept>> semanticConcepts;
    ArrayList<Object> graph;
    List<Annotation> annotations = new ArrayList<Annotation>();