Many changes to ProcessRdfForm.java

This commit is contained in:
briancaruso 2011-11-09 23:24:22 +00:00
parent 776241d423
commit 57934c5aec
3 changed files with 157 additions and 130 deletions

View file

@ -6,7 +6,13 @@
<#import "lib-vivo-form.ftl" as lvf> <#import "lib-vivo-form.ftl" as lvf>
<#if editConfig.object?has_content> <#assign subjectName="Fake name hardcoded in FTL"/>
<#assign requiredHint="*"/>
<#assign yearHint="Do it his year!!!"/>
<#assign roleActivityUri="mysteryRoleActivityURI"/>
<#assign orgLabel="mysteryOrgLabel"/>
<#if editConfiguration.object?has_content>
<#assign editMode = "edit"> <#assign editMode = "edit">
<#else> <#else>
<#assign editMode = "add"> <#assign editMode = "add">
@ -25,14 +31,17 @@
<#assign requiredHint = "<span class='requiredHint'> *</span>" /> <#assign requiredHint = "<span class='requiredHint'> *</span>" />
<#assign yearHint = "<span class='hint'>(YYYY)</span>" /> <#assign yearHint = "<span class='hint'>(YYYY)</span>" />
<#--
<#if editMode = “ERROR”> <#if editMode = “ERROR”>
<div>This form is unable to handle the editing of this position because it is associated with <div>This form is unable to handle the editing of this position because it is associated with
multiple Position individuals.</div> multiple Position individuals.</div>
<#else> <#else>
-->
<h2>${titleVerb}&nbsp;educational training entry for ${subjectName}</h2> <h2>${titleVerb}&nbsp;educational training entry for ${subjectName}</h2>
<#--
<#if errorTypeFieldIsEmpty??> <#if errorTypeFieldIsEmpty??>
<#assign errorMessage = "Select a type of organization." /> <#assign errorMessage = "Select a type of organization." />
</#if> </#if>
@ -40,6 +49,7 @@
<#if errorNameFieldIsEmpty??> <#if errorNameFieldIsEmpty??>
<#assign errorMessage = "Enter a name for the organization." /> <#assign errorMessage = "Enter a name for the organization." />
</#if> </#if>
-->
<#if errorMessage?has_content> <#if errorMessage?has_content>
<section id="error-alert" role="alert"> <section id="error-alert" role="alert">
@ -50,29 +60,26 @@
<section id="personHasEducationalTraining" role="region"> <section id="personHasEducationalTraining" role="region">
<@lvf.unsupportedBrowser>
<div id="ie67DisableWrapper">
<div id="ie67DisableContent">
<img src="/vivo/site_icons/iconAlertBig.png" alt="Alert Icon"/>
<p>This form is not supported in versions of Internet Explorer below version 8. Please upgrade your browser, or
switch to another browser, such as FireFox.</p>
</div>
</div>
<form id="personHasEducationalTraining" class="customForm noIE67" action="${submitUrl}" role="add/edit educational training"> <form id="personHasEducationalTraining" class="customForm noIE67" action="${submitUrl}" role="add/edit educational training">
<label for="orgType">Select Organization Type ${requiredHint}</label> <label for="orgType">Select Organization Type ${requiredHint}</label>
<select id="typeSelector" name="orgType" disabled="${disabledVal}" > <#assign orgTypeOpts = editConfiguration.pageData.orgType />
<option value="" selected="selected">Select one</option> <select id="typeSelector" name="orgType" >
<#list rangeOptionKeys as key> <option value="" selected="selected">Select one</option>
<opton value="${key}" <#list orgTypeOpts?keys as key>
<#if editConfiguration.objectUri?has_contant && editConfiguration.object.Uri = key>selected</#if> <#if editConfiguration.objectUri?has_content && editConfiguration.objectUri = key>
</#list> <option value="${key}" selected >${orgTypeOpts[key]}</option>
<#else>
<option value="${key}">${orgTypeOpts[key]}</option>
</#if>
</#list>
</select> </select>
<p> <p>
<label for="relatedIndLabel">Organization Name ${requiredHint}</label> <label for="relatedIndLabel">Organization Name ${requiredHint}</label>
<input class="acSelector" size="50" type="text" id="relatedIndLabel" name="orgLabel" disabled="${disabledVal}" value="${???}" /> <input class="acSelector" size="50" type="text" id="relatedIndLabel" name="orgLabel" disabled="${disabledVal}" value="" />
</p> </p>
<div class="acSelection"> <div class="acSelection">
@ -85,43 +92,50 @@
<input class="acLabelReceiver" type="hidden" id="existingOrgLabel" name="existingOrgLabel" value="${orgLabel}" /> <input class="acLabelReceiver" type="hidden" id="existingOrgLabel" name="existingOrgLabel" value="${orgLabel}" />
</div> </div>
<p> <p>
<label for="dept">Department or School Name within the Organization</label> <label for="dept">Department or School Name within the Organization</label>
<input size="50" type="text" id="dept" name="dept" value="" /> <input size="50" type="text" id="dept" name="dept" value="" />
</p> </p>
<div class="entry"> <div class="entry">
<label for="degreeUri">Degree</label> <label for="degreeUri">Degree</label>
<select name="degreeUri" id="degreeUri" >
<#assign degreeOpts = editConfiguration.pageData.degree />
<select name="degree" id="degreeUri" >
<option value="" selected="selected">Select one</option> <option value="" selected="selected">Select one</option>
<#list rangeOptionKeys as key>
<opton value="${key}" <#list degreeOpts?keys as key>
<#if editConfiguration.objectUri?has_contant && editConfiguration.object.Uri = key>selected</#if> <option value="${key}">${degreeOpts[key]}</option>
</#list> </#list>
</select> </select>
</div> </div>
<p> <p>
<label for="majorField">Major Field of Degree</label> <label for="majorField">Major Field of Degree</label>
<input type="text" id="majorField" name="majorField" size="30" value="${???}"/> <input type="text" id="majorField" name="majorField" size="30" value=""/>
</p> </p>
<p> <p>
<label for="info">Supplemental Information</label> <label for="info">Supplemental Information</label>
<input size="50" type="text" id="info" name="info" value="${???}" /> <input size="50" type="text" id="info" name="info" value="" />
<p>e.g., <em>Postdoctoral training</em> or <em>Transferred</em></p> <p>e.g., <em>Postdoctoral training</em> or <em>Transferred</em></p>
</p> </p>
<label for="startField">Start Year ${yearHint}</label> <label for="startField">Start Year ${yearHint}</label>
<fieldset class="dateTime"> <fieldset class="dateTime">
<input class="text-field" name="startField-year" id="startField-year" type="text" value="${startYear}" size="4" maxlength="4" /> <input class="text-field" name="startField-year" id="startField-year" type="text" value="" size="4" maxlength="4" />
</fieldset> </fieldset>
<label for="endField">End Year ${yearHint}</label> <label for="endField">End Year ${yearHint}</label>
<fieldset class="dateTime"> <fieldset class="dateTime">
<input class="text-field" name="endField-year" id="endField-year" type="text" value="${endYear}" size="4" maxlength="4" /> <input class="text-field" name="endField-year" id="endField-year" type="text" value="" size="4" maxlength="4" />
</fieldset> </fieldset>
<input type="hidden" id="editKey" name="editKey" value="${editConfiguration.editKey}"/>
<p class="submit"> <p class="submit">
<input type="submit" id="submit" value="editConfiguration.submitLabel"/><span class="or"> or </span><a class="cancel" href="${editConfiguration.cancelUrl}">Cancel</a> <input type="submit" id="submit" value="editConfiguration.submitLabel"/><span class="or"> or </span>
<a class="cancel" href="${editConfiguration.cancelUrl}">Cancel</a>
</p> </p>
<p id="requiredLegend" class="requiredHint">* required fields</p> <p id="requiredLegend" class="requiredHint">* required fields</p>
@ -130,14 +144,18 @@
<#assign acUrl="/autocomplete?tokenize=true&stem=true" > <#assign acUrl="/autocomplete?tokenize=true&stem=true" >
<#--
<script type="text/javascript"> <script type="text/javascript">
var customFormData = { var customFormData = {
acUrl: '${acUrl?url}', acUrl: '${acUrl}',
editMode: '${editMode}', editMode: '${editMode}',
submitButtonTextType: 'compound', submitButtonTextType: 'compound',
defaultTypeName: 'organization' defaultTypeName: 'organization'
}; };
</script> </script>
-->
</section> </section>
</#if>

