Updates to freemarker conversion forms and replacing AddRoleUtils in Vivo with EditModeUtils in Vitro

This commit is contained in:
hjkhjk54 2011-11-21 15:31:20 +00:00
parent ce5596e627
commit 62ace7e58b
7 changed files with 31 additions and 109 deletions

View file

@ -11,18 +11,19 @@
<#--Values from edit configuration to populate fields --> <#--Values from edit configuration to populate fields -->
<#--UL class based on size of existing authors--> <#--UL class based on size of existing authors-->
<#assign urlClass = ""/> <#assign ulClass = ""/>
<#if (existingAuthorInfo?size > 0)> <#if (existingAuthorInfo?size > 0)>
<#assign urlClass = "class='dd'"/> <#assign ulClass = "class='dd'"/>
</#if> </#if>
<#assign title="<em>${editConfiguration.subjectName}</em>" /> <#assign title="<em>${editConfiguration.subjectName}</em>" />
<#assign requiredHint="<span class='requiredHint'> *</span>" /> <#assign requiredHint="<span class='requiredHint'> *</span>" />
<#assign initialHint="<span class='hint'>(initial okay)</span>" /> <#assign initialHint="<span class='hint'>(initial okay)</span>" />
<@lf.unsupportedBrowser> <#--include unsupported browser message-->
<h2>${title}</h2> <h2>${title}</h2>
<ul id="authorships" ${ulClass}> <ul id="authorships" ${ulClass}>
@ -35,8 +36,8 @@
<#assign authorHref="/individual?uri=" /> <#assign authorHref="/individual?uri=" />
<#--This should be a list of java objects where URI and name can be retrieved--> <#--This should be a list of java objects where URI and name can be retrieved-->
<#list existingAuthorInfo as authorship> <#list existingAuthorInfo as authorship>
<#local authorUri = authorship.authorUri/> <#assign authorUri = authorship.authorUri/>
<#local authorName = authorship.authorName/> <#assign authorName = authorship.authorName/>
<li class="authorship"> <li class="authorship">
<#-- span.author will be used in the next phase, when we display a message that the author has been <#-- span.author will be used in the next phase, when we display a message that the author has been
@ -75,7 +76,7 @@
<section id="showAddForm" role="region"> <section id="showAddForm" role="region">
<input type="hidden" name = "editKey" value="${editKey}" /> <input type="hidden" name = "editKey" value="${editKey}" />
<input type="submit" id="showAddFormButton" value="replace submit label" role="button" /> <input type="submit" id="showAddFormButton" value="Add Author" role="button" />
<span class="or"> or </span> <span class="or"> or </span>
<a class="cancel" href="${cancelUrl}" title="Cancel">Return to Publication</a> <a class="cancel" href="${cancelUrl}" title="Cancel">Return to Publication</a>
@ -117,17 +118,17 @@
var customFormData = { var customFormData = {
rankPredicate: '${rankPredicate}', rankPredicate: '${rankPredicate}',
acUrl: '${urls.base}/autocomplete?tokenize=true', acUrl: '${urls.base}/autocomplete?tokenize=true',
reorderUrl: '{urls.base}/edit/reorder' reorderUrl: '${urls.base}/edit/reorder'
}; };
</script> </script>
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css" />')} ${stylesheets.add('<link rel="stylesheet" href="${urls.base}/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css" />',
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/edit/forms/css/customForm.css" />', '<link rel="stylesheet" href="${urls.base}/edit/forms/css/customForm.css" />',
'<link rel="stylesheet" href="${urls.base}/edit/forms/css/autocomplete.css" />', '<link rel="stylesheet" href="${urls.base}/edit/forms/css/autocomplete.css" />',
'<link rel="stylesheet" href="${urls.base}/edit/forms/css/addAuthorsToInformationResource.css" />')} '<link rel="stylesheet" href="${urls.base}/edit/forms/css/addAuthorsToInformationResource.css" />')}
${scripts.add('<script type="text/javascript" src="${urls.base}/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js"></script>'), ${scripts.add('<script type="text/javascript" src="${urls.base}/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js"></script>')}
'<script type="text/javascript" src="${urls.base}/js/customFormUtils.js"></script>', ${scripts.add('<script type="text/javascript" src="${urls.base}/js/customFormUtils.js"></script>')}
'<script type="text/javascript" src="${urls.base}/js/browserUtils.js"></script>', ${scripts.add('<script type="text/javascript" src="${urls.base}/js/browserUtils.js"></script>')}
'<script type="text/javascript" src="${urls.base}/edit/forms/js/addAuthorsToInformationResource.js"></script>')} ${scripts.add('<script type="text/javascript" src="${urls.base}/edit/forms/js/addAuthorsToInformationResource.js"></script>')}

