// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/BasicRDFInformation.java
// public interface BasicRDFInformation extends Serializable {
// 	public String getText();
// 	public void seText(String text);
// 	public Boolean isResource();
// 	public Boolean isLiteral();
// }
// 
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/RDFLiteral.java
// public class RDFLiteral implements BasicRDFInformation{
// 	
// 	private URLSafety dataTypeURI;
// 	private String lexicalForm;
// 	private String fullName;
// 	private Boolean isLiteral;
// 	
// 	public RDFLiteral(){
// 		//for serialization
// 	}
// 	
// 	public RDFLiteral(String dataTypeURI, String lexicalForm, String fullName){
// 		this.setDataTypeURI(new URLSafety(dataTypeURI));
// 		this.setLexicalForm(lexicalForm);
// 		this.fullName = fullName;
// 	}
// 
// 	public URLSafety getDataTypeURI() {
// 		return dataTypeURI;
// 	}
// 
// 	public void setDataTypeURI(URLSafety dataTypeURI) {
// 		this.dataTypeURI = dataTypeURI;
// 	}
// 
// 	public String getLexicalForm() {
// 		return lexicalForm;
// 	}
// 
// 	public void setLexicalForm(String lexicalForm) {
// 		this.lexicalForm = lexicalForm;
// 	}
// 
// 	public Boolean getIsLiteral() {
// 		return isLiteral;
// 	}
// 
// 	public void setIsLiteral(Boolean isLiteral) {
// 		this.isLiteral = isLiteral;
// 	}
// 
// 	@Override
// 	public String getText() {
// 		return fullName;
// 	}
// 
// 	@Override
// 	public void seText(String text) {
// 		this.lexicalForm = text;
// 	}
// 
// 	@Override
// 	public Boolean isResource() {
// 		return false;
// 	}
// 
// 	@Override
// 	public Boolean isLiteral() {
// 		return true;
// 	}
// }
// 
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/RDFResource.java
// public class RDFResource implements BasicRDFInformation {
// 
// 	private String localName;
// 	private String namespace;
// 	private URLSafety URI;
// 	
// 	public RDFResource() {
// 		//for serliazation
// 	}
// 	
// 	public RDFResource(String LocalName, String namespace, String URI){
// 		this.setLocalName(LocalName);
// 		this.setNamespace(namespace);
// 		this.setURI(new URLSafety(URI));
// 	}
// 
// 	public String getLocalName() {
// 		return localName;
// 	}
// 
// 	public void setLocalName(String localName) {
// 		this.localName = localName;
// 	}
// 
// 	public String getNamespace() {
// 		return namespace;
// 	}
// 
// 	public void setNamespace(String namespace) {
// 		this.namespace = namespace;
// 	}
// 
// 	public URLSafety getURI() {
// 		return URI;
// 	}
// 
// 	public void setURI(URLSafety uRI) {
// 		URI = uRI;
// 	}
// 
// 	@Override
// 	public String getText() {
// 		return URI.getUrl();
// 	}
// 
// 	@Override
// 	public void seText(String text) {
// 		this.URI = new URLSafety(text);
// 	}
// 
// 	@Override
// 	public Boolean isResource() {
// 		return true;
// 	}
// 
// 	@Override
// 	public Boolean isLiteral() {
// 		return false;
// 	}
// }
// 
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/SubjectDescription.java
// public class SubjectDescription implements Serializable {
// 
// 	//private String predicate;
// 	//private String object;
// 	
// 	private BasicRDFInformation predicate;
// 	private BasicRDFInformation object;
// 	
// 	public SubjectDescription() {
// 		// for serialization
// 	}
// 
// 	public BasicRDFInformation getPredicate() {
// 		return predicate;
// 	}
// 
// 	public void setPredicate(BasicRDFInformation predicate) {
// 		this.predicate = predicate;
// 	}
// 
// 	public BasicRDFInformation getObject() {
// 		return object;
// 	}
// 
// 	public void setObject(BasicRDFInformation object) {
// 		this.object = object;
// 	}
// 
// }


import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.rdf.model.RDFNode;
import es.upm.fi.dia.oeg.map4rdf.share.BasicRDFInformation;
import es.upm.fi.dia.oeg.map4rdf.share.RDFLiteral;
import es.upm.fi.dia.oeg.map4rdf.share.RDFResource;
import es.upm.fi.dia.oeg.map4rdf.share.SubjectDescription;
package es.upm.fi.dia.oeg.map4rdf.server.util;



/**
 * @author Filip
 */
public class DescriptionsFactory {
	
