}
}
+ /**
+ * Returns the node name with its current index (useful for re-ordering).
+ *
+ * @see Node#getName()
+ * @see Node#getIndex()
+ * @throws JcrException caused by {@link RepositoryException}
+ */
+ public static String getIndexedName(Node node) {
+ try {
+ return node.getName() + "[" + node.getIndex() + "]";
+ } catch (RepositoryException e) {
+ throw new JcrException("Cannot get name of " + node, e);
+ }
+ }
+
/**
* @see Node#getProperty(String)
* @throws JcrException caused by {@link RepositoryException}
// QUERY
/** Creates a JCR-SQL2 query using {@link MessageFormat}. */
public static Query createQuery(QueryManager qm, String sql, Object... args) {
+ // fix single quotes
+ sql = sql.replaceAll("'", "''");
String query = MessageFormat.format(sql, args);
try {
return qm.createQuery(query, Query.JCR_SQL2);