diff --git a/webapp/build.xml b/webapp/build.xml
index 3ed917b8a..0a009efa7 100644
--- a/webapp/build.xml
+++ b/webapp/build.xml
@@ -115,6 +115,16 @@ deploy - Deploy the application directly into the Tomcat webapps directory.
+
+
+
+
+
+
+
+
+
+
diff --git a/webapp/config/licenser/known_exceptions.txt b/webapp/config/licenser/known_exceptions.txt
index 659c9d2e5..665d8a46d 100644
--- a/webapp/config/licenser/known_exceptions.txt
+++ b/webapp/config/licenser/known_exceptions.txt
@@ -133,6 +133,9 @@ webapp/web/WEB-INF/tlds/taglibs-string.tld
webapp/web/themes/enhanced/css/blueprint/grid.css
webapp/web/themes/enhanced/css/blueprint/ie.css
+# See /doc/3rd-party-licenses.txt for LICENSE file
+webapp/web/css/jquery_plugins/jquery.realperson.css
+
# PROBLEM: Can't find any info on licensing.
webapp/web/themes/enhanced/css/blueprint/liquid.css
diff --git a/webapp/src/edu/cornell/mannlib/vedit/controller/OperationController.java b/webapp/src/edu/cornell/mannlib/vedit/controller/OperationController.java
index 29096400f..ba5a740ed 100644
--- a/webapp/src/edu/cornell/mannlib/vedit/controller/OperationController.java
+++ b/webapp/src/edu/cornell/mannlib/vedit/controller/OperationController.java
@@ -441,14 +441,14 @@ public class OperationController extends BaseEditController {
} catch (InvocationTargetException e) {
log.error(this.getClass().getName()+" encountered exception performing two-stage update");
Throwable innerE = e.getTargetException();
- log.error(innerE);
+ log.error(innerE, innerE);
if (innerE.getMessage()!=null) {
- log.error(innerE.getMessage());
+ //log.error(innerE.getMessage());
epo.setAttribute("globalErrorMsg",innerE.getMessage());
}
return FAILURE;
} catch (IllegalAccessException iae) {
- log.error(iae);
+ log.error(iae, iae);
epo.setAttribute("globalErrorMessage", "Illegal access - see error logs.");
return FAILURE;
}
@@ -459,15 +459,15 @@ public class OperationController extends BaseEditController {
log.error(this.getClass().getName()+" encountered exception performing edit action");
Throwable innerE = e.getTargetException();
//innerE.printStackTrace();
- log.error(innerE);
+ log.error(innerE, innerE);
if (innerE.getMessage()!=null) {
//System.out.println(innerE.getMessage());
- log.error(innerE.getMessage());
+ //log.error(innerE.getMessage());
epo.setAttribute("globalErrorMsg",innerE.getMessage());
}
return FAILURE;
} catch (IllegalAccessException iae) {
- log.error(iae);
+ log.error(iae, iae);
epo.setAttribute("globalErrorMessage", "Illegal access - see error logs.");
return FAILURE;
}
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java
index 78bc20a7c..f3e9b2618 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/auth/permissions/SimplePermission.java
@@ -84,6 +84,8 @@ public class SimplePermission extends Permission {
"UseMiscellaneousEditorPages");
public static final SimplePermission USE_MISCELLANEOUS_PAGES = new SimplePermission(
"UseMiscellaneousPages");
+ public static final SimplePermission USE_SPARQL_QUERY_PAGE = new SimplePermission(
+ "UseSparqlQueryPage");
public static List getAllInstances() {
return new ArrayList(allInstances.values());
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatement.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatement.java
index cbe60b321..f904eecac 100755
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatement.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatement.java
@@ -7,10 +7,6 @@ public interface ObjectPropertyStatement {
public String toString();
- public boolean isSubjectOriented();
-
- public void setSubjectOriented(boolean subjectOriented);
-
public String getSubjectURI();
public void setSubjectURI(String subjectURI);
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatementImpl.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatementImpl.java
index 789dc9e91..e5f638a04 100755
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatementImpl.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/ObjectPropertyStatementImpl.java
@@ -18,9 +18,7 @@ public class ObjectPropertyStatementImpl implements ObjectPropertyStatement
private String propertyURI = null;
private ObjectProperty property = null;
- private String qualifier = null;
- private boolean subjectOriented = true; //is the range the item of interest?
- private String description = null; //generated desc based on subjectOriented during sql query.
+ private boolean subjectOriented = true; //is the range the item of interest?
public ObjectPropertyStatementImpl() { }
@@ -37,23 +35,7 @@ public class ObjectPropertyStatementImpl implements ObjectPropertyStatement
String prop = (getProperty()!=null)?getProperty().getDomainPublic():"by propURI"+getPropertyURI();
String ran = (getObject()!= null)?getObject().getName():"objectURI:"+getObjectURI();
String dom = (getSubject()!= null)?getSubject().getName():"subjectURI:"+getSubjectURI();
- String orent = (isSubjectOriented() )?"subject oriented":"object oriented";
- return "Object Property Statements: "+dom+" "+prop+" to "+ran+" "+orent;
- }
-
- /* (non-Javadoc)
- * @see edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement#isSubjectOriented()
- */
- public boolean isSubjectOriented() {
- return subjectOriented;
- }
-
-
- /* (non-Javadoc)
- * @see edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement#setSubjectOriented(boolean)
- */
- public void setSubjectOriented(boolean subjectOriented) {
- this.subjectOriented = subjectOriented;
+ return "Object Property Statements: "+dom+" "+prop+" to "+ran+" ";
}
/* (non-Javadoc)
@@ -99,7 +81,12 @@ public class ObjectPropertyStatementImpl implements ObjectPropertyStatement
* @see edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement#setSubject(edu.cornell.mannlib.vitro.webapp.beans.Individual)
*/
public void setSubject(Individual subject) {
- this.subject = subject;
+ this.subject = subject;
+ if (subject == null || subject.isAnonymous()) {
+ setSubjectURI(null);
+ } else {
+ setSubjectURI(subject.getURI());
+ }
}
@@ -135,7 +122,12 @@ public class ObjectPropertyStatementImpl implements ObjectPropertyStatement
* @see edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement#setObject(edu.cornell.mannlib.vitro.webapp.beans.Individual)
*/
public void setObject(Individual object) {
- this.object = object;
+ this.object = object;
+ if (object == null || object.isAnonymous()) {
+ setObjectURI(null);
+ } else {
+ setObjectURI(object.getURI());
+ }
}
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClass.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClass.java
index 2a6445e29..41d4b8799 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClass.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/beans/VClass.java
@@ -133,8 +133,14 @@ public class VClass extends BaseResourceBean implements Comparable
* Sorts alphabetically by name
*/
public int compareTo (VClass o1) {
- Collator collator = Collator.getInstance();
- return collator.compare(this.getName(),o1.getName());
+ if (this.getName() == null) {
+ return 1;
+ } else if (o1.getName() == null) {
+ return -1;
+ } else {
+ Collator collator = Collator.getInstance();
+ return collator.compare(this.getName(),o1.getName());
+ }
}
/**
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java
index 647ebcab2..95279bb90 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/MailUsersServlet.java
@@ -128,8 +128,6 @@ public class MailUsersServlet extends VitroHttpServlet {
msgBuf.append("