	public static SubjectDescription getSubjectDescription(QuerySolution querySolution){
		SubjectDescription subjectDescription = new  SubjectDescription();
		if(querySolution.get("p").isLiteral()){
			subjectDescription.setPredicate(
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/BasicRDFInformation.java
// public interface BasicRDFInformation extends Serializable {
// 	public String getText();
// 	public void seText(String text);
// 	public Boolean isResource();
// 	public Boolean isLiteral();
// }
// 
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/RDFLiteral.java
// public class RDFLiteral implements BasicRDFInformation{
// 	
// 	private URLSafety dataTypeURI;
// 	private String lexicalForm;
// 	private String fullName;
// 	private Boolean isLiteral;
// 	
// 	public RDFLiteral(){
// 		//for serialization
// 	}
// 	
// 	public RDFLiteral(String dataTypeURI, String lexicalForm, String fullName){
// 		this.setDataTypeURI(new URLSafety(dataTypeURI));
// 		this.setLexicalForm(lexicalForm);
// 		this.fullName = fullName;
// 	}
// 
// 	public URLSafety getDataTypeURI() {
// 		return dataTypeURI;
// 	}
// 
// 	public void setDataTypeURI(URLSafety dataTypeURI) {
// 		this.dataTypeURI = dataTypeURI;
// 	}
// 
// 	public String getLexicalForm() {
// 		return lexicalForm;
// 	}
// 
// 	public void setLexicalForm(String lexicalForm) {
// 		this.lexicalForm = lexicalForm;
// 	}
// 
// 	public Boolean getIsLiteral() {
// 		return isLiteral;
// 	}
// 
// 	public void setIsLiteral(Boolean isLiteral) {
// 		this.isLiteral = isLiteral;
// 	}
// 
// 	@Override
// 	public String getText() {
// 		return fullName;
// 	}
// 
// 	@Override
// 	public void seText(String text) {
// 		this.lexicalForm = text;
// 	}
// 
// 	@Override
// 	public Boolean isResource() {
// 		return false;
// 	}
// 
// 	@Override
// 	public Boolean isLiteral() {
// 		return true;
// 	}
// }
// 
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/RDFResource.java
// public class RDFResource implements BasicRDFInformation {
// 
// 	private String localName;
// 	private String namespace;
// 	private URLSafety URI;
// 	
// 	public RDFResource() {
// 		//for serliazation
// 	}
// 	
// 	public RDFResource(String LocalName, String namespace, String URI){
// 		this.setLocalName(LocalName);
// 		this.setNamespace(namespace);
// 		this.setURI(new URLSafety(URI));
// 	}
// 
// 	public String getLocalName() {
// 		return localName;
// 	}
// 
// 	public void setLocalName(String localName) {
// 		this.localName = localName;
// 	}
// 
// 	public String getNamespace() {
// 		return namespace;
// 	}
// 
// 	public void setNamespace(String namespace) {
// 		this.namespace = namespace;
// 	}
// 
// 	public URLSafety getURI() {
// 		return URI;
// 	}
// 
// 	public void setURI(URLSafety uRI) {
// 		URI = uRI;
// 	}
// 
// 	@Override
// 	public String getText() {
// 		return URI.getUrl();
// 	}
// 
// 	@Override
// 	public void seText(String text) {
// 		this.URI = new URLSafety(text);
// 	}
// 
// 	@Override
// 	public Boolean isResource() {
// 		return true;
// 	}
// 
// 	@Override
// 	public Boolean isLiteral() {
// 		return false;
// 	}
// }
// 
// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/share/SubjectDescription.java
// public class SubjectDescription implements Serializable {
// 
// 	//private String predicate;
// 	//private String object;
// 	
// 	private BasicRDFInformation predicate;
// 	private BasicRDFInformation object;
// 	
// 	public SubjectDescription() {
// 		// for serialization
// 	}
// 
// 	public BasicRDFInformation getPredicate() {
// 		return predicate;
// 	}
// 
// 	public void setPredicate(BasicRDFInformation predicate) {
// 		this.predicate = predicate;
// 	}
// 
// 	public BasicRDFInformation getObject() {
// 		return object;
// 	}
// 
// 	public void setObject(BasicRDFInformation object) {
// 		this.object = object;
// 	}
// 
// }


// Path: src/main/java/es/upm/fi/dia/oeg/map4rdf/server/util/DescriptionsFactory.java
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.rdf.model.RDFNode;
import es.upm.fi.dia.oeg.map4rdf.share.BasicRDFInformation;
import es.upm.fi.dia.oeg.map4rdf.share.RDFLiteral;
import es.upm.fi.dia.oeg.map4rdf.share.RDFResource;
import es.upm.fi.dia.oeg.map4rdf.share.SubjectDescription;

package es.upm.fi.dia.oeg.map4rdf.server.util;



/**
 * @author Filip
 */
public class DescriptionsFactory {
	
	public static SubjectDescription getSubjectDescription(QuerySolution querySolution){
		SubjectDescription subjectDescription = new  SubjectDescription();
		if(querySolution.get("p").isLiteral()){
			subjectDescription.setPredicate(
					new RDFLiteral(querySolution.getLiteral("p").getDatatypeURI(),