View file

@ -2,14 +2,14 @@
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.hp.hpl.jena.vocabulary.XSD; import com.hp.hpl.jena.vocabulary.XSD;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo;
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;
@ -71,6 +71,8 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements
initPropertyParameters(vreq, session, conf); initPropertyParameters(vreq, session, conf);
initObjectPropForm(conf, vreq); initObjectPropForm(conf, vreq);
conf.setTemplate("personHasEducationalTraining.ftl");
conf.setVarNameForSubject("person"); conf.setVarNameForSubject("person");
conf.setVarNameForPredicate("predicate"); conf.setVarNameForPredicate("predicate");
conf.setVarNameForObject("edTraining"); conf.setVarNameForObject("edTraining");
@ -120,14 +122,6 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements
setAssertions( majorFieldAssertion )); setAssertions( majorFieldAssertion ));
//setValidators( ) datatype:stringDatatypeUriJson //setValidators( ) datatype:stringDatatypeUriJson
conf.addField( new FieldVTwo().
setName("startField").
setAssertions(n3ForStart));
conf.addField( new FieldVTwo().
setName("endField").
setAssertions(n3ForEnd));
conf.addField( new FieldVTwo(). conf.addField( new FieldVTwo().
setName("org"). setName("org").
setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS). setOptionsType(FieldVTwo.OptionsType.INDIVIDUALS_VIA_VCLASS).
@ -159,146 +153,161 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements
setRangeDatatypeUri( XSD.xstring.toString() ). setRangeDatatypeUri( XSD.xstring.toString() ).
setAssertions( infoAssertion)); setAssertions( infoAssertion));
conf.addField(new FieldVTwo().
setName("startField").
setAssertions(n3ForStart).
setEditElement(
new DateTimeWithPrecisionVTwo(null,
VitroVocabulary.Precision.YEAR.uri(),
VitroVocabulary.Precision.NONE.uri())));
conf.addField( new FieldVTwo().
setName("endField").
setAssertions(n3ForEnd).
setEditElement(
new DateTimeWithPrecisionVTwo(null,
VitroVocabulary.Precision.YEAR.uri(),
VitroVocabulary.Precision.NONE.uri())));
return conf; return conf;
} }
/* N3 assertions for working with educational training */ /* N3 assertions for working with educational training */
final static String orgTypeAssertion = final static String orgTypeAssertion =
"?org a ?orgType ."; "?org a ?orgType .";
final static String orgLabelAssertion = final static String orgLabelAssertion =
"?org "+ label +" ?orgLabel ."; "?org <"+ label +"> ?orgLabel .";
final static String degreeAssertion = final static String degreeAssertion =
"?edTraining "+ degreeEarned +" ?degree ."+ "?edTraining <"+ degreeEarned +"> ?degree .\n"+
"?degree "+ degreeOutcomeOf +" ?edTraining ."; "?degree <"+ degreeOutcomeOf +"> ?edTraining .";
final static String majorFieldAssertion = final static String majorFieldAssertion =
"?edTraining "+ majorFieldPred +" ?majorField ."; "?edTraining <"+ majorFieldPred +"> ?majorField .";
final static String n3ForStart = final static String n3ForStart =
"?edTraining "+ ToInterval +" ?intervalNode . "+ "?edTraining <"+ toInterval +"> ?intervalNode .\n"+
"?intervalNode "+ type +" "+ intervalType +" ."+ "?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
"?intervalNode "+ intervalToStart +" ?startNode . "+ "?intervalNode <"+ intervalToStart +"> ?startNode .\n"+
"?startNode "+ type +" "+ dateTimeValueType +" ."+ "?startNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
"?startNode "+ dateTimeValue +" ?startField-value ."+ "?startNode <"+ dateTimeValue +"> ?startField-value .\n"+
"?startNode "+ dateTimePrecision +" ?startField-precision ."; "?startNode <"+ dateTimePrecision +"> ?startField-precision .";
final static String n3ForEnd = final static String n3ForEnd =
"?edTraining "+ ToInterval +" ?intervalNode . "+ "?edTraining <"+ toInterval +"> ?intervalNode . \n"+
"?intervalNode "+ type +" "+ intervalType +" ."+ "?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
"?intervalNode "+ intervalToEnd +" ?endNode ."+ "?intervalNode <"+ intervalToEnd +"> ?endNode .\n"+
"?endNode "+ type +" "+ dateTimeValueType +" ."+ "?endNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
"?endNode "+ dateTimeValue +" ?endField-value ."+ "?endNode <"+ dateTimeValue +"> ?endField-value .\n"+
"?endNode "+ dateTimePrecision +" ?endField-precision ."; "?endNode <"+ dateTimePrecision +"> ?endField-precision .";
final static String deptAssertion = final static String deptAssertion =
"?edTraining "+ deptPred +" ?dept ."; "?edTraining <"+ deptPred +"> ?dept .";
final static String infoAssertion = final static String infoAssertion =
"?edTraining "+ infoPred +" ?info ."; "?edTraining <"+ infoPred +"> ?info .";
final static String n3ForNewEdTraining = final static String n3ForNewEdTraining =
"@prefix core: "+ vivoCore +" . "+ "@prefix core: <"+ vivoCore +"> .\n"+
"?person core:educationalTraining ?edTraining ."+ "?person core:educationalTraining ?edTraining .\n"+
"?edTraining a core:EducationalTraining ;"+ "?edTraining a core:EducationalTraining ;\n"+
"core:educationalTrainingOf ?person ;"+ "core:educationalTrainingOf ?person ;\n"+
""+ trainingAtOrg +" ?org ."; "<"+ trainingAtOrg +"> ?org .\n";
final static String n3ForEdTrainingToOrg = final static String n3ForEdTrainingToOrg =
"?edTraining "+ trainingAtOrg +" ?org ."; "?edTraining <"+ trainingAtOrg +"> ?org .";
/* Queries for editing an existing educational training entry */ /* Queries for editing an existing educational training entry */
final static String orgQuery = final static String orgQuery =
"SELECT ?existingOrg WHERE {"+ "SELECT ?existingOrg WHERE {\n"+
"?edTraining "+ trainingAtOrg +" ?existingOrg . }"; "?edTraining <"+ trainingAtOrg +"> ?existingOrg . }\n";
final static String orgLabelQuery = final static String orgLabelQuery =
"SELECT ?existingOrgLabel WHERE {"+ "SELECT ?existingOrgLabel WHERE {\n"+
"?edTraining "+ trainingAtOrg +" ?existingOrg ."+ "?edTraining <"+ trainingAtOrg +"> ?existingOrg .\n"+
"?existingOrg "+ label +" ?existingOrgLabel ."+ "?existingOrg "+ label +" ?existingOrgLabel .\n"+
"}"; "}";
/* Limit type to subclasses of foaf:Organization. Otherwise, sometimes owl:Thing or another /* Limit type to subclasses of foaf:Organization. Otherwise, sometimes owl:Thing or another
type is returned and we don't get a match to the select element options. */ type is returned and we don't get a match to the select element options. */
final static String orgTypeQuery = final static String orgTypeQuery =
"PREFIX rdfs: "+ rdfs +" "+ "PREFIX rdfs: <"+ rdfs +"> \n"+
"SELECT ?existingOrgType WHERE {"+ "SELECT ?existingOrgType WHERE {\n"+
"?edTraining "+ trainingAtOrg +" ?existingOrg ."+ "?edTraining <"+ trainingAtOrg +"> ?existingOrg .\n"+
"?existingOrg a ?existingOrgType ."+ "?existingOrg a ?existingOrgType .\n"+
"?existingOrgType rdfs:subClassOf "+ orgClass +" ."+ "?existingOrgType rdfs:subClassOf "+ orgClass +" .\n"+
"}"; "}";
final static String degreeQuery = final static String degreeQuery =
"SELECT ?existingDegree WHERE {"+ "SELECT ?existingDegree WHERE {\n"+
"?edTraining "+ degreeEarned +" ?existingDegree . }"; "?edTraining "+ degreeEarned +" ?existingDegree . }";
final static String majorFieldQuery = final static String majorFieldQuery =
"SELECT ?existingMajorField WHERE {"+ "SELECT ?existingMajorField WHERE {\n"+
"?edTraining "+ majorFieldPred +" ?existingMajorField . }"; "?edTraining <"+ majorFieldPred +"> ?existingMajorField . }";
final static String deptQuery = final static String deptQuery =
"SELECT ?existingDept WHERE {"+ "SELECT ?existingDept WHERE {\n"+
"?edTraining "+ deptPred +" ?existingDept . }"; "?edTraining <"+ deptPred +"> ?existingDept . }";
final static String infoQuery = final static String infoQuery =
"SELECT ?existingInfo WHERE {"+ "SELECT ?existingInfo WHERE {\n"+
"?edTraining "+ infoPred +" ?existingInfo . }"; "?edTraining <"+ infoPred +"> ?existingInfo . }";
final static String existingIntervalNodeQuery = final static String existingIntervalNodeQuery =
"SELECT ?existingIntervalNode WHERE {"+ "SELECT ?existingIntervalNode WHERE {\n"+
"?edTraining "+ ToInterval +" ?existingIntervalNode ."+ "?edTraining <"+ toInterval +"> ?existingIntervalNode .\n"+
"?existingIntervalNode "+ type +" "+ intervalType +" . }"; "?existingIntervalNode <"+ type +"> <"+ intervalType +"> . }";
final static String existingStartNodeQuery = final static String existingStartNodeQuery =
"SELECT ?existingStartNode WHERE {"+ "SELECT ?existingStartNode WHERE {\n"+
"?edTraining "+ ToInterval +" ?intervalNode ."+ "?edTraining <"+ toInterval +"> ?intervalNode .\n"+
"?intervalNode "+ type +" "+ intervalType +" ."+ "?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
"?intervalNode "+ intervalToStart +" ?existingStartNode . "+ "?intervalNode <"+ intervalToStart +"> ?existingStartNode . \n"+
"?existingStartNode "+ type +" "+ dateTimeValueType +" .} "; "?existingStartNode <"+ type +"> <"+ dateTimeValueType +"> .}";
final static String existingStartDateQuery = final static String existingStartDateQuery =
"SELECT ?existingDateStart WHERE {"+ "SELECT ?existingDateStart WHERE {\n"+
"?edTraining "+ ToInterval +" ?intervalNode ."+ "?edTraining <"+ toInterval +"> ?intervalNode .\n"+
"?intervalNode "+ type +" "+ intervalType +" ."+ "?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
"?intervalNode "+ intervalToStart +" ?startNode ."+ "?intervalNode <"+ intervalToStart +"> ?startNode .\n"+
"?startNode "+ type +" "+ dateTimeValueType +" ."+ "?startNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
"?startNode "+ dateTimeValue +" ?existingDateStart . }"; "?startNode <"+ dateTimeValue +"> ?existingDateStart . }";
final static String existingStartPrecisionQuery = final static String existingStartPrecisionQuery =
"SELECT ?existingStartPrecision WHERE {"+ "SELECT ?existingStartPrecision WHERE {\n"+
"?edTraining "+ ToInterval +" ?intervalNode ."+ "?edTraining <"+ toInterval +"> ?intervalNode .\n"+
"?intervalNode "+ type +" "+ intervalType +" ."+ "?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
"?intervalNode "+ intervalToStart +" ?startNode ."+ "?intervalNode <"+ intervalToStart +"> ?startNode .\n"+
"?startNode "+ type +" "+ dateTimeValueType +" . "+ "?startNode <"+ type +"> <"+ dateTimeValueType +"> . \n"+
"?startNode "+ dateTimePrecision +" ?existingStartPrecision . }"; "?startNode <"+ dateTimePrecision +"> ?existingStartPrecision . }";
final static String existingEndNodeQuery = final static String existingEndNodeQuery =
"SELECT ?existingEndNode WHERE {"+ "SELECT ?existingEndNode WHERE { \n"+
"?edTraining "+ ToInterval +" ?intervalNode ."+ "?edTraining <"+ toInterval +"> ?intervalNode .\n"+
"?intervalNode "+ type +" "+ intervalType +" ."+ "?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
"?intervalNode "+ intervalToEnd +" ?existingEndNode . "+ "?intervalNode <"+ intervalToEnd +"> ?existingEndNode . \n"+
"?existingEndNode "+ type +" "+ dateTimeValueType +" .} "; "?existingEndNode <"+ type +"> <"+ dateTimeValueType +"> .}";
final static String existingEndDateQuery = final static String existingEndDateQuery =
"SELECT ?existingEndDate WHERE {"+ "SELECT ?existingEndDate WHERE {\n"+
"?edTraining "+ ToInterval +" ?intervalNode ."+ "?edTraining <"+ toInterval +"> ?intervalNode .\n"+
"?intervalNode "+ type +" "+ intervalType +" ."+ "?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
"?intervalNode "+ intervalToEnd +" ?endNode ."+ "?intervalNode <"+ intervalToEnd +"> ?endNode .\n"+
"?endNode "+ type +" "+ dateTimeValueType +" ."+ "?endNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
"?endNode "+ dateTimeValue +" ?existingEndDate . }"; "?endNode <"+ dateTimeValue +"> ?existingEndDate . }";
final static String existingEndPrecisionQuery = final static String existingEndPrecisionQuery =
"SELECT ?existingEndPrecision WHERE {"+ "SELECT ?existingEndPrecision WHERE {\n"+
"?edTraining "+ ToInterval +" ?intervalNode ."+ "?edTraining <"+ toInterval +"> ?intervalNode .\n"+
"?intervalNode "+ type +" "+ intervalType +" ."+ "?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
"?intervalNode "+ intervalToEnd +" ?endNode ."+ "?intervalNode <"+ intervalToEnd +"> ?endNode .\n"+
"?endNode "+ type +" "+ dateTimeValueType +" . "+ "?endNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
"?endNode "+ dateTimePrecision +" ?existingEndPrecision . }"; "?endNode <"+ dateTimePrecision +"> ?existingEndPrecision . }";
} }

View file

@ -29,7 +29,7 @@ public abstract class VivoBaseGenerator extends BaseEditConfigurationGenerator i
final static String dateTimeValueType =vivoCore+"DateTimeValue"; final static String dateTimeValueType =vivoCore+"DateTimeValue";
final static String dateTimePrecision =vivoCore+"dateTimePrecision"; final static String dateTimePrecision =vivoCore+"dateTimePrecision";
final static String ToInterval =vivoCore+"dateTimeInterval"; final static String toInterval =vivoCore+"dateTimeInterval";
final static String intervalType =vivoCore+"DateTimeInterval"; final static String intervalType =vivoCore+"DateTimeInterval";
final static String intervalToStart =vivoCore+"start"; final static String intervalToStart =vivoCore+"start";
final static String intervalToEnd =vivoCore+"end"; final static String intervalToEnd =vivoCore+"end";