Add generics to VClassGroupDao and sub-classes; organize import statments.

This commit is contained in:
jeb228 2010-10-20 13:54:36 +00:00
parent 1a9e53f7bf
commit e774f52471
3 changed files with 95 additions and 95 deletions

View file

@ -17,20 +17,20 @@ public interface VClassGroupDao {
* *
* @return * @return
*/ */
public abstract LinkedHashMap getClassGroupMap(); public abstract LinkedHashMap<String,VClassGroup> getClassGroupMap();
/** /**
* Return a list of VClassGroups with their associated VClasses * Return a list of VClassGroups with their associated VClasses
* @return List * @return List
*/ */
public abstract List getPublicGroupsWithVClasses(); public abstract List<VClassGroup> getPublicGroupsWithVClasses();
/** /**
* Return a list of VClassGroups with their associated VClasses * Return a list of VClassGroups with their associated VClasses
* @param displayOrder * @param displayOrder
* @return List * @return List
*/ */
public abstract List getPublicGroupsWithVClasses(boolean displayOrder); public abstract List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder);
/** /**
* Return a list of VClassGroups with their associated VClasses * Return a list of VClassGroups with their associated VClasses
@ -38,7 +38,7 @@ public interface VClassGroupDao {
* @param includeUninstantiatedClasses * @param includeUninstantiatedClasses
* @return List * @return List
*/ */
public abstract List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses); public abstract List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses);
/** /**
* Return a list of VClassGroups with their associated VClasses * Return a list of VClassGroups with their associated VClasses
@ -47,12 +47,12 @@ public interface VClassGroupDao {
* @param getIndividualCount * @param getIndividualCount
* @return List * @return List
*/ */
public abstract List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses, boolean getIndividualCount); public abstract List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses, boolean getIndividualCount);
public abstract void sortGroupList(List groupList); public abstract void sortGroupList(List<VClassGroup> groupList);
public abstract int removeUnpopulatedGroups(List /* of VClassGroup*/groups); public abstract int removeUnpopulatedGroups(List<VClassGroup> groups);
int insertNewVClassGroup(VClassGroup vcg); int insertNewVClassGroup(VClassGroup vcg);

View file

