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
*/
public abstract LinkedHashMap getClassGroupMap();
public abstract LinkedHashMap<String,VClassGroup> getClassGroupMap();
/**
* Return a list of VClassGroups with their associated VClasses
* @return List
*/
public abstract List getPublicGroupsWithVClasses();
public abstract List<VClassGroup> getPublicGroupsWithVClasses();
/**
* Return a list of VClassGroups with their associated VClasses
* @param displayOrder
* @return List
*/
public abstract List getPublicGroupsWithVClasses(boolean displayOrder);
public abstract List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder);
/**
* Return a list of VClassGroups with their associated VClasses
@ -38,7 +38,7 @@ public interface VClassGroupDao {
* @param includeUninstantiatedClasses
* @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
@ -47,12 +47,12 @@ public interface VClassGroupDao {
* @param getIndividualCount
* @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);

View file

@ -2,13 +2,16 @@
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.VClassGroupDao;
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 {
@ -31,9 +34,9 @@ public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGrou
}
public LinkedHashMap getClassGroupMap() {
LinkedHashMap lhm = innerDao.getClassGroupMap();
Set keys = lhm.keySet();
public LinkedHashMap<String, VClassGroup> getClassGroupMap() {
LinkedHashMap<String, VClassGroup> lhm = innerDao.getClassGroupMap();
Set<String> keys = lhm.keySet();
for( Object key : keys){
VClassGroup vcg = (VClassGroup)lhm.get(key);
if( vcg == null || !filters.getVClassGroupFilter().fn(vcg) ){
@ -51,22 +54,22 @@ public class VClassGroupDaoFiltering extends BaseFiltering implements VClassGrou
return null;
}
public List getPublicGroupsWithVClasses() {
public List<VClassGroup> getPublicGroupsWithVClasses() {
return this.getPublicGroupsWithVClasses(false);
}
public List getPublicGroupsWithVClasses(boolean displayOrder) {
public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder) {
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);
}
/** filter both vclassgroups and their vclasses */
public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses,
public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses,
boolean getIndividualCount) {
LinkedHashMap groupMap = this.getClassGroupMap();
List<VClassGroup> groups = new ArrayList(groupMap.values());
LinkedHashMap<String, VClassGroup> groupMap = this.getClassGroupMap();
List<VClassGroup> groups = new ArrayList<VClassGroup>(groupMap.values());
VClassDao vclassDao = filteredDaos.getVClassDao();
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);
}
public void sortGroupList(List groupList) {
public void sortGroupList(List<VClassGroup> 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.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
@ -22,12 +21,12 @@ import com.hp.hpl.jena.shared.Lock;
import com.hp.hpl.jena.util.iterator.ClosableIterator;
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.dao.InsertException;
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
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);
try {
LinkedHashMap map = new LinkedHashMap();
List groups = new ArrayList();
ClosableIterator groupIt = getOntModel().listIndividuals(CLASSGROUP);
LinkedHashMap<String, VClassGroup> map = new LinkedHashMap<String, VClassGroup>();
List<VClassGroup> groups = new ArrayList<VClassGroup>();
ClosableIterator<Individual> groupIt = getOntModel().listIndividuals(CLASSGROUP);
try {
while (groupIt.hasNext()) {
Individual groupInd = (Individual) groupIt.next();
@ -76,7 +75,7 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao {
groupIt.close();
}
Collections.sort(groups);
Iterator groupsIt = groups.iterator();
Iterator<VClassGroup> groupsIt = groups.iterator();
while (groupsIt.hasNext()) {
VClassGroup group = (VClassGroup) groupsIt.next();
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);
}
public List getPublicGroupsWithVClasses(boolean displayOrder) {
public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder) {
return getPublicGroupsWithVClasses(displayOrder, true);
}
public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses) {
public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses) {
return getPublicGroupsWithVClasses(displayOrder, includeUninstantiatedClasses, false);
}
public List getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses,
public List<VClassGroup> getPublicGroupsWithVClasses(boolean displayOrder, boolean includeUninstantiatedClasses,
boolean getIndividualCount) {
VClassDao classDao = getWebappDaoFactory().getVClassDao();
getOntModel().enterCriticalSection(Lock.READ);
try {
List groups = new ArrayList();
ClosableIterator groupIt = getOntModel().listIndividuals(CLASSGROUP);
List<VClassGroup> groups = new ArrayList<VClassGroup>();
ClosableIterator<Individual> groupIt = getOntModel().listIndividuals(CLASSGROUP);
try {
while (groupIt.hasNext()) {
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)
return 0;
int removedGroupsCount = 0;
ListIterator it = groups.listIterator();
ListIterator<VClassGroup> it = groups.listIterator();
while(it.hasNext()){
VClassGroup group = (VClassGroup) it.next();
List classes = group.getVitroClassList();
List<VClass> classes = group.getVitroClassList();
if( classes == null || classes.size() < 1 ){
removedGroupsCount++;
it.remove();
@ -246,11 +245,9 @@ public class VClassGroupDaoJena extends JenaBaseDao implements VClassGroupDao {
return removedGroupsCount;
}
public void sortGroupList(List groupList) {
Collections.sort(groupList, new Comparator() {
public int compare(Object obj1, Object obj2) {
VClassGroup first = (VClassGroup) obj1;
VClassGroup second = (VClassGroup) obj2;
public void sortGroupList(List<VClassGroup> groupList) {
Collections.sort(groupList, new Comparator<VClassGroup>() {
public int compare(VClassGroup first, VClassGroup second) {
if (first!=null) {
if (second!=null) {
return (first.getDisplayRank()-second.getDisplayRank());