From 1a9e53f7bf0af3f0b3924ad2b9436ddb5aa32dfa Mon Sep 17 00:00:00 2001 From: jeb228 Date: Tue, 19 Oct 2010 20:24:32 +0000 Subject: [PATCH] Add generics to LinksDao and sub-classes; organize import statments. --- .../mannlib/vitro/webapp/dao/LinksDao.java | 57 ++++++++++--------- .../vitro/webapp/dao/jena/LinksDaoJena.java | 46 +++++++-------- 2 files changed, 50 insertions(+), 53 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/LinksDao.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/LinksDao.java index a32f49400..602953e11 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/LinksDao.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/LinksDao.java @@ -1,31 +1,32 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ -package edu.cornell.mannlib.vitro.webapp.dao; - -import edu.cornell.mannlib.vitro.webapp.beans.Individual; -import edu.cornell.mannlib.vitro.webapp.beans.Link; - -import java.util.List; - -public interface LinksDao { - - public abstract Link getLinkByURI(String URI); - - /** - * inserts a new Link - * @param link - * @return URI of inserted link; otherwise null - */ - public abstract String insertNewLink(Link link); - - public abstract void updateLink(Link link); - - public abstract void deleteLink(Link link); - - public abstract void addLinksToIndividual(Individual entity); - - public abstract void addPrimaryLinkToIndividual(Individual entity); - - public abstract void addLinksToIndividualsInObjectPropertyStatement(List /* of ObjectPropertyStatement*/objPropertyStmts); - +package edu.cornell.mannlib.vitro.webapp.dao; + +import java.util.List; + +import edu.cornell.mannlib.vitro.webapp.beans.Individual; +import edu.cornell.mannlib.vitro.webapp.beans.Link; +import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement; + +public interface LinksDao { + + public abstract Link getLinkByURI(String URI); + + /** + * inserts a new Link + * @param link + * @return URI of inserted link; otherwise null + */ + public abstract String insertNewLink(Link link); + + public abstract void updateLink(Link link); + + public abstract void deleteLink(Link link); + + public abstract void addLinksToIndividual(Individual entity); + + public abstract void addPrimaryLinkToIndividual(Individual entity); + + public abstract void addLinksToIndividualsInObjectPropertyStatement(List objPropertyStmts); + } \ No newline at end of file diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LinksDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LinksDaoJena.java index ded16da40..4507cd917 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LinksDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/LinksDaoJena.java @@ -9,7 +9,6 @@ import java.text.Collator; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -18,9 +17,7 @@ import org.apache.commons.logging.LogFactory; import com.hp.hpl.jena.datatypes.xsd.XSDDatatype; import com.hp.hpl.jena.ontology.OntModel; -import com.hp.hpl.jena.ontology.ObjectProperty; import com.hp.hpl.jena.rdf.model.Literal; -import com.hp.hpl.jena.rdf.model.Property; import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.shared.Lock; @@ -32,7 +29,6 @@ import edu.cornell.mannlib.vitro.webapp.beans.Link; import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatementImpl; import edu.cornell.mannlib.vitro.webapp.dao.LinksDao; -import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; public class LinksDaoJena extends JenaBaseDao implements LinksDao { @@ -48,16 +44,16 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { } public void addLinksToIndividual(Individual individual) { - List linksList = new ArrayList(); + List linksList = new ArrayList(); getOntModel().enterCriticalSection(Lock.READ); try { com.hp.hpl.jena.ontology.Individual entInd = getOntModel().getIndividual(individual.getURI()); if (ADDITIONAL_LINK != null) { - ClosableIterator links = getOntModel().listStatements(entInd,ADDITIONAL_LINK,(Resource)null); + ClosableIterator links = getOntModel().listStatements(entInd,ADDITIONAL_LINK,(Resource)null); try { while (links.hasNext()) { try { - Resource linkRes = (Resource) ((Statement) links.next()).getObject(); + Resource linkRes = (Resource) links.next().getObject(); linksList.add(linkFromLinkResource(linkRes, ADDITIONAL_LINK)); } catch (ClassCastException cce) {/*no thanks; we don't want any*/} } @@ -91,16 +87,16 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { } public void addPrimaryLinkToIndividual(Individual individual) { - List linksList = new ArrayList(); + List linksList = new ArrayList(); getOntModel().enterCriticalSection(Lock.READ); try { com.hp.hpl.jena.ontology.Individual entInd = getOntModel().getIndividual(individual.getURI()); if (PRIMARY_LINK != null) { - ClosableIterator links = getOntModel().listStatements(entInd,PRIMARY_LINK,(Resource)null); + ClosableIterator links = getOntModel().listStatements(entInd,PRIMARY_LINK,(Resource)null); try { while (links.hasNext()) { try { - Resource linkRes = (Resource) ((Statement) links.next()).getObject(); + Resource linkRes = (Resource) links.next().getObject(); linksList.add(linkFromLinkResource(linkRes,PRIMARY_LINK)); } catch (ClassCastException cce) {/*no thanks; we don't want any*/} } @@ -128,9 +124,9 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { } if (linksList.size()>0) { - Iterator iter = linksList.iterator(); + Iterator iter = linksList.iterator(); if (iter.hasNext()) { // take the first only - individual.setPrimaryLink((Link)iter.next()); + individual.setPrimaryLink(iter.next()); } } } @@ -140,11 +136,11 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { } - public void addLinksToIndividualsInObjectPropertyStatement(List objectPropertyStatements) { + public void addLinksToIndividualsInObjectPropertyStatement(List objectPropertyStatements) { if (objectPropertyStatements != null) { - Iterator objectPropertyStatementsIt = objectPropertyStatements.iterator(); + Iterator objectPropertyStatementsIt = objectPropertyStatements.iterator(); while (objectPropertyStatementsIt.hasNext()) { - ObjectPropertyStatement ops = (ObjectPropertyStatement) objectPropertyStatementsIt.next(); + ObjectPropertyStatement ops = objectPropertyStatementsIt.next(); if (ops.getSubject() != null && ops.getSubject() instanceof Individual) addLinksToIndividual((Individual)ops.getSubject()); if (ops.getObject() != null && ops.getObject() instanceof Individual) @@ -271,10 +267,10 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { private Link linkFromLinkResource(Resource linkRes, com.hp.hpl.jena.ontology.ObjectProperty whichLinkProp) { Link link = new Link(); link.setURI(linkRes.getURI()); - ClosableIterator typesIt = linkRes.listProperties(RDF.type); + ClosableIterator typesIt = linkRes.listProperties(RDF.type); try { while (typesIt.hasNext()) { - Statement st = (Statement) typesIt.next(); + Statement st = typesIt.next(); try { Resource typeRes = (Resource) st.getObject(); if (!typeRes.getURI().equalsIgnoreCase(LINK.getURI())) { // TODO: remove IgnoreCase ; there because some serializations use "link" instead of "Link" @@ -287,10 +283,10 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { } if (LINK_ANCHOR != null) { try { - ClosableIterator anchorStatements = getOntModel().listStatements(linkRes, LINK_ANCHOR, (Literal)null); + ClosableIterator anchorStatements = getOntModel().listStatements(linkRes, LINK_ANCHOR, (Literal)null); try { if (anchorStatements.hasNext()) { - Literal l = (Literal) ((Statement)anchorStatements.next()).getObject(); + Literal l = (Literal) anchorStatements.next().getObject(); if (l != null) { link.setAnchor(l.getString()); } @@ -302,10 +298,10 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { } if (LINK_URL != null) { try { - ClosableIterator UrlStatements = getOntModel().listStatements(linkRes, LINK_URL, (Literal)null); + ClosableIterator UrlStatements = getOntModel().listStatements(linkRes, LINK_URL, (Literal)null); try { if (UrlStatements.hasNext()) { - Literal l = (Literal) ((Statement)UrlStatements.next()).getObject(); + Literal l = (Literal) UrlStatements.next().getObject(); if (l != null) { if( (l.getDatatype() != null) && XSDDatatype.XSDanyURI.equals(l.getDatatype()) ) { try { @@ -324,10 +320,10 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { } if (LINK_DISPLAYRANK != null) { try { - ClosableIterator rankStatements = getOntModel().listStatements(linkRes, LINK_DISPLAYRANK, (Literal)null); + ClosableIterator rankStatements = getOntModel().listStatements(linkRes, LINK_DISPLAYRANK, (Literal)null); try { if (rankStatements.hasNext()) { - Literal l = (Literal) ((Statement)rankStatements.next()).getObject(); + Literal l = (Literal) rankStatements.next().getObject(); if (l != null) { if (l.getDatatype()==XSDDatatype.XSDinteger) { link.setDisplayRank(String.valueOf(l.getInt())); @@ -345,10 +341,10 @@ public class LinksDaoJena extends JenaBaseDao implements LinksDao { } catch (ClassCastException e) {} } - ClosableIterator stmtIt = getOntModel().listStatements(null, (com.hp.hpl.jena.rdf.model.Property)whichLinkProp, linkRes); // jena Property, not vitro Property + ClosableIterator stmtIt = getOntModel().listStatements(null, (com.hp.hpl.jena.rdf.model.Property)whichLinkProp, linkRes); // jena Property, not vitro Property try { if (stmtIt.hasNext()) { - Statement stmt = (Statement) stmtIt.next(); + Statement stmt = stmtIt.next(); Resource indRes = stmt.getSubject(); link.setEntityURI(indRes.getURI()); ObjectPropertyStatement op = new ObjectPropertyStatementImpl();