@ -2,13 +2,16 @@
package edu.cornell.mannlib.vitro.webapp.dao.filtering; package edu.cornell.mannlib.vitro.webapp.dao.filtering;
import edu.cornell.mannlib.vitro.webapp.beans.*; import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.ListIterator;
import java.util.Set;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.VitroFilters; import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.VitroFilters;
import net.sf.jga.fn.UnaryFunctor;
import java.util.*;
public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGroupDao { public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGroupDao {
@ -31,9 +34,9 @@ public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGrou
} }
public LinkedHashMap getClassGroupMap() { public LinkedHashMap<String, VClassGroup> getClassGroupMap() {
LinkedHashMap lhm = innerDao.getClassGroupMap(); LinkedHashMap<String, VClassGroup> lhm = innerDao.getClassGroupMap();
Set keys = lhm.keySet(); Set<String> keys = lhm.keySet();
for( Object key : keys){ for( Object key : keys){
VClassGroup vcg = (VClassGroup)lhm.get(key); VClassGroup vcg = (VClassGroup)lhm.get(key);
if( vcg == null || !filters.getVClassGroupFilter().fn(vcg) ){ if( vcg == null || !filters.getVClassGroupFilter().fn(vcg) ){
@ -51,22 +54,22 @@ public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGrou
return null; return null;
} }
public List getPublicGroupsWithVClasses() { public List<VClassGroup> getPublicGroupsWithVClasses() {
return this.getPublicGroupsWithVClasses(false); return this.getPublicGroupsWithVClasses(false);
} }
public List getPublicGroupsWithVClasses(boolean displayOrder) { public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder) {
return this.getPublicGroupsWithVClasses(displayOrder,true); return this.getPublicGroupsWithVClasses(displayOrder,true);
} }
public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses) { public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses) {
return this.getPublicGroupsWithVClasses(displayOrder,includeUninstantiatedClasses,false); return this.getPublicGroupsWithVClasses(displayOrder,includeUninstantiatedClasses,false);
} }
/** filter both vclassgroups and their vclasses */ /** filter both vclassgroups and their vclasses */
public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses, public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses,
boolean getIndividualCount) { boolean getIndividualCount) {
LinkedHashMap groupMap = this.getClassGroupMap(); LinkedHashMap<String, VClassGroup> groupMap = this.getClassGroupMap();
List<VClassGroup> groups = new ArrayList(groupMap.values()); List<VClassGroup> groups = new ArrayList<VClassGroup>(groupMap.values());
VClassDao vclassDao = filteredDaos.getVClassDao(); VClassDao vclassDao = filteredDaos.getVClassDao();
for( VClassGroup vg : groups){ for( VClassGroup vg : groups){
@ -88,12 +91,12 @@ public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGrou
} }
public int removeUnpopulatedGroups(List groups) { public int removeUnpopulatedGroups(List<VClassGroup> groups) {
return innerDao.removeUnpopulatedGroups(groups); return innerDao.removeUnpopulatedGroups(groups);
} }
public void sortGroupList(List groupList) { public void sortGroupList(List<VClassGroup> groupList) {
innerDao.sortGroupList(groupList); innerDao.sortGroupList(groupList);
} }

View file

@ -5,7 +5,6 @@ package edu.cornell.mannlib.vitro.webapp.dao.jena;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
@ -22,12 +21,12 @@ import com.hp.hpl.jena.shared.Lock;
import com.hp.hpl.jena.util.iterator.ClosableIterator; import com.hp.hpl.jena.util.iterator.ClosableIterator;
import edu.cornell.mannlib.vitro.webapp.beans.IndividualImpl; import edu.cornell.mannlib.vitro.webapp.beans.IndividualImpl;
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup; import edu.cornell.mannlib.vitro.webapp.beans.VClassGroup;
import edu.cornell.mannlib.vitro.webapp.dao.InsertException; import edu.cornell.mannlib.vitro.webapp.dao.InsertException;
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao; import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao { public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao {
@ -58,12 +57,12 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao {
} }
} }
public LinkedHashMap getClassGroupMap() { public LinkedHashMap<String, VClassGroup> getClassGroupMap() {
getOntModel().enterCriticalSection(Lock.READ); getOntModel().enterCriticalSection(Lock.READ);
try { try {
LinkedHashMap map = new LinkedHashMap(); LinkedHashMap<String, VClassGroup> map = new LinkedHashMap<String, VClassGroup>();
List groups = new ArrayList(); List<VClassGroup> groups = new ArrayList<VClassGroup>();
ClosableIterator groupIt = getOntModel().listIndividuals(CLASSGROUP); ClosableIterator<Individual> groupIt = getOntModel().listIndividuals(CLASSGROUP);
try { try {
while (groupIt.hasNext()) { while (groupIt.hasNext()) {
Individual groupInd = (Individual) groupIt.next(); Individual groupInd = (Individual) groupIt.next();
@ -76,7 +75,7 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao {
groupIt.close(); groupIt.close();
} }
Collections.sort(groups); Collections.sort(groups);
Iterator groupsIt = groups.iterator(); Iterator<VClassGroup> groupsIt = groups.iterator();
while (groupsIt.hasNext()) { while (groupsIt.hasNext()) {
VClassGroup group = (VClassGroup) groupsIt.next(); VClassGroup group = (VClassGroup) groupsIt.next();
map.put(group.getPublicName(), group); map.put(group.getPublicName(), group);
@ -103,25 +102,25 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao {
} }
public List getPublicGroupsWithVClasses() { public List<VClassGroup> getPublicGroupsWithVClasses() {
return getPublicGroupsWithVClasses(false); return getPublicGroupsWithVClasses(false);
} }
public List getPublicGroupsWithVClasses(boolean displayOrder) { public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder) {
return getPublicGroupsWithVClasses(displayOrder, true); return getPublicGroupsWithVClasses(displayOrder, true);
} }
public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses) { public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses) {
return getPublicGroupsWithVClasses(displayOrder, includeUninstantiatedClasses, false); return getPublicGroupsWithVClasses(displayOrder, includeUninstantiatedClasses, false);
} }
public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses, public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses,
boolean getIndividualCount) { boolean getIndividualCount) {
VClassDao classDao = getWebappDaoFactory().getVClassDao(); VClassDao classDao = getWebappDaoFactory().getVClassDao();
getOntModel().enterCriticalSection(Lock.READ); getOntModel().enterCriticalSection(Lock.READ);
try { try {
List groups = new ArrayList(); List<VClassGroup> groups = new ArrayList<VClassGroup>();
ClosableIterator groupIt = getOntModel().listIndividuals(CLASSGROUP); ClosableIterator<Individual> groupIt = getOntModel().listIndividuals(CLASSGROUP);
try { try {
while (groupIt.hasNext()) { while (groupIt.hasNext()) {
Individual grp = (Individual) groupIt.next(); Individual grp = (Individual) groupIt.next();
@ -230,14 +229,14 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao {
} }
public int removeUnpopulatedGroups(List groups) { public int removeUnpopulatedGroups(List<VClassGroup> groups) {
if (groups==null || groups.size()==0) if (groups==null || groups.size()==0)
return 0; return 0;
int removedGroupsCount = 0; int removedGroupsCount = 0;
ListIterator it = groups.listIterator(); ListIterator<VClassGroup> it = groups.listIterator();
while(it.hasNext()){ while(it.hasNext()){
VClassGroup group = (VClassGroup) it.next(); VClassGroup group = (VClassGroup) it.next();
List classes = group.getVitroClassList(); List<VClass> classes = group.getVitroClassList();
if( classes == null || classes.size() < 1 ){ if( classes == null || classes.size() < 1 ){
removedGroupsCount++; removedGroupsCount++;
it.remove(); it.remove();
@ -246,11 +245,9 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao {
return removedGroupsCount; return removedGroupsCount;
} }
public void sortGroupList(List groupList) { public void sortGroupList(List<VClassGroup> groupList) {
Collections.sort(groupList, new Comparator() { Collections.sort(groupList, new Comparator<VClassGroup>() {
public int compare(Object obj1, Object obj2) { public int compare(VClassGroup first, VClassGroup second) {
VClassGroup first = (VClassGroup) obj1;
VClassGroup second = (VClassGroup) obj2;
if (first!=null) { if (first!=null) {
if (second!=null) { if (second!=null) {
return (first.getDisplayRank()-second.getDisplayRank()); return (first.getDisplayRank()-second.getDisplayRank());