diff --git a/.classpath b/.classpath index 941f6638d..1137ee62d 100644 --- a/.classpath +++ b/.classpath @@ -13,7 +13,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -66,8 +66,8 @@ - - + + @@ -76,5 +76,8 @@ + + + diff --git a/build.xml b/build.xml index c8b1a2123..0dbd25245 100644 --- a/build.xml +++ b/build.xml @@ -139,7 +139,7 @@ - + diff --git a/extensions/freebase/build.xml b/extensions/freebase/build.xml index 7b88a086f..f40f07905 100644 --- a/extensions/freebase/build.xml +++ b/extensions/freebase/build.xml @@ -57,7 +57,7 @@ - + diff --git a/extensions/freebase/module/scripts/dialogs/schema-alignment/schema-alignment-dialog.html b/extensions/freebase/module/scripts/dialogs/schema-alignment/schema-alignment-dialog.html index 9c2465842..f9e855526 100644 --- a/extensions/freebase/module/scripts/dialogs/schema-alignment/schema-alignment-dialog.html +++ b/extensions/freebase/module/scripts/dialogs/schema-alignment/schema-alignment-dialog.html @@ -2,7 +2,7 @@

- +

    diff --git a/extensions/gdata/build.xml b/extensions/gdata/build.xml index 51cb9b9ce..0a344cbf2 100644 --- a/extensions/gdata/build.xml +++ b/extensions/gdata/build.xml @@ -2,8 +2,8 @@ @@ -50,7 +50,7 @@ - + diff --git a/extensions/jython/build.xml b/extensions/jython/build.xml index 12bdaa729..4b4f151b0 100644 --- a/extensions/jython/build.xml +++ b/extensions/jython/build.xml @@ -52,7 +52,7 @@ - + diff --git a/extensions/pc-axis/build.xml b/extensions/pc-axis/build.xml index 6fb950bff..3682348d7 100644 --- a/extensions/pc-axis/build.xml +++ b/extensions/pc-axis/build.xml @@ -53,7 +53,7 @@ - + diff --git a/extensions/sample/build.xml b/extensions/sample/build.xml index 029760619..42e918946 100644 --- a/extensions/sample/build.xml +++ b/extensions/sample/build.xml @@ -57,7 +57,7 @@ - + diff --git a/main/src/com/google/refine/model/recon/ReconConfig.java b/main/src/com/google/refine/model/recon/ReconConfig.java index 718b360e0..a85c70cef 100644 --- a/main/src/com/google/refine/model/recon/ReconConfig.java +++ b/main/src/com/google/refine/model/recon/ReconConfig.java @@ -90,6 +90,7 @@ abstract public class ReconConfig implements Jsonizable { mode = "core/" + mode; } + // TODO: This can fail silently if the Freebase extension is not installed. List> classes = s_opNameToClass.get(mode); if (classes != null && classes.size() > 0) { Class klass = classes.get(classes.size() - 1); diff --git a/main/src/com/google/refine/sorting/StringCriterion.java b/main/src/com/google/refine/sorting/StringCriterion.java index 2a342e6ae..4807c2507 100644 --- a/main/src/com/google/refine/sorting/StringCriterion.java +++ b/main/src/com/google/refine/sorting/StringCriterion.java @@ -71,8 +71,8 @@ public class StringCriterion extends Criterion { return new KeyMaker() { @Override protected Object makeKey(Object value) { - return (ExpressionUtils.isNonBlankData(value) && !(value instanceof String)) ? - collator.getCollationKey(value.toString()) : value; + return collator.getCollationKey((ExpressionUtils.isNonBlankData(value) + && !(value instanceof String)) ? value.toString() : (String) value); } @Override diff --git a/main/src/com/google/refine/templating/Parser.java b/main/src/com/google/refine/templating/Parser.java index c47996be4..7aa0fcb4a 100644 --- a/main/src/com/google/refine/templating/Parser.java +++ b/main/src/com/google/refine/templating/Parser.java @@ -48,12 +48,18 @@ public class Parser { int start = 0, current = 0; while (current < s.length() - 1) { char c = s.charAt(current); + char c2 = s.charAt(current + 1); if (c == '\\') { - current += 2; + if (c2 == '\\' || c2 == '{' || c2 == '$') { + fragments.add(new StaticFragment(s.substring(start, current).concat(Character.toString(c2)))); + start = current += 2; + } else { + // Invalid escape - just leave it in the template + current += 1; + } continue; } - char c2 = s.charAt(current + 1); if (c == '$' && c2 == '{') { int closeBrace = s.indexOf('}', current + 2); if (closeBrace > current + 1) { diff --git a/main/webapp/WEB-INF/lib/commons-codec-1.5.jar b/main/webapp/WEB-INF/lib/commons-codec-1.5.jar deleted file mode 100644 index e9013fed7..000000000 Binary files a/main/webapp/WEB-INF/lib/commons-codec-1.5.jar and /dev/null differ diff --git a/main/webapp/WEB-INF/lib/commons-codec-1.6.jar b/main/webapp/WEB-INF/lib/commons-codec-1.6.jar new file mode 100644 index 000000000..ee1bc49ac Binary files /dev/null and b/main/webapp/WEB-INF/lib/commons-codec-1.6.jar differ diff --git a/main/webapp/WEB-INF/lib/commons-logging-1.1.1.jar b/main/webapp/WEB-INF/lib/commons-logging-1.1.1.jar new file mode 100644 index 000000000..1deef144c Binary files /dev/null and b/main/webapp/WEB-INF/lib/commons-logging-1.1.1.jar differ diff --git a/main/webapp/WEB-INF/lib/fluent-hc-4.2.5.jar b/main/webapp/WEB-INF/lib/fluent-hc-4.2.5.jar new file mode 100644 index 000000000..2f165410b Binary files /dev/null and b/main/webapp/WEB-INF/lib/fluent-hc-4.2.5.jar differ diff --git a/main/webapp/WEB-INF/lib/httpclient-4.1.2.jar b/main/webapp/WEB-INF/lib/httpclient-4.1.2.jar deleted file mode 100644 index 55cac3dbc..000000000 Binary files a/main/webapp/WEB-INF/lib/httpclient-4.1.2.jar and /dev/null differ diff --git a/main/webapp/WEB-INF/lib/httpclient-4.2.5.jar b/main/webapp/WEB-INF/lib/httpclient-4.2.5.jar new file mode 100644 index 000000000..5310588ef Binary files /dev/null and b/main/webapp/WEB-INF/lib/httpclient-4.2.5.jar differ diff --git a/main/webapp/WEB-INF/lib/httpcore-4.1.3.jar b/main/webapp/WEB-INF/lib/httpcore-4.1.3.jar deleted file mode 100644 index 245e43610..000000000 Binary files a/main/webapp/WEB-INF/lib/httpcore-4.1.3.jar and /dev/null differ diff --git a/main/webapp/WEB-INF/lib/httpcore-4.2.4.jar b/main/webapp/WEB-INF/lib/httpcore-4.2.4.jar new file mode 100644 index 000000000..9f45bd91c Binary files /dev/null and b/main/webapp/WEB-INF/lib/httpcore-4.2.4.jar differ diff --git a/main/webapp/WEB-INF/lib/httpmime-4.2.5.jar b/main/webapp/WEB-INF/lib/httpmime-4.2.5.jar new file mode 100644 index 000000000..e63b24d70 Binary files /dev/null and b/main/webapp/WEB-INF/lib/httpmime-4.2.5.jar differ diff --git a/main/webapp/modules/core/index.vt b/main/webapp/modules/core/index.vt index 33612b746..fd20ed19c 100644 --- a/main/webapp/modules/core/index.vt +++ b/main/webapp/modules/core/index.vt @@ -58,7 +58,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
  • +