View file

@ -49,7 +49,7 @@ import edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils;
import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch; import edu.cornell.mannlib.vitro.webapp.search.beans.ProhibitedFromSearch;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.AddRoleUtils; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
/** /**
* Generates the edit configuration for importing concepts from external * Generates the edit configuration for importing concepts from external
* search services, e.g. UMLS etc. * search services, e.g. UMLS etc.

View file

@ -32,7 +32,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditN3GeneratorVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.AddRoleUtils; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
/** /**
* Custom form for adding a grant to an person for the predicates hasCo-PrincipalInvestigatorRole * Custom form for adding a grant to an person for the predicates hasCo-PrincipalInvestigatorRole
and hasPrincipalInvestigatorRole. and hasPrincipalInvestigatorRole.
@ -616,19 +616,19 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
*/ */
public EditMode getEditMode(VitroRequest vreq) { public EditMode getEditMode(VitroRequest vreq) {
List<String> roleToGrantPredicates = getPossibleRoleToGrantPredicates(); List<String> roleToGrantPredicates = getPossibleRoleToGrantPredicates();
return AddRoleUtils.getEditMode(vreq, roleToGrantPredicates); return EditModeUtils.getEditMode(vreq, roleToGrantPredicates);
} }
private boolean isAddMode(VitroRequest vreq) { private boolean isAddMode(VitroRequest vreq) {
return AddRoleUtils.isAddMode(getEditMode(vreq)); return EditModeUtils.isAddMode(getEditMode(vreq));
} }
private boolean isEditMode(VitroRequest vreq) { private boolean isEditMode(VitroRequest vreq) {
return AddRoleUtils.isEditMode(getEditMode(vreq)); return EditModeUtils.isEditMode(getEditMode(vreq));
} }
private boolean isRepairMode(VitroRequest vreq) { private boolean isRepairMode(VitroRequest vreq) {
return AddRoleUtils.isRepairMode(getEditMode(vreq)); return EditModeUtils.isRepairMode(getEditMode(vreq));
} }

View file

@ -33,7 +33,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTw
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.RoleToActivityPredicatePreprocessor; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.RoleToActivityPredicatePreprocessor;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.AddRoleUtils; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
/** /**
* Generates the edit configuration for adding a Role to a Person. * Generates the edit configuration for adding a Role to a Person.
@ -828,19 +828,19 @@ public abstract class AddRoleToPersonTwoStageGenerator extends BaseEditConfigura
/* Methods that check edit mode */ /* Methods that check edit mode */
public EditMode getEditMode(VitroRequest vreq) { public EditMode getEditMode(VitroRequest vreq) {
List<String> roleToGrantPredicates = getPossibleRoleToActivityPredicates(); List<String> roleToGrantPredicates = getPossibleRoleToActivityPredicates();
return AddRoleUtils.getEditMode(vreq, roleToGrantPredicates); return EditModeUtils.getEditMode(vreq, roleToGrantPredicates);
} }
private boolean isAddMode(VitroRequest vreq) { private boolean isAddMode(VitroRequest vreq) {
return AddRoleUtils.isAddMode(getEditMode(vreq)); return EditModeUtils.isAddMode(getEditMode(vreq));
} }
private boolean isEditMode(VitroRequest vreq) { private boolean isEditMode(VitroRequest vreq) {
return AddRoleUtils.isEditMode(getEditMode(vreq)); return EditModeUtils.isEditMode(getEditMode(vreq));
} }
private boolean isRepairMode(VitroRequest vreq) { private boolean isRepairMode(VitroRequest vreq) {
return AddRoleUtils.isRepairMode(getEditMode(vreq)); return EditModeUtils.isRepairMode(getEditMode(vreq));
} }
/* URIS for various predicates */ /* URIS for various predicates */

