NIHVIVO-2254 Create some serious unit tests for HiddenFromDisplayBelowRoleLevelFilter, and fix the errors that they reveal.
This commit is contained in:
parent
cb31463bb3
commit
c5183dccf1
7 changed files with 1974 additions and 99 deletions
|
@ -142,18 +142,22 @@ public class HiddenFromDisplayBelowRoleLevelFilter extends VitroFiltersImpl {
|
|||
log.debug("checking hidden status for data property statement \"" + dPropStmt.getDatapropURI() + "\"");
|
||||
try {
|
||||
String propUri = dPropStmt.getDatapropURI();
|
||||
DataProperty prop = null;
|
||||
if( dataPropertyMap.containsKey(propUri) ){
|
||||
prop = dataPropertyMap.get(propUri);
|
||||
}else{
|
||||
prop = wdf.getDataPropertyDao().getDataPropertyByURI(propUri);
|
||||
dataPropertyMap.put(propUri, prop);
|
||||
}
|
||||
if( prop == null ) {
|
||||
if( ! canViewOddItems() ){ return false; }
|
||||
}else{
|
||||
if( sameLevelOrHigher( prop.getHiddenFromDisplayBelowRoleLevel() ) == false)
|
||||
return false;
|
||||
if (propUri == null) {
|
||||
if ( ! canViewOddItems() ){ return false; }
|
||||
} else {
|
||||
DataProperty prop = null;
|
||||
if( dataPropertyMap.containsKey(propUri) ){
|
||||
prop = dataPropertyMap.get(propUri);
|
||||
}else{
|
||||
prop = wdf.getDataPropertyDao().getDataPropertyByURI(propUri);
|
||||
dataPropertyMap.put(propUri, prop);
|
||||
}
|
||||
if( prop == null ) {
|
||||
if( ! canViewOddItems() ){ return false; }
|
||||
}else{
|
||||
if( sameLevelOrHigher( prop.getHiddenFromDisplayBelowRoleLevel() ) == false)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Individual subject = dPropStmt.getIndividual();
|
||||
|
@ -238,7 +242,7 @@ public class HiddenFromDisplayBelowRoleLevelFilter extends VitroFiltersImpl {
|
|||
return false;
|
||||
}
|
||||
} else {
|
||||
if (sameLevelOrHigher(subject
|
||||
if (sameLevelOrHigher(object
|
||||
.getHiddenFromDisplayBelowRoleLevel()) == false)
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,911 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.dao.filtering.filters;
|
||||
|
||||
import static edu.cornell.mannlib.vedit.beans.LoginStatusBean.CURATOR;
|
||||
import static edu.cornell.mannlib.vedit.beans.LoginStatusBean.DBA;
|
||||
import static edu.cornell.mannlib.vedit.beans.LoginStatusBean.EDITOR;
|
||||
import static edu.cornell.mannlib.vedit.beans.LoginStatusBean.NON_EDITOR;
|
||||
import static edu.cornell.mannlib.vedit.beans.LoginStatusBean.AuthenticationSource.INTERNAL;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
|
||||
import stubs.edu.cornell.mannlib.vitro.webapp.dao.DataPropertyDaoStub;
|
||||
import stubs.edu.cornell.mannlib.vitro.webapp.dao.IndividualDaoStub;
|
||||
import stubs.edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDaoStub;
|
||||
import stubs.edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactoryStub;
|
||||
import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
|
||||
import edu.cornell.mannlib.vitro.testing.AbstractTestClass;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatementImpl;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.IndividualImpl;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatementImpl;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||
|
||||
/**
|
||||
* This test class is written to make it easy to create dozens of tests with
|
||||
* minimal code duplication. That way we can test that Individual A can be
|
||||
* viewed by Curators and DBAs but not by Editors or Self-Editors, etc., etc.,
|
||||
* ad infinitum.
|
||||
*
|
||||
* The class is implemented as a Parameterized JUnit test class. The parameters
|
||||
* are TestData objects, and the class will invoke its single test for one.
|
||||
*
|
||||
* Actually, each parameter is an instance of a TestData sub-class, and the test
|
||||
* method will decide how to handle the data based on the type.
|
||||
*
|
||||
* This gets a little clearer if you start by looking at the section labeled
|
||||
* "the actual test class".
|
||||
*/
|
||||
@RunWith(value = Parameterized.class)
|
||||
public class HiddenFromDisplayBelowRoleLevelFilterTest extends
|
||||
AbstractTestClass {
|
||||
private static final Log log = LogFactory
|
||||
.getLog(HiddenFromDisplayBelowRoleLevelFilterTest.class);
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// the "framework"
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Each test is driven by an instance of this (actually, of a sub-class).
|
||||
*/
|
||||
private static abstract class TestData {
|
||||
LoginStatusBean loginStatus;
|
||||
|
||||
boolean expectedResult;
|
||||
|
||||
public String getUsername() {
|
||||
if (loginStatus == null) {
|
||||
return "nobody";
|
||||
} else {
|
||||
return loginStatus.getUsername();
|
||||
}
|
||||
}
|
||||
|
||||
public RoleLevel getRoleLevel() {
|
||||
return HiddenFromDisplayBelowRoleLevelFilterTest
|
||||
.getRoleLevel(loginStatus);
|
||||
}
|
||||
|
||||
/** A detailed description of the test in case something goes wrong. */
|
||||
public abstract String describeTest();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// data elements
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
private static final String NS = "http://someDomain/individual/";
|
||||
|
||||
private static final LoginStatusBean LOGIN_NONE = null;
|
||||
private static final LoginStatusBean LOGIN_SELF = new LoginStatusBean(NS
|
||||
+ "userSelf", "self_editor", NON_EDITOR, INTERNAL);
|
||||
private static final LoginStatusBean LOGIN_EDITOR = new LoginStatusBean(NS
|
||||
+ "userEditor", "editor", EDITOR, INTERNAL);
|
||||
private static final LoginStatusBean LOGIN_CURATOR = new LoginStatusBean(NS
|
||||
+ "userCurator", "curator", CURATOR, INTERNAL);
|
||||
private static final LoginStatusBean LOGIN_DBA = new LoginStatusBean(NS
|
||||
+ "userDba", "dba", DBA, INTERNAL);
|
||||
|
||||
private static final LoginStatusBean[] LOGINS = new LoginStatusBean[] {
|
||||
LOGIN_NONE, LOGIN_SELF, LOGIN_EDITOR, LOGIN_CURATOR, LOGIN_DBA };
|
||||
|
||||
private static final Individual PUBLIC_INDIVIDUAL = individual(
|
||||
"PUBLIC_individual", RoleLevel.PUBLIC);
|
||||
private static final Individual SELF_INDIVIDUAL = individual(
|
||||
"SELF_individual", RoleLevel.SELF);
|
||||
private static final Individual EDITOR_INDIVIDUAL = individual(
|
||||
"EDITOR_individual", RoleLevel.EDITOR);
|
||||
private static final Individual CURATOR_INDIVIDUAL = individual(
|
||||
"CURATOR_individual", RoleLevel.CURATOR);
|
||||
private static final Individual DBA_INDIVIDUAL = individual(
|
||||
"DBA_individual", RoleLevel.DB_ADMIN);
|
||||
private static final Individual HIDDEN_INDIVIDUAL = individual(
|
||||
"HIDDEN_individual", RoleLevel.NOBODY);
|
||||
|
||||
private static final Individual[] INDIVIDUALS = new Individual[] {
|
||||
PUBLIC_INDIVIDUAL, SELF_INDIVIDUAL, EDITOR_INDIVIDUAL,
|
||||
CURATOR_INDIVIDUAL, DBA_INDIVIDUAL, HIDDEN_INDIVIDUAL };
|
||||
|
||||
/** Create an Individual */
|
||||
private static Individual individual(String moniker,
|
||||
RoleLevel displayThreshhold) {
|
||||
Individual i = new IndividualImpl();
|
||||
i.setMoniker(moniker);
|
||||
i.setURI("uri:" + moniker);
|
||||
i.setHiddenFromDisplayBelowRoleLevel(displayThreshhold);
|
||||
return i;
|
||||
}
|
||||
|
||||
private static final VClass PUBLIC_VCLASS = vClass("PUBLIC_vclass",
|
||||
RoleLevel.PUBLIC);
|
||||
private static final VClass SELF_VCLASS = vClass("SELF_vclass",
|
||||
RoleLevel.SELF);
|
||||
private static final VClass EDITOR_VCLASS = vClass("EDITOR_vclass",
|
||||
RoleLevel.EDITOR);
|
||||
private static final VClass CURATOR_VCLASS = vClass("CURATOR_vclass",
|
||||
RoleLevel.CURATOR);
|
||||
private static final VClass DBA_VCLASS = vClass("DBA_vclass",
|
||||
RoleLevel.DB_ADMIN);
|
||||
private static final VClass HIDDEN_VCLASS = vClass("HIDDEN_vclass",
|
||||
RoleLevel.NOBODY);
|
||||
|
||||
/** Create a VClass */
|
||||
private static VClass vClass(String label, RoleLevel displayThreshhold) {
|
||||
VClass dp = new VClass();
|
||||
dp.setName(label);
|
||||
dp.setHiddenFromDisplayBelowRoleLevel(displayThreshhold);
|
||||
return dp;
|
||||
}
|
||||
|
||||
private static final DataProperty PUBLIC_DATA_PROPERTY = dataProperty(
|
||||
"PUBLIC_data_property", RoleLevel.PUBLIC);
|
||||
private static final DataProperty SELF_DATA_PROPERTY = dataProperty(
|
||||
"SELF_data_property", RoleLevel.SELF);
|
||||
private static final DataProperty EDITOR_DATA_PROPERTY = dataProperty(
|
||||
"EDITOR_data_property", RoleLevel.EDITOR);
|
||||
private static final DataProperty CURATOR_DATA_PROPERTY = dataProperty(
|
||||
"CURATOR_data_property", RoleLevel.CURATOR);
|
||||
private static final DataProperty DBA_DATA_PROPERTY = dataProperty(
|
||||
"DBA_data_property", RoleLevel.DB_ADMIN);
|
||||
private static final DataProperty HIDDEN_DATA_PROPERTY = dataProperty(
|
||||
"HIDDEN_data_property", RoleLevel.NOBODY);
|
||||
|
||||
private static final DataProperty[] DATA_PROPERTIES = new DataProperty[] {
|
||||
PUBLIC_DATA_PROPERTY, SELF_DATA_PROPERTY, EDITOR_DATA_PROPERTY,
|
||||
CURATOR_DATA_PROPERTY, DBA_DATA_PROPERTY, HIDDEN_DATA_PROPERTY };
|
||||
|
||||
/** Create a DataProperty */
|
||||
private static DataProperty dataProperty(String label,
|
||||
RoleLevel displayThreshhold) {
|
||||
DataProperty dp = new DataProperty();
|
||||
dp.setLabel(label);
|
||||
dp.setURI("uri:" + label);
|
||||
dp.setHiddenFromDisplayBelowRoleLevel(displayThreshhold);
|
||||
return dp;
|
||||
}
|
||||
|
||||
private static final ObjectProperty PUBLIC_OBJECT_PROPERTY = objectProperty(
|
||||
"PUBLIC_object_property", RoleLevel.PUBLIC);
|
||||
private static final ObjectProperty SELF_OBJECT_PROPERTY = objectProperty(
|
||||
"SELF_object_property", RoleLevel.SELF);
|
||||
private static final ObjectProperty EDITOR_OBJECT_PROPERTY = objectProperty(
|
||||
"EDITOR_object_property", RoleLevel.EDITOR);
|
||||
private static final ObjectProperty CURATOR_OBJECT_PROPERTY = objectProperty(
|
||||
"CURATOR_object_property", RoleLevel.CURATOR);
|
||||
private static final ObjectProperty DBA_OBJECT_PROPERTY = objectProperty(
|
||||
"DBA_object_property", RoleLevel.DB_ADMIN);
|
||||
private static final ObjectProperty HIDDEN_OBJECT_PROPERTY = objectProperty(
|
||||
"HIDDEN_object_property", RoleLevel.NOBODY);
|
||||
|
||||
private static final ObjectProperty[] OBJECT_PROPERTIES = new ObjectProperty[] {
|
||||
PUBLIC_OBJECT_PROPERTY, SELF_OBJECT_PROPERTY,
|
||||
EDITOR_OBJECT_PROPERTY, CURATOR_OBJECT_PROPERTY,
|
||||
DBA_OBJECT_PROPERTY, HIDDEN_OBJECT_PROPERTY };
|
||||
|
||||
/** Create a ObjectProperty */
|
||||
private static ObjectProperty objectProperty(String label,
|
||||
RoleLevel displayThreshhold) {
|
||||
ObjectProperty op = new ObjectProperty();
|
||||
op.setLabel(label);
|
||||
op.setURI("uri:" + label);
|
||||
op.setHiddenFromDisplayBelowRoleLevel(displayThreshhold);
|
||||
return op;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// the "tests"
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Parameters
|
||||
public static Collection<Object[]> testData() {
|
||||
List<Object[]> tests = new ArrayList<Object[]>();
|
||||
|
||||
/*
|
||||
* tests for Individual filter
|
||||
*/
|
||||
// TODO:
|
||||
// HiddenFromDisplayBelowRoleLevelFilter.FILTER_ON_INDIVIDUAL_VCLASSES
|
||||
// is set to false. If it were true, we would need more tests:
|
||||
//
|
||||
// get the list of direct VClasses
|
||||
// if the list is null (maybe filtered out by a previous filter)
|
||||
// - test the VClass from individual.getVClassUri using the Class filter
|
||||
// else
|
||||
// - test each VClass from the list using the Class filter
|
||||
|
||||
tests.add(testIndividual(PUBLIC_INDIVIDUAL, LOGIN_NONE, true));
|
||||
tests.add(testIndividual(PUBLIC_INDIVIDUAL, LOGIN_SELF, true));
|
||||
tests.add(testIndividual(PUBLIC_INDIVIDUAL, LOGIN_EDITOR, true));
|
||||
tests.add(testIndividual(PUBLIC_INDIVIDUAL, LOGIN_CURATOR, true));
|
||||
tests.add(testIndividual(PUBLIC_INDIVIDUAL, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testIndividual(SELF_INDIVIDUAL, LOGIN_NONE, false));
|
||||
tests.add(testIndividual(SELF_INDIVIDUAL, LOGIN_SELF, true));
|
||||
tests.add(testIndividual(SELF_INDIVIDUAL, LOGIN_EDITOR, true));
|
||||
tests.add(testIndividual(SELF_INDIVIDUAL, LOGIN_CURATOR, true));
|
||||
tests.add(testIndividual(SELF_INDIVIDUAL, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testIndividual(EDITOR_INDIVIDUAL, LOGIN_NONE, false));
|
||||
tests.add(testIndividual(EDITOR_INDIVIDUAL, LOGIN_SELF, false));
|
||||
tests.add(testIndividual(EDITOR_INDIVIDUAL, LOGIN_EDITOR, true));
|
||||
tests.add(testIndividual(EDITOR_INDIVIDUAL, LOGIN_CURATOR, true));
|
||||
tests.add(testIndividual(EDITOR_INDIVIDUAL, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testIndividual(CURATOR_INDIVIDUAL, LOGIN_NONE, false));
|
||||
tests.add(testIndividual(CURATOR_INDIVIDUAL, LOGIN_SELF, false));
|
||||
tests.add(testIndividual(CURATOR_INDIVIDUAL, LOGIN_EDITOR, false));
|
||||
tests.add(testIndividual(CURATOR_INDIVIDUAL, LOGIN_CURATOR, true));
|
||||
tests.add(testIndividual(CURATOR_INDIVIDUAL, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testIndividual(DBA_INDIVIDUAL, LOGIN_NONE, false));
|
||||
tests.add(testIndividual(DBA_INDIVIDUAL, LOGIN_SELF, false));
|
||||
tests.add(testIndividual(DBA_INDIVIDUAL, LOGIN_EDITOR, false));
|
||||
tests.add(testIndividual(DBA_INDIVIDUAL, LOGIN_CURATOR, false));
|
||||
tests.add(testIndividual(DBA_INDIVIDUAL, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testIndividual(HIDDEN_INDIVIDUAL, LOGIN_NONE, false));
|
||||
tests.add(testIndividual(HIDDEN_INDIVIDUAL, LOGIN_SELF, false));
|
||||
tests.add(testIndividual(HIDDEN_INDIVIDUAL, LOGIN_EDITOR, false));
|
||||
tests.add(testIndividual(HIDDEN_INDIVIDUAL, LOGIN_CURATOR, false));
|
||||
tests.add(testIndividual(HIDDEN_INDIVIDUAL, LOGIN_DBA, false));
|
||||
|
||||
tests.add(testIndividual(null, LOGIN_NONE, false));
|
||||
tests.add(testIndividual(null, LOGIN_SELF, false));
|
||||
tests.add(testIndividual(null, LOGIN_EDITOR, false));
|
||||
tests.add(testIndividual(null, LOGIN_CURATOR, false));
|
||||
tests.add(testIndividual(null, LOGIN_DBA, true));
|
||||
|
||||
/*
|
||||
* tests for Class Filter
|
||||
*/
|
||||
tests.add(testVClass(PUBLIC_VCLASS, LOGIN_NONE, true));
|
||||
tests.add(testVClass(PUBLIC_VCLASS, LOGIN_SELF, true));
|
||||
tests.add(testVClass(PUBLIC_VCLASS, LOGIN_EDITOR, true));
|
||||
tests.add(testVClass(PUBLIC_VCLASS, LOGIN_CURATOR, true));
|
||||
tests.add(testVClass(PUBLIC_VCLASS, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testVClass(SELF_VCLASS, LOGIN_NONE, false));
|
||||
tests.add(testVClass(SELF_VCLASS, LOGIN_SELF, true));
|
||||
tests.add(testVClass(SELF_VCLASS, LOGIN_EDITOR, true));
|
||||
tests.add(testVClass(SELF_VCLASS, LOGIN_CURATOR, true));
|
||||
tests.add(testVClass(SELF_VCLASS, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testVClass(EDITOR_VCLASS, LOGIN_NONE, false));
|
||||
tests.add(testVClass(EDITOR_VCLASS, LOGIN_SELF, false));
|
||||
tests.add(testVClass(EDITOR_VCLASS, LOGIN_EDITOR, true));
|
||||
tests.add(testVClass(EDITOR_VCLASS, LOGIN_CURATOR, true));
|
||||
tests.add(testVClass(EDITOR_VCLASS, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testVClass(CURATOR_VCLASS, LOGIN_NONE, false));
|
||||
tests.add(testVClass(CURATOR_VCLASS, LOGIN_SELF, false));
|
||||
tests.add(testVClass(CURATOR_VCLASS, LOGIN_EDITOR, false));
|
||||
tests.add(testVClass(CURATOR_VCLASS, LOGIN_CURATOR, true));
|
||||
tests.add(testVClass(CURATOR_VCLASS, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testVClass(DBA_VCLASS, LOGIN_NONE, false));
|
||||
tests.add(testVClass(DBA_VCLASS, LOGIN_SELF, false));
|
||||
tests.add(testVClass(DBA_VCLASS, LOGIN_EDITOR, false));
|
||||
tests.add(testVClass(DBA_VCLASS, LOGIN_CURATOR, false));
|
||||
tests.add(testVClass(DBA_VCLASS, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testVClass(HIDDEN_VCLASS, LOGIN_NONE, false));
|
||||
tests.add(testVClass(HIDDEN_VCLASS, LOGIN_SELF, false));
|
||||
tests.add(testVClass(HIDDEN_VCLASS, LOGIN_EDITOR, false));
|
||||
tests.add(testVClass(HIDDEN_VCLASS, LOGIN_CURATOR, false));
|
||||
tests.add(testVClass(HIDDEN_VCLASS, LOGIN_DBA, false));
|
||||
|
||||
tests.add(testVClass(null, LOGIN_NONE, false));
|
||||
tests.add(testVClass(null, LOGIN_SELF, false));
|
||||
tests.add(testVClass(null, LOGIN_EDITOR, false));
|
||||
tests.add(testVClass(null, LOGIN_CURATOR, false));
|
||||
tests.add(testVClass(null, LOGIN_DBA, true));
|
||||
|
||||
/*
|
||||
* tests for DataProperty filter
|
||||
*/
|
||||
tests.add(testDataProp(PUBLIC_DATA_PROPERTY, LOGIN_NONE, true));
|
||||
tests.add(testDataProp(PUBLIC_DATA_PROPERTY, LOGIN_SELF, true));
|
||||
tests.add(testDataProp(PUBLIC_DATA_PROPERTY, LOGIN_EDITOR, true));
|
||||
tests.add(testDataProp(PUBLIC_DATA_PROPERTY, LOGIN_CURATOR, true));
|
||||
tests.add(testDataProp(PUBLIC_DATA_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testDataProp(SELF_DATA_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testDataProp(SELF_DATA_PROPERTY, LOGIN_SELF, true));
|
||||
tests.add(testDataProp(SELF_DATA_PROPERTY, LOGIN_EDITOR, true));
|
||||
tests.add(testDataProp(SELF_DATA_PROPERTY, LOGIN_CURATOR, true));
|
||||
tests.add(testDataProp(SELF_DATA_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testDataProp(EDITOR_DATA_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testDataProp(EDITOR_DATA_PROPERTY, LOGIN_SELF, false));
|
||||
tests.add(testDataProp(EDITOR_DATA_PROPERTY, LOGIN_EDITOR, true));
|
||||
tests.add(testDataProp(EDITOR_DATA_PROPERTY, LOGIN_CURATOR, true));
|
||||
tests.add(testDataProp(EDITOR_DATA_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testDataProp(CURATOR_DATA_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testDataProp(CURATOR_DATA_PROPERTY, LOGIN_SELF, false));
|
||||
tests.add(testDataProp(CURATOR_DATA_PROPERTY, LOGIN_EDITOR, false));
|
||||
tests.add(testDataProp(CURATOR_DATA_PROPERTY, LOGIN_CURATOR, true));
|
||||
tests.add(testDataProp(CURATOR_DATA_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testDataProp(DBA_DATA_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testDataProp(DBA_DATA_PROPERTY, LOGIN_SELF, false));
|
||||
tests.add(testDataProp(DBA_DATA_PROPERTY, LOGIN_EDITOR, false));
|
||||
tests.add(testDataProp(DBA_DATA_PROPERTY, LOGIN_CURATOR, false));
|
||||
tests.add(testDataProp(DBA_DATA_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testDataProp(HIDDEN_DATA_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testDataProp(HIDDEN_DATA_PROPERTY, LOGIN_SELF, false));
|
||||
tests.add(testDataProp(HIDDEN_DATA_PROPERTY, LOGIN_EDITOR, false));
|
||||
tests.add(testDataProp(HIDDEN_DATA_PROPERTY, LOGIN_CURATOR, false));
|
||||
tests.add(testDataProp(HIDDEN_DATA_PROPERTY, LOGIN_DBA, false));
|
||||
|
||||
tests.add(testDataProp(null, LOGIN_NONE, false));
|
||||
tests.add(testDataProp(null, LOGIN_SELF, false));
|
||||
tests.add(testDataProp(null, LOGIN_EDITOR, false));
|
||||
tests.add(testDataProp(null, LOGIN_CURATOR, false));
|
||||
tests.add(testDataProp(null, LOGIN_DBA, true));
|
||||
|
||||
/*
|
||||
* tests for ObjectProperty filter
|
||||
*/
|
||||
tests.add(testObjectProp(PUBLIC_OBJECT_PROPERTY, LOGIN_NONE, true));
|
||||
tests.add(testObjectProp(PUBLIC_OBJECT_PROPERTY, LOGIN_SELF, true));
|
||||
tests.add(testObjectProp(PUBLIC_OBJECT_PROPERTY, LOGIN_EDITOR, true));
|
||||
tests.add(testObjectProp(PUBLIC_OBJECT_PROPERTY, LOGIN_CURATOR, true));
|
||||
tests.add(testObjectProp(PUBLIC_OBJECT_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testObjectProp(SELF_OBJECT_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testObjectProp(SELF_OBJECT_PROPERTY, LOGIN_SELF, true));
|
||||
tests.add(testObjectProp(SELF_OBJECT_PROPERTY, LOGIN_EDITOR, true));
|
||||
tests.add(testObjectProp(SELF_OBJECT_PROPERTY, LOGIN_CURATOR, true));
|
||||
tests.add(testObjectProp(SELF_OBJECT_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testObjectProp(EDITOR_OBJECT_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testObjectProp(EDITOR_OBJECT_PROPERTY, LOGIN_SELF, false));
|
||||
tests.add(testObjectProp(EDITOR_OBJECT_PROPERTY, LOGIN_EDITOR, true));
|
||||
tests.add(testObjectProp(EDITOR_OBJECT_PROPERTY, LOGIN_CURATOR, true));
|
||||
tests.add(testObjectProp(EDITOR_OBJECT_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testObjectProp(CURATOR_OBJECT_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testObjectProp(CURATOR_OBJECT_PROPERTY, LOGIN_SELF, false));
|
||||
tests.add(testObjectProp(CURATOR_OBJECT_PROPERTY, LOGIN_EDITOR, false));
|
||||
tests.add(testObjectProp(CURATOR_OBJECT_PROPERTY, LOGIN_CURATOR, true));
|
||||
tests.add(testObjectProp(CURATOR_OBJECT_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testObjectProp(DBA_OBJECT_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testObjectProp(DBA_OBJECT_PROPERTY, LOGIN_SELF, false));
|
||||
tests.add(testObjectProp(DBA_OBJECT_PROPERTY, LOGIN_EDITOR, false));
|
||||
tests.add(testObjectProp(DBA_OBJECT_PROPERTY, LOGIN_CURATOR, false));
|
||||
tests.add(testObjectProp(DBA_OBJECT_PROPERTY, LOGIN_DBA, true));
|
||||
|
||||
tests.add(testObjectProp(HIDDEN_OBJECT_PROPERTY, LOGIN_NONE, false));
|
||||
tests.add(testObjectProp(HIDDEN_OBJECT_PROPERTY, LOGIN_SELF, false));
|
||||
tests.add(testObjectProp(HIDDEN_OBJECT_PROPERTY, LOGIN_EDITOR, false));
|
||||
tests.add(testObjectProp(HIDDEN_OBJECT_PROPERTY, LOGIN_CURATOR, false));
|
||||
tests.add(testObjectProp(HIDDEN_OBJECT_PROPERTY, LOGIN_DBA, false));
|
||||
|
||||
tests.add(testObjectProp(null, LOGIN_NONE, false));
|
||||
tests.add(testObjectProp(null, LOGIN_SELF, false));
|
||||
tests.add(testObjectProp(null, LOGIN_EDITOR, false));
|
||||
tests.add(testObjectProp(null, LOGIN_CURATOR, false));
|
||||
tests.add(testObjectProp(null, LOGIN_DBA, true));
|
||||
|
||||
/*
|
||||
* tests for DataPropertyStatementFilter
|
||||
*
|
||||
* Generate most of these tests algorithmically. Use all combinations of
|
||||
* roles for login, Individual and DataProperty.
|
||||
*/
|
||||
// TODO:
|
||||
// HiddenFromDisplayBelowRoleLevelFilter.FILTER_ON_INDIVIDUAL_VCLASSES
|
||||
// is set to false. If it were true, we would need more tests to check
|
||||
// whether the VClasses of both the subject and the predicate are
|
||||
// viewable.
|
||||
|
||||
for (LoginStatusBean login : LOGINS) {
|
||||
for (Individual subject : INDIVIDUALS) {
|
||||
for (DataProperty predicate : DATA_PROPERTIES) {
|
||||
tests.add(testDataPropStmt(
|
||||
login,
|
||||
subject,
|
||||
predicate,
|
||||
expectedResultForDataPropertyStatement(login,
|
||||
subject, predicate)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tests.add(testDataPropStmt(LOGIN_NONE, null, PUBLIC_DATA_PROPERTY,
|
||||
false));
|
||||
tests.add(testDataPropStmt(LOGIN_SELF, null, PUBLIC_DATA_PROPERTY,
|
||||
false));
|
||||
tests.add(testDataPropStmt(LOGIN_EDITOR, null, PUBLIC_DATA_PROPERTY,
|
||||
false));
|
||||
tests.add(testDataPropStmt(LOGIN_CURATOR, null, PUBLIC_DATA_PROPERTY,
|
||||
false));
|
||||
tests.add(testDataPropStmt(LOGIN_DBA, null, PUBLIC_DATA_PROPERTY, true));
|
||||
|
||||
tests.add(testDataPropStmt(LOGIN_NONE, PUBLIC_INDIVIDUAL, null, false));
|
||||
tests.add(testDataPropStmt(LOGIN_SELF, PUBLIC_INDIVIDUAL, null, false));
|
||||
tests.add(testDataPropStmt(LOGIN_EDITOR, PUBLIC_INDIVIDUAL, null, false));
|
||||
tests.add(testDataPropStmt(LOGIN_CURATOR, PUBLIC_INDIVIDUAL, null,
|
||||
false));
|
||||
tests.add(testDataPropStmt(LOGIN_DBA, PUBLIC_INDIVIDUAL, null, true));
|
||||
|
||||
/*
|
||||
* tests for ObjectPropertyStatementFilter
|
||||
*
|
||||
* Generate most of these tests algorithmically. Use all combinations of
|
||||
* roles for login, Individual (twice) and DataProperty.
|
||||
*/
|
||||
// TODO:
|
||||
// HiddenFromDisplayBelowRoleLevelFilter.FILTER_ON_INDIVIDUAL_VCLASSES
|
||||
// is set to false. If it were true, we would need more tests to check
|
||||
// whether the VClasses of the subject, the predicate and the object are
|
||||
// viewable.
|
||||
for (LoginStatusBean login : LOGINS) {
|
||||
for (Individual subject : INDIVIDUALS) {
|
||||
for (Individual object : INDIVIDUALS) {
|
||||
for (ObjectProperty predicate : OBJECT_PROPERTIES) {
|
||||
boolean expectedResult = expectedResultForObjectPropertyStatement(
|
||||
login, subject, predicate, object);
|
||||
|
||||
tests.add(testObjectPropStmt(login, subject, predicate,
|
||||
object, expectedResult));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tests.add(testObjectPropStmt(LOGIN_NONE, null, PUBLIC_OBJECT_PROPERTY,
|
||||
PUBLIC_INDIVIDUAL, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_SELF, null, PUBLIC_OBJECT_PROPERTY,
|
||||
PUBLIC_INDIVIDUAL, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_EDITOR, null,
|
||||
PUBLIC_OBJECT_PROPERTY, PUBLIC_INDIVIDUAL, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_CURATOR, null,
|
||||
PUBLIC_OBJECT_PROPERTY, PUBLIC_INDIVIDUAL, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_DBA, null, PUBLIC_OBJECT_PROPERTY,
|
||||
PUBLIC_INDIVIDUAL, true));
|
||||
|
||||
tests.add(testObjectPropStmt(LOGIN_NONE, PUBLIC_INDIVIDUAL, null,
|
||||
PUBLIC_INDIVIDUAL, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_SELF, PUBLIC_INDIVIDUAL, null,
|
||||
PUBLIC_INDIVIDUAL, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_EDITOR, PUBLIC_INDIVIDUAL, null,
|
||||
PUBLIC_INDIVIDUAL, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_CURATOR, PUBLIC_INDIVIDUAL, null,
|
||||
PUBLIC_INDIVIDUAL, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_DBA, PUBLIC_INDIVIDUAL, null,
|
||||
PUBLIC_INDIVIDUAL, true));
|
||||
|
||||
tests.add(testObjectPropStmt(LOGIN_NONE, PUBLIC_INDIVIDUAL,
|
||||
PUBLIC_OBJECT_PROPERTY, null, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_SELF, PUBLIC_INDIVIDUAL,
|
||||
PUBLIC_OBJECT_PROPERTY, null, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_EDITOR, PUBLIC_INDIVIDUAL,
|
||||
PUBLIC_OBJECT_PROPERTY, null, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_CURATOR, PUBLIC_INDIVIDUAL,
|
||||
PUBLIC_OBJECT_PROPERTY, null, false));
|
||||
tests.add(testObjectPropStmt(LOGIN_DBA, PUBLIC_INDIVIDUAL,
|
||||
PUBLIC_OBJECT_PROPERTY, null, true));
|
||||
|
||||
return tests;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assemble the test data to test the Individual filter.
|
||||
*/
|
||||
private static Object[] testIndividual(Individual individual,
|
||||
LoginStatusBean loginStatus, boolean expectedResult) {
|
||||
IndividualTestData data = new IndividualTestData();
|
||||
data.loginStatus = loginStatus;
|
||||
data.individual = individual;
|
||||
data.expectedResult = expectedResult;
|
||||
return new Object[] { data };
|
||||
}
|
||||
|
||||
private static class IndividualTestData extends TestData {
|
||||
Individual individual;
|
||||
|
||||
@Override
|
||||
public String describeTest() {
|
||||
String message = "IndividualTest, login=" + getRoleLevel() + "("
|
||||
+ getUsername() + ")";
|
||||
if (individual == null) {
|
||||
message += ", individual=null";
|
||||
} else {
|
||||
message += ", individual=" + individual.getMoniker();
|
||||
}
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assemble the test data to test the VClass filter.
|
||||
*/
|
||||
private static Object[] testVClass(VClass dp, LoginStatusBean loginStatus,
|
||||
boolean expectedResult) {
|
||||
VClassTestData data = new VClassTestData();
|
||||
data.loginStatus = loginStatus;
|
||||
data.vClass = dp;
|
||||
data.expectedResult = expectedResult;
|
||||
return new Object[] { data };
|
||||
}
|
||||
|
||||
private static class VClassTestData extends TestData {
|
||||
VClass vClass;
|
||||
|
||||
@Override
|
||||
public String describeTest() {
|
||||
String message = "VClassTest, login=" + getRoleLevel() + "("
|
||||
+ getUsername() + ")";
|
||||
if (vClass == null) {
|
||||
message += ", vClass=null";
|
||||
} else {
|
||||
message += ", vClass=" + vClass.getName();
|
||||
}
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assemble the test data to test the DataProperty filter.
|
||||
*/
|
||||
private static Object[] testDataProp(DataProperty dp,
|
||||
LoginStatusBean loginStatus, boolean expectedResult) {
|
||||
DataPropertyTestData data = new DataPropertyTestData();
|
||||
data.loginStatus = loginStatus;
|
||||
data.dataProperty = dp;
|
||||
data.expectedResult = expectedResult;
|
||||
return new Object[] { data };
|
||||
}
|
||||
|
||||
private static class DataPropertyTestData extends TestData {
|
||||
DataProperty dataProperty;
|
||||
|
||||
@Override
|
||||
public String describeTest() {
|
||||
String message = "DataPropertyTest, login=" + getRoleLevel() + "("
|
||||
+ getUsername() + ")";
|
||||
if (dataProperty == null) {
|
||||
message += ", dataProperty=null";
|
||||
} else {
|
||||
message += ", dataProperty=" + dataProperty.getLabel();
|
||||
}
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assemble the test data to test the ObjectProperty filter.
|
||||
*/
|
||||
private static Object[] testObjectProp(ObjectProperty dp,
|
||||
LoginStatusBean loginStatus, boolean expectedResult) {
|
||||
ObjectPropertyTestData data = new ObjectPropertyTestData();
|
||||
data.loginStatus = loginStatus;
|
||||
data.objectProperty = dp;
|
||||
data.expectedResult = expectedResult;
|
||||
return new Object[] { data };
|
||||
}
|
||||
|
||||
private static class ObjectPropertyTestData extends TestData {
|
||||
ObjectProperty objectProperty;
|
||||
|
||||
@Override
|
||||
public String describeTest() {
|
||||
String message = "ObjectPropertyTest, login=" + getRoleLevel()
|
||||
+ "(" + getUsername() + ")";
|
||||
if (objectProperty == null) {
|
||||
message += ", objectProperty=null";
|
||||
} else {
|
||||
message += ", objectProperty=" + objectProperty.getLabel();
|
||||
}
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assemble the test data to test the DataPropertyStatement filter.
|
||||
*/
|
||||
private static Object[] testDataPropStmt(LoginStatusBean login,
|
||||
Individual subject, DataProperty predicate, boolean expectedResult) {
|
||||
DataPropertyStatementTestData data = new DataPropertyStatementTestData();
|
||||
data.loginStatus = login;
|
||||
data.subject = subject;
|
||||
data.predicate = predicate;
|
||||
data.expectedResult = expectedResult;
|
||||
return new Object[] { data };
|
||||
}
|
||||
|
||||
private static boolean expectedResultForDataPropertyStatement(
|
||||
LoginStatusBean login, Individual subject, DataProperty predicate) {
|
||||
RoleLevel loginRole = getRoleLevel(login);
|
||||
RoleLevel subjectRole = subject.getHiddenFromDisplayBelowRoleLevel();
|
||||
RoleLevel predicateRole = predicate
|
||||
.getHiddenFromDisplayBelowRoleLevel();
|
||||
|
||||
// Is the effective login role at least as high as the threshhold roles
|
||||
// for both subject and predicate?
|
||||
return (loginRole.compareTo(subjectRole) >= 0)
|
||||
&& (loginRole.compareTo(predicateRole) >= 0);
|
||||
}
|
||||
|
||||
private static class DataPropertyStatementTestData extends TestData {
|
||||
Individual subject;
|
||||
DataProperty predicate;
|
||||
|
||||
@Override
|
||||
public String describeTest() {
|
||||
String message = "DataPropertyStatementTest, login="
|
||||
+ getRoleLevel() + "(" + getUsername() + ")";
|
||||
|
||||
if (subject == null) {
|
||||
message += ", subject=null";
|
||||
} else {
|
||||
message += ", subject=" + subject.getMoniker();
|
||||
}
|
||||
|
||||
if (predicate == null) {
|
||||
message += ", predicate=null";
|
||||
} else {
|
||||
message += ", predicate=" + predicate.getLabel();
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assemble the test data to test the ObjectPropertyStatement filter.
|
||||
*/
|
||||
private static Object[] testObjectPropStmt(LoginStatusBean login,
|
||||
Individual subject, ObjectProperty predicate, Individual object,
|
||||
boolean expectedResult) {
|
||||
ObjectPropertyStatementTestData data = new ObjectPropertyStatementTestData();
|
||||
data.loginStatus = login;
|
||||
data.subject = subject;
|
||||
data.predicate = predicate;
|
||||
data.object = object;
|
||||
data.expectedResult = expectedResult;
|
||||
return new Object[] { data };
|
||||
}
|
||||
|
||||
private static boolean expectedResultForObjectPropertyStatement(
|
||||
LoginStatusBean login, Individual subject,
|
||||
ObjectProperty predicate, Individual object) {
|
||||
RoleLevel loginRole = getRoleLevel(login);
|
||||
RoleLevel subjectRole = subject.getHiddenFromDisplayBelowRoleLevel();
|
||||
RoleLevel predicateRole = predicate
|
||||
.getHiddenFromDisplayBelowRoleLevel();
|
||||
RoleLevel objectRole = object.getHiddenFromDisplayBelowRoleLevel();
|
||||
|
||||
// Is the effective login role at least as high as the threshhold roles
|
||||
// for subject, object, and predicate?
|
||||
return (loginRole.compareTo(subjectRole) >= 0)
|
||||
&& (loginRole.compareTo(objectRole) >= 0)
|
||||
&& (loginRole.compareTo(predicateRole) >= 0);
|
||||
}
|
||||
|
||||
private static class ObjectPropertyStatementTestData extends TestData {
|
||||
Individual subject;
|
||||
ObjectProperty predicate;
|
||||
Individual object;
|
||||
|
||||
@Override
|
||||
public String describeTest() {
|
||||
String message = "ObjectPropertyStatementTest, login="
|
||||
+ getRoleLevel() + "(" + getUsername() + ")";
|
||||
|
||||
if (subject == null) {
|
||||
message += ", subject=null";
|
||||
} else {
|
||||
message += ", subject=" + subject.getMoniker();
|
||||
}
|
||||
|
||||
if (predicate == null) {
|
||||
message += ", predicate=null";
|
||||
} else {
|
||||
message += ", predicate=" + predicate.getLabel();
|
||||
}
|
||||
|
||||
if (object == null) {
|
||||
message += ", object=null";
|
||||
} else {
|
||||
message += ", object=" + object.getMoniker();
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
public static RoleLevel getRoleLevel(LoginStatusBean loginStatus) {
|
||||
if (loginStatus != null) {
|
||||
switch (loginStatus.getSecurityLevel()) {
|
||||
case LoginStatusBean.NON_EDITOR:
|
||||
return RoleLevel.SELF;
|
||||
case LoginStatusBean.EDITOR:
|
||||
return RoleLevel.EDITOR;
|
||||
case LoginStatusBean.CURATOR:
|
||||
return RoleLevel.CURATOR;
|
||||
case LoginStatusBean.DBA:
|
||||
return RoleLevel.DB_ADMIN;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return RoleLevel.PUBLIC;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// the actual test class
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
private final TestData testData;
|
||||
|
||||
private WebappDaoFactoryStub wdf;
|
||||
private IndividualDaoStub indDao;
|
||||
private DataPropertyDaoStub dpDao;
|
||||
private ObjectPropertyDaoStub opDao;
|
||||
private HiddenFromDisplayBelowRoleLevelFilter filter;
|
||||
|
||||
public HiddenFromDisplayBelowRoleLevelFilterTest(TestData testData) {
|
||||
this.testData = testData;
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setLoggingLevel() {
|
||||
// setLoggerLevel(this.getClass(), org.apache.log4j.Level.DEBUG);
|
||||
// setLoggerLevel(HiddenFromDisplayBelowRoleLevelFilter.class,
|
||||
// org.apache.log4j.Level.DEBUG);
|
||||
}
|
||||
|
||||
@Before
|
||||
public void createFilter() {
|
||||
wdf = new WebappDaoFactoryStub();
|
||||
|
||||
indDao = new IndividualDaoStub();
|
||||
wdf.setIndividualDao(indDao);
|
||||
|
||||
dpDao = new DataPropertyDaoStub();
|
||||
wdf.setDataPropertyDao(dpDao);
|
||||
|
||||
opDao = new ObjectPropertyDaoStub();
|
||||
wdf.setObjectPropertyDao(opDao);
|
||||
|
||||
filter = new HiddenFromDisplayBelowRoleLevelFilter(
|
||||
this.testData.getRoleLevel(), wdf);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void runTest() throws Exception {
|
||||
try {
|
||||
if (testData instanceof IndividualTestData) {
|
||||
runIndividualTest();
|
||||
} else if (testData instanceof VClassTestData) {
|
||||
runVClassTest();
|
||||
} else if (testData instanceof DataPropertyTestData) {
|
||||
runDataPropertyTest();
|
||||
} else if (testData instanceof ObjectPropertyTestData) {
|
||||
runObjectPropertyTest();
|
||||
} else if (testData instanceof DataPropertyStatementTestData) {
|
||||
runDataPropertyStatementTest();
|
||||
} else if (testData instanceof ObjectPropertyStatementTestData) {
|
||||
runObjectPropertyStatementTest();
|
||||
} else {
|
||||
fail("Unrecognized test data: " + testData);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
fail("Exception " + e + " in test: " + testData.describeTest());
|
||||
}
|
||||
}
|
||||
|
||||
private void runIndividualTest() {
|
||||
IndividualTestData data = (IndividualTestData) this.testData;
|
||||
boolean expected = data.expectedResult;
|
||||
boolean actual = filter.getIndividualFilter().fn(data.individual);
|
||||
|
||||
log.debug("expect '" + expected + "' for " + data.describeTest());
|
||||
assertEquals(data.describeTest(), expected, actual);
|
||||
}
|
||||
|
||||
private void runVClassTest() {
|
||||
VClassTestData data = (VClassTestData) this.testData;
|
||||
boolean expected = data.expectedResult;
|
||||
boolean actual = filter.getClassFilter().fn(data.vClass);
|
||||
|
||||
log.debug("expect '" + expected + "' for " + data.describeTest());
|
||||
assertEquals(data.describeTest(), expected, actual);
|
||||
}
|
||||
|
||||
private void runDataPropertyTest() {
|
||||
DataPropertyTestData data = (DataPropertyTestData) this.testData;
|
||||
boolean expected = data.expectedResult;
|
||||
boolean actual = filter.getDataPropertyFilter().fn(data.dataProperty);
|
||||
|
||||
log.debug("expect '" + expected + "' for " + data.describeTest());
|
||||
assertEquals(data.describeTest(), expected, actual);
|
||||
}
|
||||
|
||||
private void runObjectPropertyTest() {
|
||||
ObjectPropertyTestData data = (ObjectPropertyTestData) this.testData;
|
||||
boolean expected = data.expectedResult;
|
||||
boolean actual = filter.getObjectPropertyFilter().fn(
|
||||
data.objectProperty);
|
||||
|
||||
log.debug("expect '" + expected + "' for " + data.describeTest());
|
||||
assertEquals(data.describeTest(), expected, actual);
|
||||
}
|
||||
|
||||
private void runDataPropertyStatementTest() {
|
||||
DataPropertyStatementTestData data = (DataPropertyStatementTestData) this.testData;
|
||||
|
||||
DataPropertyStatement dps = new DataPropertyStatementImpl();
|
||||
dps.setIndividual(data.subject);
|
||||
if (data.subject != null) {
|
||||
dps.setIndividualURI(data.subject.getURI());
|
||||
indDao.addIndividual(data.subject);
|
||||
}
|
||||
|
||||
if (data.predicate != null) {
|
||||
dps.setDatapropURI(data.predicate.getURI());
|
||||
dpDao.addDataProperty(data.predicate);
|
||||
}
|
||||
|
||||
dps.setData("bogus data");
|
||||
|
||||
boolean expected = data.expectedResult;
|
||||
boolean actual = filter.getDataPropertyStatementFilter().fn(dps);
|
||||
|
||||
log.debug("expect '" + expected + "' for " + data.describeTest());
|
||||
assertEquals(data.describeTest(), expected, actual);
|
||||
}
|
||||
|
||||
private void runObjectPropertyStatementTest() {
|
||||
ObjectPropertyStatementTestData data = (ObjectPropertyStatementTestData) this.testData;
|
||||
|
||||
ObjectPropertyStatement ops = new ObjectPropertyStatementImpl();
|
||||
ops.setSubject(data.subject);
|
||||
if (data.subject != null) {
|
||||
ops.setSubjectURI(data.subject.getURI());
|
||||
indDao.addIndividual(data.subject);
|
||||
}
|
||||
|
||||
ops.setProperty(data.predicate);
|
||||
if (data.predicate != null) {
|
||||
ops.setPropertyURI(data.predicate.getURI());
|
||||
opDao.addObjectProperty(data.predicate);
|
||||
}
|
||||
|
||||
ops.setObject(data.object);
|
||||
if (data.object != null) {
|
||||
ops.setObjectURI(data.object.getURI());
|
||||
indDao.addIndividual(data.object);
|
||||
}
|
||||
|
||||
boolean expected = data.expectedResult;
|
||||
boolean actual = filter.getObjectPropertyStatementFilter().fn(ops);
|
||||
|
||||
log.debug("expect '" + expected + "' for " + data.describeTest());
|
||||
assertEquals(data.describeTest(), expected, actual);
|
||||
}
|
||||
}
|
|
@ -1,86 +0,0 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.dao.filtering.filters;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.hp.hpl.jena.ontology.OntModel;
|
||||
import com.hp.hpl.jena.ontology.OntModelSpec;
|
||||
import com.hp.hpl.jena.rdf.model.Model;
|
||||
import com.hp.hpl.jena.rdf.model.ModelFactory;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.IndividualImpl;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.PropertyInstance;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactoryJena;
|
||||
|
||||
public class HiddenFromEditRoleFilterTest {
|
||||
|
||||
|
||||
OntModel testModel;
|
||||
WebappDaoFactory wdf;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
Model model = ModelFactory.createDefaultModel();
|
||||
InputStream in = HiddenFromDisplayBelowRoleLevelFilter.class.getResourceAsStream("./filtertesting.rdf");
|
||||
model.read(in,null);
|
||||
testModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM,model);
|
||||
wdf = new WebappDaoFactoryJena(testModel,"http://example.org/test/1.0/",null,null);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCuratorLevelRoleFilter(){
|
||||
HiddenFromDisplayBelowRoleLevelFilter filter = new HiddenFromDisplayBelowRoleLevelFilter(RoleLevel.CURATOR, wdf);
|
||||
Assert.assertNotNull(filter);
|
||||
|
||||
Individual ind = new IndividualImpl();
|
||||
|
||||
List<VClass> vcs = new ArrayList<VClass>();
|
||||
VClass vc = new VClass() ;
|
||||
vc.setHiddenFromDisplayBelowRoleLevel(RoleLevel.PUBLIC);
|
||||
vcs.add( vc );
|
||||
ind.setVClasses(vcs, true);
|
||||
vc = new VClass() ;
|
||||
vc.setHiddenFromDisplayBelowRoleLevel(RoleLevel.PUBLIC);
|
||||
vcs.add( vc );
|
||||
ind.setVClasses(vcs, true);
|
||||
|
||||
Assert.assertTrue( filter.individualFilter.fn(ind) );
|
||||
|
||||
ind.setHiddenFromDisplayBelowRoleLevel(RoleLevel.PUBLIC);
|
||||
Assert.assertTrue( filter.individualFilter.fn(ind) );
|
||||
|
||||
ind.setHiddenFromDisplayBelowRoleLevel(RoleLevel.DB_ADMIN);
|
||||
Assert.assertFalse( filter.individualFilter.fn(ind) );
|
||||
|
||||
|
||||
//classes can force an individual to be hidden
|
||||
ind.setHiddenFromDisplayBelowRoleLevel(RoleLevel.PUBLIC);
|
||||
vc.setHiddenFromDisplayBelowRoleLevel(RoleLevel.DB_ADMIN);
|
||||
// Assert.assertFalse( filter.individualFilter.fn(ind) );
|
||||
|
||||
Assert.assertFalse( filter.classFilter.fn( vc ) );
|
||||
vc.setHiddenFromDisplayBelowRoleLevel(RoleLevel.CURATOR);
|
||||
Assert.assertTrue( filter.classFilter.fn( vc ) );
|
||||
|
||||
DataProperty dp = new DataProperty();
|
||||
Assert.assertTrue( filter.dataPropertyFilter.fn(dp) );
|
||||
dp.setHiddenFromDisplayBelowRoleLevel(RoleLevel.PUBLIC);
|
||||
Assert.assertTrue( filter.dataPropertyFilter.fn(dp) );
|
||||
dp.setHiddenFromDisplayBelowRoleLevel(RoleLevel.DB_ADMIN);
|
||||
Assert.assertFalse( filter.dataPropertyFilter.fn(dp) );
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,256 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package stubs.edu.cornell.mannlib.vitro.webapp.dao;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Property;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.InsertException;
|
||||
|
||||
/**
|
||||
* A minimal implementation of the DataPropertyDao.
|
||||
*
|
||||
* I have only implemented the methods that I needed. Feel free to implement
|
||||
* others.
|
||||
*/
|
||||
public class DataPropertyDaoStub implements DataPropertyDao {
|
||||
// ----------------------------------------------------------------------
|
||||
// Stub infrastructure
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
private final Map<String, DataProperty> dpMap = new HashMap<String, DataProperty>();
|
||||
|
||||
public void addDataProperty(DataProperty dataProperty) {
|
||||
if (dataProperty == null) {
|
||||
throw new NullPointerException("dataProperty may not be null.");
|
||||
}
|
||||
|
||||
String uri = dataProperty.getURI();
|
||||
if (uri == null) {
|
||||
throw new NullPointerException("uri may not be null.");
|
||||
}
|
||||
|
||||
dpMap.put(uri, dataProperty);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Stub methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public DataProperty getDataPropertyByURI(String dataPropertyURI) {
|
||||
return dpMap.get(dataPropertyURI);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Un-implemented methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void addSuperproperty(Property property, Property superproperty) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.addSuperproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSuperproperty(String propertyURI, String superpropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.addSuperproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSuperproperty(Property property, Property superproperty) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.removeSuperproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSuperproperty(String propertyURI, String superpropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.removeSuperproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSubproperty(Property property, Property subproperty) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.addSubproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSubproperty(String propertyURI, String subpropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.addSubproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSubproperty(Property property, Property subproperty) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.removeSubproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSubproperty(String propertyURI, String subpropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.removeSubproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEquivalentProperty(String propertyURI,
|
||||
String equivalentPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.addEquivalentProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEquivalentProperty(Property property,
|
||||
Property equivalentProperty) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.addEquivalentProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeEquivalentProperty(String propertyURI,
|
||||
String equivalentPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.removeEquivalentProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeEquivalentProperty(Property property,
|
||||
Property equivalentProperty) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.removeEquivalentProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSubPropertyURIs(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.getSubPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getAllSubPropertyURIs(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.getAllSubPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSuperPropertyURIs(String propertyURI, boolean direct) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.getSuperPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getAllSuperPropertyURIs(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.getAllSuperPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getEquivalentPropertyURIs(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.getEquivalentPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VClass> getClassesWithRestrictionOnProperty(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"PropertyDao.getClassesWithRestrictionOnProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getAllDataProperties() {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.getAllDataProperties() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List getAllExternalIdDataProperties() {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.getAllExternalIdDataProperties() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillDataPropertiesForIndividual(Individual individual) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.fillDataPropertiesForIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataProperty> getDataPropertiesForVClass(String vClassURI) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.getDataPropertiesForVClass() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<DataProperty> getAllPossibleDatapropsForIndividual(
|
||||
String individualURI) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.getAllPossibleDatapropsForIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRequiredDatatypeURI(Individual individual,
|
||||
DataProperty dataProperty) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.getRequiredDatatypeURI() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String insertDataProperty(DataProperty dataProperty)
|
||||
throws InsertException {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.insertDataProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDataProperty(DataProperty dataProperty) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.updateDataProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDataProperty(DataProperty dataProperty) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.deleteDataProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDataProperty(String dataPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.deleteDataProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataProperty> getRootDataProperties() {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.getRootDataProperties() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean annotateDataPropertyAsExternalIdentifier(
|
||||
String dataPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.annotateDataPropertyAsExternalIdentifier() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataProperty> getDataPropertyList(Individual subject) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.getDataPropertyList() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DataProperty> getDataPropertyList(String subjectUri) {
|
||||
throw new RuntimeException(
|
||||
"DataPropertyDao.getDataPropertyList() not implemented.");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,245 @@
|
|||
package stubs.edu.cornell.mannlib.vitro.webapp.dao;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Keyword;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.InsertException;
|
||||
|
||||
/**
|
||||
* A minimal implementation of the IndividualDao.
|
||||
*
|
||||
* I have only implemented the methods that I needed. Feel free to implement
|
||||
* others.
|
||||
*/
|
||||
public class IndividualDaoStub implements IndividualDao {
|
||||
// ----------------------------------------------------------------------
|
||||
// Stub infrastructure
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
private final Map<String, Individual> indMap = new HashMap<String, Individual>();
|
||||
|
||||
public void addIndividual(Individual individual) {
|
||||
if (individual == null) {
|
||||
throw new NullPointerException("individual may not be null.");
|
||||
}
|
||||
|
||||
String uri = individual.getURI();
|
||||
if (uri == null) {
|
||||
throw new NullPointerException("uri may not be null.");
|
||||
}
|
||||
|
||||
indMap.put(uri, individual);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Stub methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Individual getIndividualByURI(String individualURI) {
|
||||
return indMap.get(individualURI);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Un-implemented methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Collection<DataPropertyStatement> getExternalIds(String individualURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getExternalIds() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<DataPropertyStatement> getExternalIds(
|
||||
String individualURI, String dataPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getExternalIds() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addVClass(String individualURI, String vclassURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.addVClass() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeVClass(String individualURI, String vclassURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.removeVClass() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Individual> getIndividualsByVClass(VClass vclass) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getIndividualsByVClass() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Individual> getIndividualsByVClassURI(String vclassURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getIndividualsByVClassURI() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Individual> getIndividualsByVClassURI(String vclassURI,
|
||||
int offset, int quantity) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getIndividualsByVClassURI() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String insertNewIndividual(Individual individual)
|
||||
throws InsertException {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.insertNewIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateIndividual(Individual individual) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.updateIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteIndividual(String individualURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.deleteIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteIndividual(Individual individual) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.deleteIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markModified(Individual individual) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.markModified() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Individual> getAllOfThisTypeIterator() {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getAllOfThisTypeIterator() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Individual> getAllOfThisVClassIterator(String vClassURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getAllOfThisVClassIterator() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Individual> getUpdatedSinceIterator(long updatedSince) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getUpdatedSinceIterator() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCountOfIndividualsInVClass(String vclassURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getCountOfIndividualsInVClass() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIndividualOfClass(String vclassURI, String indURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.isIndividualOfClass() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Individual> getIndividualsByDataProperty(
|
||||
String dataPropertyUri, String value) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getIndividualsByDataProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Individual> getIndividualsByDataProperty(
|
||||
String dataPropertyUri, String value, String datatypeUri,
|
||||
String lang) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getIndividualsByDataProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillVClassForIndividual(Individual individual) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.fillVClassForIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> monikers(String vclassURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.monikers() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getKeywordsForIndividual(String individualURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getKeywordsForIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getKeywordsForIndividualByMode(String individualURI,
|
||||
String modeStr) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getKeywordsForIndividualByMode() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Keyword> getKeywordObjectsForIndividual(String individualURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getKeywordObjectsForIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIndividualURIFromNetId(String netIdStr,
|
||||
String netidMatchingPropertyUri) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getIndividualURIFromNetId() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNetId(String entityURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getNetId() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStatus(String entityURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getStatus() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnusedURI(Individual individual) throws InsertException {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getUnusedURI() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Individual getIndividualByExternalId(int externalIdType,
|
||||
String externalIdValue) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getIndividualByExternalId() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Individual getIndividualByExternalId(int externalIdType,
|
||||
String externalIdValue, String vClassURI) {
|
||||
throw new RuntimeException(
|
||||
"IndividualDaoStub.getIndividualByExternalId() not implemented.");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,248 @@
|
|||
package stubs.edu.cornell.mannlib.vitro.webapp.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Property;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.InsertException;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDao;
|
||||
|
||||
/**
|
||||
* A minimal implementation of the ObjectPropertyDao.
|
||||
*
|
||||
* I have only implemented the methods that I needed. Feel free to implement
|
||||
* others.
|
||||
*/
|
||||
public class ObjectPropertyDaoStub implements ObjectPropertyDao {
|
||||
// ----------------------------------------------------------------------
|
||||
// Stub infrastructure
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
private final Map<String, ObjectProperty> opMap = new HashMap<String, ObjectProperty>();
|
||||
|
||||
public void addObjectProperty(ObjectProperty predicate) {
|
||||
if (predicate == null) {
|
||||
throw new NullPointerException("predicate may not be null.");
|
||||
}
|
||||
|
||||
String uri = predicate.getURI();
|
||||
if (uri == null) {
|
||||
throw new NullPointerException("uri may not be null.");
|
||||
}
|
||||
|
||||
opMap.put(uri, predicate);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Stub methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public ObjectProperty getObjectPropertyByURI(String objectPropertyURI) {
|
||||
return opMap.get(objectPropertyURI);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Un-implemented methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void addSuperproperty(Property property, Property superproperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.addSuperproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSuperproperty(String propertyURI, String superpropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.addSuperproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSuperproperty(Property property, Property superproperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.removeSuperproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSuperproperty(String propertyURI, String superpropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.removeSuperproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSubproperty(Property property, Property subproperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.addSubproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSubproperty(String propertyURI, String subpropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.addSubproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSubproperty(Property property, Property subproperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.removeSubproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSubproperty(String propertyURI, String subpropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.removeSubproperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEquivalentProperty(String propertyURI,
|
||||
String equivalentPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.addEquivalentProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEquivalentProperty(Property property,
|
||||
Property equivalentProperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.addEquivalentProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeEquivalentProperty(String propertyURI,
|
||||
String equivalentPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.removeEquivalentProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeEquivalentProperty(Property property,
|
||||
Property equivalentProperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.removeEquivalentProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getAllSubPropertyURIs(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getAllSubPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getAllSuperPropertyURIs(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getAllSuperPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getEquivalentPropertyURIs(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getEquivalentPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VClass> getClassesWithRestrictionOnProperty(String propertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getClassesWithRestrictionOnProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ObjectProperty> getAllObjectProperties() {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getAllObjectProperties() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ObjectProperty> getObjectPropertiesForObjectPropertyStatements(
|
||||
List objectPropertyStatements) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getObjectPropertiesForObjectPropertyStatements() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSuperPropertyURIs(String objectPropertyURI,
|
||||
boolean direct) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getSuperPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getSubPropertyURIs(String objectPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getSubPropertyURIs() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ObjectPropertyStatement> getStatementsUsingObjectProperty(
|
||||
ObjectProperty op) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getStatementsUsingObjectProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillObjectPropertiesForIndividual(Individual individual) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.fillObjectPropertiesForIndividual() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertObjectProperty(ObjectProperty objectProperty)
|
||||
throws InsertException {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.insertObjectProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateObjectProperty(ObjectProperty objectProperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.updateObjectProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteObjectProperty(String objectPropertyURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.deleteObjectProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteObjectProperty(ObjectProperty objectProperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.deleteObjectProperty() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean skipEditForm(String predicateURI) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.skipEditForm() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ObjectProperty> getRootObjectProperties() {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getRootObjectProperties() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ObjectProperty> getObjectPropertyList(Individual subject) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getObjectPropertyList() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ObjectProperty> getObjectPropertyList(String subjectUri) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getObjectPropertyList() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCustomListViewConfigFileName(ObjectProperty objectProperty) {
|
||||
throw new RuntimeException(
|
||||
"ObjectPropertyDaoStub.getCustomListViewConfigFileName() not implemented.");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,297 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package stubs.edu.cornell.mannlib.vitro.webapp.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.ApplicationDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.Classes2ClassesDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyStatementDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.DatatypeDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayModelDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.FlagDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.KeywordDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.KeywordIndividualRelationDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.LinksDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.LinktypeDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.MenuDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.NamespaceDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyStatementDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.OntologyDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.PageDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.PortalDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.PropertyGroupDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.PropertyInstanceDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.TabDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.TabIndividualRelationDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.TabVClassRelationDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.UserDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||
|
||||
/**
|
||||
* A minimal implementation of the WebappDaoFactory.
|
||||
*
|
||||
* I have only implemented the methods that I needed. Feel free to implement
|
||||
* others.
|
||||
*/
|
||||
public class WebappDaoFactoryStub implements WebappDaoFactory {
|
||||
// ----------------------------------------------------------------------
|
||||
// Stub infrastructure
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
private IndividualDao individualDao;
|
||||
private DataPropertyDao dataPropertyDao;
|
||||
private ObjectPropertyDao objectPropertyDao;
|
||||
|
||||
public void setIndividualDao(IndividualDao individualDao) {
|
||||
this.individualDao = individualDao;
|
||||
}
|
||||
|
||||
public void setDataPropertyDao(DataPropertyDao dataPropertyDao) {
|
||||
this.dataPropertyDao = dataPropertyDao;
|
||||
}
|
||||
|
||||
public void setObjectPropertyDao(ObjectPropertyDao objectPropertyDao) {
|
||||
this.objectPropertyDao = objectPropertyDao;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Stub methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public IndividualDao getIndividualDao() {
|
||||
return this.individualDao;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataPropertyDao getDataPropertyDao() {
|
||||
return this.dataPropertyDao;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ObjectPropertyDao getObjectPropertyDao() {
|
||||
return this.objectPropertyDao;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Un-implemented methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public Map<String, String> getProperties() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getProperties() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String checkURI(String uriStr) {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.checkURI() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String checkURI(String uriStr, boolean checkUniqueness) {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.checkURI() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLanguageProfile() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getLanguageProfile() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultNamespace() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getDefaultNamespace() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getNonuserNamespaces() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getNonuserNamespaces() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getPreferredLanguages() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getPreferredLanguages() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getCommentsForResource(String resourceURI) {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getCommentsForResource() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public WebappDaoFactory getUserAwareDaoFactory(String userURI) {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getUserAwareDaoFactory() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserURI() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getUserURI() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Classes2ClassesDao getClasses2ClassesDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getClasses2ClassesDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatatypeDao getDatatypeDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getDatatypeDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public OntologyDao getOntologyDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getOntologyDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public VClassDao getVClassDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getVClassDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataPropertyStatementDao getDataPropertyStatementDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getDataPropertyStatementDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ObjectPropertyStatementDao getObjectPropertyStatementDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getObjectPropertyStatementDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public DisplayModelDao getDisplayModelDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getDisplayModelDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApplicationDao getApplicationDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getApplicationDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public PortalDao getPortalDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getPortalDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TabDao getTabDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getTabDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TabIndividualRelationDao getTabs2EntsDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getTabs2EntsDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TabVClassRelationDao getTabs2TypesDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getTabs2TypesDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public KeywordIndividualRelationDao getKeys2EntsDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getKeys2EntsDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public KeywordDao getKeywordDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getKeywordDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public LinksDao getLinksDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getLinksDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public LinktypeDao getLinktypeDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getLinktypeDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public FlagDao getFlagDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getFlagDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserDao getUserDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getUserDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public VClassGroupDao getVClassGroupDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getVClassGroupDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public PropertyGroupDao getPropertyGroupDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getPropertyGroupDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public NamespaceDao getNamespaceDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getNamespaceDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public PropertyInstanceDao getPropertyInstanceDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getPropertyInstanceDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageDao getPageDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getPageDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuDao getMenuDao() {
|
||||
throw new RuntimeException(
|
||||
"WebappDaoFactory.getMenuDao() not implemented.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
throw new RuntimeException("WebappDaoFactory.close() not implemented.");
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue