Add dependent resources annotation to back end editing for object properties. NIHVIVO-212

This commit is contained in:
bdc34 2010-03-30 20:00:17 +00:00
parent 2ff288b4b1
commit e50a1bc6f5
13 changed files with 73 additions and 32 deletions

View file

@ -73,7 +73,7 @@ public class ObjectProperty extends Property implements Comparable<ObjectPropert
private boolean selectFromExisting = true;
private boolean offerCreateNewOption = false;
private boolean forceStubObjectDeletion = false;
private boolean stubObjectRelation = false;
private boolean collateBySubclass = false;
@ -363,12 +363,12 @@ public class ObjectProperty extends Property implements Comparable<ObjectPropert
this.offerCreateNewOption = b;
}
public boolean getForceStubObjectDeletion() {
return forceStubObjectDeletion;
public boolean getStubObjectRelation() {
return stubObjectRelation;
}
public void setForceStubObjectDeletion(boolean b) {
this.forceStubObjectDeletion = b;
public void setStubObjectRelation(boolean b) {
this.stubObjectRelation = b;
}
/**

View file

@ -148,7 +148,7 @@ public class PropertyEditController extends BaseEditController {
results.add(p.getCustomEntryForm() == null ? "unspecified" : p.getCustomEntryForm()); // column 13
results.add(p.getSelectFromExisting() ? "true" : "false"); // column 14
results.add(p.getOfferCreateNewOption() ? "true" : "false"); // column 15
results.add(p.getForceStubObjectDeletion() ? "true" : "false"); // column 16
results.add(p.getStubObjectRelation() ? "true" : "false"); // column 16
results.add(p.getURI()); // column 17
request.setAttribute("results",results);
request.setAttribute("columncount",NUM_COLS);

View file

@ -191,7 +191,7 @@ public class PropertyRetryController extends BaseEditController {
request.setAttribute("inverseFunctional",propertyForEditing.getInverseFunctional());
request.setAttribute("selectFromExisting",propertyForEditing.getSelectFromExisting());
request.setAttribute("offerCreateNewOption", propertyForEditing.getOfferCreateNewOption());
request.setAttribute("forceStubObjectDeletion", propertyForEditing.getForceStubObjectDeletion());
request.setAttribute("stubObjectRelation", propertyForEditing.getStubObjectRelation());
request.setAttribute("collateBySubclass", propertyForEditing.getCollateBySubclass());
//checkboxes are pretty annoying : we don't know if someone *unchecked* a box, so we have to default to false on updates.
@ -202,7 +202,7 @@ public class PropertyRetryController extends BaseEditController {
propertyForEditing.setInverseFunctional(false);
propertyForEditing.setSelectFromExisting(false);
propertyForEditing.setOfferCreateNewOption(false);
propertyForEditing.setForceStubObjectDeletion(false);
propertyForEditing.setStubObjectRelation(false);
propertyForEditing.setCollateBySubclass(false);
}

View file

@ -100,7 +100,6 @@ public class VitroVocabulary {
public static final String PROPERTY_OBJECTINDIVIDUALSORTPROPERTY = vitroURI+"objectIndividualSortProperty";
public static final String PROPERTY_FULLPROPERTYNAMEANNOT = vitroURI+"fullPropertyNameAnnot";
public static final String PROPERTY_CUSTOMSEARCHVIEWANNOT = vitroURI+"customSearchViewAnnot";
public static final String PROPERTY_FORCESTUBDELETIONANNOT = vitroURI+"forceStubDeletionAnnot";
//public static final String PROPERTY_SELFEDITPROHIBITEDANNOT = vitroURI+"selfEditProhibitedAnnot";
//public static final String PROPERTY_CURATOREDITPROHIBITEDANNOT = vitroURI+"curatorEditProhibitedAnnot";
public static final String PROPERTY_CUSTOMENTRYFORMANNOT = vitroURI+"customEntryFormAnnot";
@ -112,7 +111,7 @@ public class VitroVocabulary {
public static final String PROPERTYGROUP = vitroURI + "PropertyGroup";
public static final String MASKS_PROPERTY = vitroURI + "masksProperty";
public static final String SKIP_EDIT_FORM = vitroURI + "skipEditForm";
public static final String PROPERTY_DEPENDENCYPROPERTYANNOT = vitroURI + "dependencyPropertyAnnot";
public static final String PROPERTY_STUBOBJECTPROPERTYANNOT = vitroURI + "stubObjectPropertyAnnot";
public static final String PROPERTY_COLLATEBYSUBCLASSANNOT = vitroURI + "collateBySubclassAnnot";
// ================== keyword related ==================================

View file

@ -545,13 +545,13 @@ public class ObjectPropertyFiltering extends ObjectProperty {
}
@Override
public boolean getForceStubObjectDeletion() {
return innerObjectProperty.getForceStubObjectDeletion();
public boolean getStubObjectRelation() {
return innerObjectProperty.getStubObjectRelation();
}
@Override
public void setForceStubObjectDeletion(boolean b) {
innerObjectProperty.setForceStubObjectDeletion(b);
public void setStubObjectRelation(boolean b) {
innerObjectProperty.setStubObjectRelation(b);
}
@Override

View file

@ -172,7 +172,7 @@ public class DependentResourceDeleteJena {
private static boolean isPredicateDependencyRelation( Property predicate , Model model){
return model.containsLiteral(
model.getResource(predicate.getURI()),
model.createProperty(VitroVocabulary.PROPERTY_DEPENDENCYPROPERTYANNOT),
model.createProperty(VitroVocabulary.PROPERTY_STUBOBJECTPROPERTYANNOT),
true);
}

View file

@ -17,7 +17,7 @@ public class JenaBaseDaoCon {
public JenaBaseDaoCon() {
LINK.addProperty(PROPERTY_CUSTOMSHORTVIEWANNOT, _constModel.createTypedLiteral("linkShortView.jsp"));
PRIMARY_LINK.setLabel("Primary Link", "en-US");
PRIMARY_LINK.addProperty(PROPERTY_FORCESTUBDELETIONANNOT,_constModel.createTypedLiteral(true));
PRIMARY_LINK.addProperty(PROPERTY_STUBOBJECTPROPERTYANNOT,_constModel.createTypedLiteral(true));
PRIMARY_LINK.addProperty(PROPERTY_CUSTOMENTRYFORMANNOT, _constModel.createTypedLiteral("defaultLinkForm.jsp"));
PRIMARY_LINK.setRange(LINK);
PRIMARY_LINK.addProperty(PROPERTY_OFFERCREATENEWOPTIONANNOT, _constModel.createTypedLiteral(true));
@ -25,7 +25,7 @@ public class JenaBaseDaoCon {
ADDITIONAL_LINK.setLabel("Additional Link", "en-US");
ADDITIONAL_LINK.setRange(LINK); //apparently does not work to have prop.getRangeVClass() return a non-null VClass
ADDITIONAL_LINK.addProperty(PROPERTY_FORCESTUBDELETIONANNOT,_constModel.createTypedLiteral(true));
ADDITIONAL_LINK.addProperty(PROPERTY_STUBOBJECTPROPERTYANNOT,_constModel.createTypedLiteral(true));
ADDITIONAL_LINK.addProperty(PROPERTY_CUSTOMENTRYFORMANNOT, _constModel.createTypedLiteral("defaultLinkForm.jsp"));
ADDITIONAL_LINK.addProperty(PROPERTY_OFFERCREATENEWOPTIONANNOT, _constModel.createTypedLiteral(true));
ADDITIONAL_LINK.addProperty(PROPERTY_SELECTFROMEXISTINGANNOT, _constModel.createTypedLiteral(false));
@ -76,11 +76,13 @@ public class JenaBaseDaoCon {
protected AnnotationProperty PROPERTY_CUSTOMDISPLAYVIEWANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_CUSTOMDISPLAYVIEWANNOT);
protected AnnotationProperty PROPERTY_CUSTOMSHORTVIEWANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_CUSTOMSHORTVIEWANNOT);
protected AnnotationProperty PROPERTY_CUSTOMSEARCHVIEWANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_CUSTOMSEARCHVIEWANNOT);
protected AnnotationProperty PROPERTY_FORCESTUBDELETIONANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_FORCESTUBDELETIONANNOT);
//protected AnnotationProperty PROPERTY_FORCESTUBDELETIONANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_FORCESTUBDELETIONANNOT);
protected AnnotationProperty PROPERTY_SELECTFROMEXISTINGANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_SELECTFROMEXISTINGANNOT);
protected AnnotationProperty PROPERTY_OFFERCREATENEWOPTIONANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_OFFERCREATENEWOPTIONANNOT);
protected AnnotationProperty PROPERTY_INPROPERTYGROUPANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_INPROPERTYGROUPANNOT);
protected AnnotationProperty PROPERTY_COLLATEBYSUBCLASSANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_COLLATEBYSUBCLASSANNOT);
protected AnnotationProperty PROPERTY_STUBOBJECTPROPERTYANNOT = _constModel.createAnnotationProperty(VitroVocabulary.PROPERTY_STUBOBJECTPROPERTYANNOT);
protected OntClass PROPERTYGROUP = _constModel.createClass(VitroVocabulary.PROPERTYGROUP);
protected OntClass KEYWORD = _constModel.createClass(VitroVocabulary.KEYWORD);

View file

@ -220,8 +220,8 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp
p.setSelectFromExisting(selectFromObj==null ? true : selectFromObj);
Boolean offerCreateObj = getPropertyBooleanValue(op,PROPERTY_OFFERCREATENEWOPTIONANNOT);
p.setOfferCreateNewOption(offerCreateObj==null ? false : offerCreateObj);
Boolean forceStubObjectDeletionObj = getPropertyBooleanValue(op,PROPERTY_FORCESTUBDELETIONANNOT);
p.setForceStubObjectDeletion(forceStubObjectDeletionObj==null ? false : forceStubObjectDeletionObj);
Boolean dependencyDeletionObj = getPropertyBooleanValue(op,PROPERTY_STUBOBJECTPROPERTYANNOT);
p.setStubObjectRelation(dependencyDeletionObj==null ? false : dependencyDeletionObj);
Boolean collateBySubclass = getPropertyBooleanValue(op,PROPERTY_COLLATEBYSUBCLASSANNOT);
p.setCollateBySubclass(collateBySubclass==null ? false : collateBySubclass);
@ -604,7 +604,7 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp
updatePropertyStringValue(p,PROPERTY_CUSTOMENTRYFORMANNOT,prop.getCustomEntryForm(),ontModel);
updatePropertyBooleanValue(p,PROPERTY_SELECTFROMEXISTINGANNOT,prop.getSelectFromExisting(),ontModel,JenaBaseDao.KEEP_ONLY_IF_FALSE);
updatePropertyBooleanValue(p,PROPERTY_OFFERCREATENEWOPTIONANNOT,prop.getOfferCreateNewOption(),ontModel,JenaBaseDao.KEEP_ONLY_IF_TRUE);
updatePropertyBooleanValue(p,PROPERTY_FORCESTUBDELETIONANNOT,prop.getForceStubObjectDeletion(),ontModel,JenaBaseDao.KEEP_ONLY_IF_TRUE);
updatePropertyBooleanValue(p,PROPERTY_STUBOBJECTPROPERTYANNOT,prop.getStubObjectRelation(),ontModel,JenaBaseDao.KEEP_ONLY_IF_TRUE);
updatePropertyBooleanValue(p,PROPERTY_COLLATEBYSUBCLASSANNOT,prop.getCollateBySubclass(),ontModel,JenaBaseDao.KEEP_ONLY_IF_TRUE);
try {
p.removeAll(PROPERTY_INPROPERTYGROUPANNOT);