View file

@ -18,7 +18,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisio
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.AddRoleUtils; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
/** /**
Form for adding an educational attainment to an individual Form for adding an educational attainment to an individual
@ -328,7 +328,7 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements
public EditMode getEditMode(VitroRequest vreq) { public EditMode getEditMode(VitroRequest vreq) {
List<String> predicates = new ArrayList<String>(); List<String> predicates = new ArrayList<String>();
predicates.add(trainingAtOrg); predicates.add(trainingAtOrg);
return AddRoleUtils.getEditMode(vreq, predicates); return EditModeUtils.getEditMode(vreq, predicates);
} }
} }

View file

@ -19,7 +19,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisio
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.FieldVTwo;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
import edu.cornell.mannlib.vitro.webapp.utils.generators.AddRoleUtils; import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator implements public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator implements
EditConfigurationGenerator { EditConfigurationGenerator {
@ -287,7 +287,7 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme
public EditMode getEditMode(VitroRequest vreq) { public EditMode getEditMode(VitroRequest vreq) {
List<String> predicates = new ArrayList<String>(); List<String> predicates = new ArrayList<String>();
predicates.add(positionInOrgPred); predicates.add(positionInOrgPred);
return AddRoleUtils.getEditMode(vreq, predicates); return EditModeUtils.getEditMode(vreq, predicates);
} }
} }

View file

@ -1,79 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.vitro.webapp.utils.generators;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils;
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
public class AddRoleUtils {
private static Log log = LogFactory.getLog(AddRoleUtils.class);
/* *************** Static utility methods used in role-based generators *********** */
public static EditMode getEditMode(VitroRequest vreq, List<String> possiblePredicates) {
//We're making some assumptions here: That there is only one role objec tot one activity object
//pairing, i.e. the same role object can't be related to a different activity object
//That said, there should only be one role to Activity predicate linking a role to an activity
//So if
Individual object = EditConfigurationUtils.getObjectIndividual(vreq);
boolean foundErrorMode = false;
int numberEditModes = 0;
int numberRepairModes = 0;
int numberPredicates = possiblePredicates.size();
for(String predicate:possiblePredicates) {
EditMode mode = FrontEndEditingUtils.getEditMode(vreq, object, predicate);
//Any error mode should result in error
if(mode == EditMode.ERROR) {
foundErrorMode = true;
break;
}
if(mode == EditMode.EDIT) {
numberEditModes++;
}
else if(mode == EditMode.REPAIR) {
numberRepairModes++;
}
}
//if found an error or if more than one edit mode returned, incorrect
if(foundErrorMode || numberEditModes > 1)
{
return EditMode.ERROR;
}
EditMode mode = EditMode.ADD;
//if exactly one edit mode found, then edit mode
if(numberEditModes == 1) {
mode = EditMode.EDIT;
}
//if all modes are repair, this means that all of them have zero statements returning
//which is incorrect
if(numberRepairModes == numberPredicates) {
mode = EditMode.REPAIR;
}
//otherwise all the modes are Add and Add will be returned
return mode;
}
public static boolean isAddMode(EditMode mode) {
return (mode == EditMode.ADD);
}
public static boolean isEditMode(EditMode mode) {
return (mode == EditMode.EDIT);
}
public static boolean isRepairMode(EditMode mode) {
return (mode == EditMode.REPAIR);
}
}