- replace the 'cos' library with the apache 'commons-fileupload' for licensing reason (the cos library had a weird arm-twisting license that forced you to buy an o'reilly book on servlets for each developer in your company... good thing I read it all)
- some tweaks on imgareaselect's look git-svn-id: http://google-refine.googlecode.com/svn/trunk@483 7d457c2a-affb-35e4-300a-418c747d4874
This commit is contained in:
parent
93a8f78192
commit
397861b612
@ -10,9 +10,9 @@
|
||||
<classpathentry kind="lib" path="lib/log4j-1.2.15.jar" sourcepath="lib-src/log4j-1.2.15-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/commons-codec-1.3.jar" sourcepath="lib-src/commons-codec-1.3-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/commons-lang-2.5.jar" sourcepath="lib-src/commons-lang-2.5-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/commons-fileupload-1.2.1.jar" sourcepath="lib-src/commons-fileupload-1.2.1-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/json-20100208.jar" sourcepath="lib-src/json-20100208-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/icu4j-4.2.1.jar" sourcepath="lib-src/icu4j-4.2.1-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/cos-20081226.jar" sourcepath="lib-src/cos-20081226-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/arithcode-1.1.jar" sourcepath="lib-src/arithcode-1.1-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/jdatapath-alpha2.jar" sourcepath="lib-src/jdatapath-alpha2-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/secondstring-20100303.jar" sourcepath="lib-src/secondstring-20100303-sources.jar"/>
|
||||
|
39
LICENSE.txt
39
LICENSE.txt
@ -35,11 +35,15 @@
|
||||
See the 'licenses' directory for a list of the licenses for the libraries we depend on,
|
||||
ordered here by license:
|
||||
|
||||
Apache License 2.0
|
||||
------------------
|
||||
|
||||
licenses/apache2.0.LICENSE.txt
|
||||
calendar-parser (package com.metaweb.gridworks.expr.util)
|
||||
ant-tools
|
||||
commons-lang
|
||||
commons-codec
|
||||
commons-fileupload
|
||||
jackson
|
||||
jdatapath
|
||||
jetty
|
||||
@ -50,44 +54,47 @@ licenses/apache2.0.LICENSE.txt
|
||||
poi-ooxml-schemas
|
||||
servlet-api
|
||||
xmlbeans
|
||||
|
||||
BSD
|
||||
---
|
||||
|
||||
licenses/secondstring.LICENSE.txt (BSD family)
|
||||
licenses/secondstring.LICENSE.txt
|
||||
secondstring
|
||||
|
||||
licenses/dom4j.LICENSE.txt (BSD family)
|
||||
licenses/dom4j.LICENSE.txt
|
||||
dom4j
|
||||
|
||||
licenses/simile.LICENSE.txt (BSD family)
|
||||
vicino
|
||||
licenses/simile.LICENSE.txt
|
||||
simile vicino
|
||||
|
||||
licenses/arithcode.LICENSE.txt (BSD family)
|
||||
licenses/arithcode.LICENSE.txt
|
||||
arithcode
|
||||
|
||||
licenses/freebase_suggest.LICENSE.txt (BSD family)
|
||||
licenses/freebase_suggest.LICENSE.txt
|
||||
freebase_suggest
|
||||
|
||||
licenses/jquery.LICENSE.txt (MIT)
|
||||
MIT
|
||||
---
|
||||
|
||||
licenses/jquery.LICENSE.txt
|
||||
jquery
|
||||
|
||||
licenses/jquery_ui.LICENSE.txt (MIT)
|
||||
licenses/jquery_ui.LICENSE.txt
|
||||
jquery_ui
|
||||
|
||||
licenses/datejs.LICENSE.txt (MIT)
|
||||
licenses/datejs.LICENSE.txt
|
||||
datejs
|
||||
|
||||
licenses/imgareaselect.LICENSE.txt (MIT)
|
||||
licenses/imgareaselect.LICENSE.txt
|
||||
imgareaselect
|
||||
|
||||
licenses/slf4j.LICENSE.txt (MIT)
|
||||
licenses/slf4j.LICENSE.txt
|
||||
slf4j-api
|
||||
slf4j-log4j12
|
||||
jcl-over-slf4j
|
||||
|
||||
licenses/icu4j.LICENSE.txt (MIT family)
|
||||
licenses/icu4j.LICENSE.txt
|
||||
icu4j
|
||||
|
||||
licenses/json.LICENSE.txt (MIT family)
|
||||
licenses/json.LICENSE.txt
|
||||
json
|
||||
|
||||
licenses/cos.LICENSE.txt
|
||||
cos
|
BIN
lib-src/commons-fileupload-1.2.1-sources.jar
Normal file
BIN
lib-src/commons-fileupload-1.2.1-sources.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
lib/commons-fileupload-1.2.1.jar
Normal file
BIN
lib/commons-fileupload-1.2.1.jar
Normal file
Binary file not shown.
Binary file not shown.
@ -10,7 +10,6 @@ import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.io.Serializable;
|
||||
import java.io.StringReader;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
@ -31,6 +30,10 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.fileupload.FileItemIterator;
|
||||
import org.apache.commons.fileupload.FileItemStream;
|
||||
import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
||||
import org.apache.commons.fileupload.util.Streams;
|
||||
import org.apache.tools.bzip2.CBZip2InputStream;
|
||||
import org.apache.tools.tar.TarEntry;
|
||||
import org.apache.tools.tar.TarInputStream;
|
||||
@ -47,10 +50,6 @@ import com.metaweb.gridworks.importers.TsvCsvImporter;
|
||||
import com.metaweb.gridworks.importers.XmlImporter;
|
||||
import com.metaweb.gridworks.model.Project;
|
||||
import com.metaweb.gridworks.util.ParsingUtilities;
|
||||
import com.oreilly.servlet.multipart.FilePart;
|
||||
import com.oreilly.servlet.multipart.MultipartParser;
|
||||
import com.oreilly.servlet.multipart.ParamPart;
|
||||
import com.oreilly.servlet.multipart.Part;
|
||||
|
||||
public class CreateProjectCommand extends Command {
|
||||
|
||||
@ -66,7 +65,6 @@ public class CreateProjectCommand extends Command {
|
||||
* This is why we have to parse the URL for parameters ourselves.
|
||||
* Don't call request.getParameter() before calling internalImport().
|
||||
*/
|
||||
|
||||
Properties options = ParsingUtilities.parseUrlParameters(request);
|
||||
|
||||
Project project = new Project();
|
||||
@ -102,47 +100,40 @@ public class CreateProjectCommand extends Command {
|
||||
Project project,
|
||||
Properties options
|
||||
) throws Exception {
|
||||
MultipartParser parser = new MultipartParser(request, 1024 * 1024 * 1024);
|
||||
|
||||
ServletFileUpload upload = new ServletFileUpload();
|
||||
String url = null;
|
||||
|
||||
if (parser != null) {
|
||||
Part part = null;
|
||||
String url = null;
|
||||
|
||||
while ((part = parser.readNextPart()) != null) {
|
||||
|
||||
if (part.isFile()) {
|
||||
|
||||
FilePart filePart = (FilePart) part;
|
||||
InputStream stream = filePart.getInputStream();
|
||||
String name = filePart.getFileName().toLowerCase();
|
||||
FileItemIterator iter = upload.getItemIterator(request);
|
||||
while (iter.hasNext()) {
|
||||
FileItemStream item = iter.next();
|
||||
String name = item.getFieldName().toLowerCase();
|
||||
InputStream stream = item.openStream();
|
||||
if (item.isFormField()) {
|
||||
if (name.equals("raw-text")) {
|
||||
Reader reader = new InputStreamReader(stream,"UTF-8");
|
||||
try {
|
||||
internalImportFile(project, options, name, stream);
|
||||
internalInvokeImporter(project, new TsvCsvImporter(), options, reader);
|
||||
} finally {
|
||||
stream.close();
|
||||
}
|
||||
|
||||
} else if (part.isParam()) {
|
||||
ParamPart paramPart = (ParamPart) part;
|
||||
String paramName = paramPart.getName();
|
||||
|
||||
if (paramName.equals("raw-text")) {
|
||||
StringReader reader = new StringReader(paramPart.getStringValue());
|
||||
try {
|
||||
internalInvokeImporter(project, new TsvCsvImporter(), options, reader);
|
||||
} finally {
|
||||
reader.close();
|
||||
}
|
||||
} else if (paramName.equals("url")) {
|
||||
url = paramPart.getStringValue();
|
||||
} else {
|
||||
options.put(paramName, paramPart.getStringValue());
|
||||
reader.close();
|
||||
}
|
||||
} else if (name.equals("url")) {
|
||||
url = Streams.asString(stream);
|
||||
} else {
|
||||
options.put(name, Streams.asString(stream));
|
||||
}
|
||||
} else {
|
||||
String fileName = item.getName().toLowerCase();
|
||||
try {
|
||||
internalImportFile(project, options, fileName, stream);
|
||||
} finally {
|
||||
stream.close();
|
||||
}
|
||||
}
|
||||
|
||||
if (url != null && url.length() > 0) {
|
||||
internalImportURL(request, project, options, url);
|
||||
}
|
||||
}
|
||||
|
||||
if (url != null && url.length() > 0) {
|
||||
internalImportURL(request, project, options, url);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,10 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.fileupload.FileItemIterator;
|
||||
import org.apache.commons.fileupload.FileItemStream;
|
||||
import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
||||
import org.apache.commons.fileupload.util.Streams;
|
||||
import org.apache.tools.tar.TarEntry;
|
||||
import org.apache.tools.tar.TarInputStream;
|
||||
|
||||
@ -22,10 +26,6 @@ import com.metaweb.gridworks.ProjectMetadata;
|
||||
import com.metaweb.gridworks.commands.Command;
|
||||
import com.metaweb.gridworks.model.Project;
|
||||
import com.metaweb.gridworks.util.ParsingUtilities;
|
||||
import com.oreilly.servlet.multipart.FilePart;
|
||||
import com.oreilly.servlet.multipart.MultipartParser;
|
||||
import com.oreilly.servlet.multipart.ParamPart;
|
||||
import com.oreilly.servlet.multipart.Part;
|
||||
|
||||
public class ImportProjectCommand extends Command {
|
||||
|
||||
@ -68,44 +68,34 @@ public class ImportProjectCommand extends Command {
|
||||
Properties options,
|
||||
long projectID
|
||||
) throws Exception {
|
||||
MultipartParser parser = null;
|
||||
try {
|
||||
parser = new MultipartParser(request, 1024 * 1024 * 1024);
|
||||
} catch (Exception e) {
|
||||
// silent
|
||||
}
|
||||
|
||||
if (parser != null) {
|
||||
Part part = null;
|
||||
String url = null;
|
||||
|
||||
while ((part = parser.readNextPart()) != null) {
|
||||
if (part.isFile()) {
|
||||
FilePart filePart = (FilePart) part;
|
||||
InputStream inputStream = filePart.getInputStream();
|
||||
try {
|
||||
internalImportInputStream(
|
||||
projectID,
|
||||
inputStream,
|
||||
!filePart.getFileName().endsWith(".tar")
|
||||
);
|
||||
} finally {
|
||||
inputStream.close();
|
||||
}
|
||||
} else if (part.isParam()) {
|
||||
ParamPart paramPart = (ParamPart) part;
|
||||
String paramName = paramPart.getName();
|
||||
if (paramName.equals("url")) {
|
||||
url = paramPart.getStringValue();
|
||||
} else {
|
||||
options.put(paramName, paramPart.getStringValue());
|
||||
}
|
||||
String url = null;
|
||||
|
||||
ServletFileUpload upload = new ServletFileUpload();
|
||||
|
||||
FileItemIterator iter = upload.getItemIterator(request);
|
||||
while (iter.hasNext()) {
|
||||
FileItemStream item = iter.next();
|
||||
String name = item.getFieldName().toLowerCase();
|
||||
InputStream stream = item.openStream();
|
||||
if (item.isFormField()) {
|
||||
if (name.equals("url")) {
|
||||
url = Streams.asString(stream);
|
||||
} else {
|
||||
options.put(name, Streams.asString(stream));
|
||||
}
|
||||
} else {
|
||||
String fileName = item.getName().toLowerCase();
|
||||
try {
|
||||
internalImportInputStream(projectID, stream, !fileName.endsWith(".tar"));
|
||||
} finally {
|
||||
stream.close();
|
||||
}
|
||||
}
|
||||
|
||||
if (url != null && url.length() > 0) {
|
||||
internalImportURL(request, options, projectID, url);
|
||||
}
|
||||
}
|
||||
|
||||
if (url != null && url.length() > 0) {
|
||||
internalImportURL(request, options, projectID, url);
|
||||
}
|
||||
}
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 72 B |
Binary file not shown.
Before Width: | Height: | Size: 72 B |
@ -3,38 +3,38 @@
|
||||
*/
|
||||
|
||||
.imgareaselect-border1 {
|
||||
background: url(border-v.gif) repeat-y left top;
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
||||
.imgareaselect-border2 {
|
||||
background: url(border-h.gif) repeat-x left top;
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
||||
.imgareaselect-border3 {
|
||||
background: url(border-v.gif) repeat-y right top;
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
||||
.imgareaselect-border4 {
|
||||
background: url(border-h.gif) repeat-x left bottom;
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
||||
.imgareaselect-border1, .imgareaselect-border2,
|
||||
.imgareaselect-border3, .imgareaselect-border4 {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
opacity: 0.2;
|
||||
filter: alpha(opacity=20);
|
||||
}
|
||||
|
||||
.imgareaselect-handle {
|
||||
background-color: #fff;
|
||||
border: solid 1px #000;
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
opacity: 0.2;
|
||||
filter: alpha(opacity=20);
|
||||
}
|
||||
|
||||
.imgareaselect-outer {
|
||||
background-color: #000;
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
opacity: 0.2;
|
||||
filter: alpha(opacity=20);
|
||||
}
|
||||
|
||||
.imgareaselect-selection {
|
||||
|
@ -73,7 +73,7 @@ ScatterplotFacet.prototype._initializeUI = function() {
|
||||
this._messageDiv = $('<div>').text("Loading...").addClass("facet-scatterplot-message").appendTo(bodyDiv);
|
||||
this._plotDiv = $('<div>').addClass("facet-scatterplot-plot").appendTo(bodyDiv);
|
||||
this._statusDiv = $('<div>').addClass("facet-scatterplot-status").appendTo(bodyDiv);
|
||||
|
||||
|
||||
this._plot = new ScatterplotWidget(this._plotDiv, this._config);
|
||||
};
|
||||
|
||||
|
@ -55,6 +55,8 @@ ScatterplotWidget.prototype._update = function() {
|
||||
};
|
||||
|
||||
ScatterplotWidget.prototype._initializeUI = function() {
|
||||
self = this;
|
||||
|
||||
this._elmt
|
||||
.empty()
|
||||
.hide()
|
||||
@ -62,6 +64,18 @@ ScatterplotWidget.prototype._initializeUI = function() {
|
||||
.html('<canvas bind="canvas"></canvas>');
|
||||
|
||||
this._elmts = DOM.bind(this._elmt);
|
||||
this._elmts.canvas.imgAreaSelect({
|
||||
handles: false,
|
||||
fadeSpeed: 70,
|
||||
onSelectEnd: function(elmt, selection) {
|
||||
self.highlight(
|
||||
selection.x1,
|
||||
selection.x2,
|
||||
self._plotter.h - selection.y2,
|
||||
self._plotter.h - selection.y1
|
||||
);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
ScatterplotWidget.prototype._resize = function() {
|
||||
@ -89,19 +103,15 @@ ScatterplotWidget.prototype._render = function() {
|
||||
var img2 = new Image();
|
||||
img2.onload = function(){
|
||||
ctx.drawImage(img2,0,0);
|
||||
|
||||
ctx.translate(0, canvas.height);
|
||||
ctx.scale(1, -1);
|
||||
|
||||
// draw something else
|
||||
|
||||
ctx.restore();
|
||||
}
|
||||
self._plotter.color = "000088";
|
||||
console.log(self._plotter);
|
||||
img2.src = self._get_image_url(self._plotter);
|
||||
}
|
||||
}
|
||||
self._plotter.color = "000000";
|
||||
console.log(self._plotter);
|
||||
img.src = self._get_image_url(self._plotter);
|
||||
};
|
||||
|
||||
|
@ -40,6 +40,7 @@ public class Gridworks {
|
||||
static private final String VERSION = "1.0a";
|
||||
static private final String DEFAULT_HOST = "127.0.0.1";
|
||||
static private final int DEFAULT_PORT = 3333;
|
||||
static private final int MAX_UPLOAD_SIZE = 1024 * 1024 * 1024;
|
||||
|
||||
static private File tempDir;
|
||||
|
||||
@ -73,7 +74,15 @@ public class Gridworks {
|
||||
public static File getTempFile(String name) {
|
||||
return new File(tempDir, name);
|
||||
}
|
||||
|
||||
public static File getTempDir() {
|
||||
return tempDir;
|
||||
}
|
||||
|
||||
public static int getMaxUploadSize() {
|
||||
return Configurations.getInteger("gridworks.max_upload_size",MAX_UPLOAD_SIZE);
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
// tell jetty to use SLF4J for logging instead of its own stuff
|
||||
|
Loading…
Reference in New Issue
Block a user