diff --git a/main/webapp/modules/core/project.vt b/main/webapp/modules/core/project.vt index f2c49a45d..b8dfc8014 100644 --- a/main/webapp/modules/core/project.vt +++ b/main/webapp/modules/core/project.vt @@ -53,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- +
diff --git a/main/webapp/modules/core/scripts/project/browsing-engine.js b/main/webapp/modules/core/scripts/project/browsing-engine.js index a4adbef79..37f483235 100644 --- a/main/webapp/modules/core/scripts/project/browsing-engine.js +++ b/main/webapp/modules/core/scripts/project/browsing-engine.js @@ -98,7 +98,7 @@ BrowsingEngine.prototype._initializeUI = function() { '
' + '

'+$.i18n._('core-project')["use-facets"]+'

' + '

'+$.i18n._('core-project')["use-to-select"]+'

' + - '

'+$.i18n._('core-project')["not-sure"]+'
'+$.i18n._('core-project')["watch-cast"]+'

' + + '

'+$.i18n._('core-project')["not-sure"]+'
'+$.i18n._('core-project')["watch-cast"]+'

' + '
' + '
' + '
' + diff --git a/main/webapp/modules/core/scripts/project/history-panel.html b/main/webapp/modules/core/scripts/project/history-panel.html index 99b3d78af..417431af4 100644 --- a/main/webapp/modules/core/scripts/project/history-panel.html +++ b/main/webapp/modules/core/scripts/project/history-panel.html @@ -1,7 +1,7 @@

-

+

diff --git a/main/webapp/modules/core/scripts/views/data-table/menu-edit-column.js b/main/webapp/modules/core/scripts/views/data-table/menu-edit-column.js index c3d41c224..db718ab18 100644 --- a/main/webapp/modules/core/scripts/views/data-table/menu-edit-column.js +++ b/main/webapp/modules/core/scripts/views/data-table/menu-edit-column.js @@ -78,15 +78,6 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) { } ); }); - - var o = DataTableView.sampleVisibleRows(column); - var previewWidget = new ExpressionPreviewDialog.Widget( - elmts, - column.cellIndex, - o.rowIndices, - o.values, - null - ); }; var doAddColumnByFetchingURLs = function() { @@ -133,15 +124,6 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) { ); dismiss(); }); - - var o = DataTableView.sampleVisibleRows(column); - var previewWidget = new ExpressionPreviewDialog.Widget( - elmts, - column.cellIndex, - o.rowIndices, - o.values, - null - ); }; var doRemoveColumn = function() { @@ -183,15 +165,18 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) { }; var doMoveColumnBy = function(change) { - Refine.postCoreProcess( - "move-column", - { - columnName: column.name, - index: Refine.columnNameToColumnIndex(column.name) + change - }, - null, - { modelsChanged: true } - ); + var newidx = Refine.columnNameToColumnIndex(column.name) + change; + if (newidx > 0 && newidx < Refine.columnNameToColumnIndex(column.name)) { + Refine.postCoreProcess( + "move-column", + { + columnName: column.name, + index: newidx + }, + null, + { modelsChanged: true } + ); + } }; var doSplitColumn = function() {