diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/FoafNameToRdfsLabelPreprocessor.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/FoafNameToRdfsLabelPreprocessor.java index 4858a3dda..9baa9b4ac 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/FoafNameToRdfsLabelPreprocessor.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/FoafNameToRdfsLabelPreprocessor.java @@ -43,7 +43,14 @@ public class FoafNameToRdfsLabelPreprocessor implements ModelChangePreprocessor String firstNameLanguage = firstNameLiteral.getLanguage(); String lastNameLanguage = lastNameLiteral.getLanguage(); + //Start creating string for new label String newLabel = lname.getString() + ", " + fname.getString(); + + //Middle name handling + if(mname != null && mname.getString() != null) { + newLabel += " " + mname.getString(); + } + if(firstNameLanguage != null && lastNameLanguage != null && firstNameLanguage.equals(lastNameLanguage)) { //create a literal with the appropriate value and the language Literal labelWithLanguage = additionsModel.createLiteral(newLabel, firstNameLanguage); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManageLabelsForIndividualPreprocessor.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManageLabelsForIndividualPreprocessor.java index 82bb20e70..03a60f97b 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManageLabelsForIndividualPreprocessor.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ManageLabelsForIndividualPreprocessor.java @@ -64,45 +64,11 @@ public class ManageLabelsForIndividualPreprocessor extends BaseEditSubmissionPre inputSubmission.setLiteralsFromForm(literalsFromForm); } } - //First name and last name would also have a language selected so make sure those literals are also - //correctly typed - if(inputSubmission.hasLiteralValue("firstName") && inputSubmission.hasLiteralValue("lastName") && inputSubmission.hasLiteralValue("newLabelLanguage")) { - Map> literalsFromForm = inputSubmission.getLiteralsFromForm(); - List newLabelLanguages = literalsFromForm.get("newLabelLanguage"); - List firstNames = literalsFromForm.get("firstName"); - List lastNames = literalsFromForm.get("lastName"); - - //Expecting only one language - if(firstNames.size() > 0 && lastNames.size() > 0 && newLabelLanguages.size() > 0) { - Literal newLabelLanguage = newLabelLanguages.get(0); - Literal firstNameLiteral = firstNames.get(0); - Literal lastNameLiteral = lastNames.get(0); - //Get the string - String lang = this.getLanguage(newLabelLanguage.getString()); - String firstNameValue = firstNameLiteral.getString(); - String lastNameValue = lastNameLiteral.getString(); - //Now add the language category to the literal - Literal firstNameWithLanguage = inputSubmission.createLiteral(firstNameValue, - null, - lang); - Literal lastNameWithLanguage = inputSubmission.createLiteral(lastNameValue, - null, - lang); - firstNames = new ArrayList(); - lastNames = new ArrayList(); - firstNames.add(firstNameWithLanguage); - lastNames.add(lastNameWithLanguage); - //replace the label with one with language, again assuming only one label being returned - literalsFromForm.put("firstName", firstNames); - literalsFromForm.put("lastName", lastNames); - inputSubmission.setLiteralsFromForm(literalsFromForm); - } - } } //The language code returned from JAVA locales has an underscore whereas we need a hyphen - private String getLanguage(String inputLanguageCode) { + protected String getLanguage(String inputLanguageCode) { if(inputLanguageCode.contains("_")) { return inputLanguageCode.replace("_", "-"); }