Added make_cli option for generating a zip containing all files necessary to do 'gridworks run' at the command line. This excludes Java source files but contains pretty much everything else.
Added make_all option that makes dmg, exe, and cli. Added html and xls exporters. Made exported files named after project names rather than project IDs. git-svn-id: http://google-refine.googlecode.com/svn/trunk@314 7d457c2a-affb-35e4-300a-418c747d4874
This commit is contained in:
parent
07945f9cde
commit
07cf85b2a5
52
build.xml
52
build.xml
@ -30,6 +30,7 @@
|
|||||||
<property name="tests_classes.dir" value="${tests.dir}/classes" />
|
<property name="tests_classes.dir" value="${tests.dir}/classes" />
|
||||||
<property name="bundle.dir" value="${build.dir}/bundle" />
|
<property name="bundle.dir" value="${build.dir}/bundle" />
|
||||||
<property name="exe.dir" value="${build.dir}/exe" />
|
<property name="exe.dir" value="${build.dir}/exe" />
|
||||||
|
<property name="cli.dir" value="${build.dir}/cli" />
|
||||||
|
|
||||||
<path id="class.path">
|
<path id="class.path">
|
||||||
<fileset dir="${lib.dir}">
|
<fileset dir="${lib.dir}">
|
||||||
@ -97,13 +98,13 @@
|
|||||||
</jarbundler>
|
</jarbundler>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="exe" depends="jar">
|
<target name="exe" depends="jar">
|
||||||
<mkdir dir="${exe.dir}"/>
|
<mkdir dir="${exe.dir}"/>
|
||||||
<taskdef
|
<taskdef
|
||||||
name="launch4j"
|
name="launch4j"
|
||||||
classname="net.sf.launch4j.ant.Launch4jTask"
|
classname="net.sf.launch4j.ant.Launch4jTask"
|
||||||
classpath="${tools.dir}/launch4j/launch4j.jar:${tools.dir}/launch4j/lib/xstream.jar"
|
classpath="${tools.dir}/launch4j/launch4j.jar:${tools.dir}/launch4j/lib/xstream.jar"
|
||||||
/>
|
/>
|
||||||
<launch4j>
|
<launch4j>
|
||||||
<config
|
<config
|
||||||
headerType="console"
|
headerType="console"
|
||||||
@ -147,9 +148,52 @@
|
|||||||
<include name="**/*"/>
|
<include name="**/*"/>
|
||||||
</fileset>
|
</fileset>
|
||||||
</copy>
|
</copy>
|
||||||
<zip destfile="${dist.dir}/gridworks-${version}.zip" basedir="${exe.dir}"/>
|
<zip destfile="${dist.dir}/gridworks-${version}.zip" basedir="${exe.dir}"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
<target name="cli" depends="jar">
|
||||||
|
<mkdir dir="${cli.dir}"/>
|
||||||
|
|
||||||
|
<copy todir="${cli.dir}/lib">
|
||||||
|
<fileset dir="${lib.dir}">
|
||||||
|
<include name="**/*.jar"/>
|
||||||
|
</fileset>
|
||||||
|
</copy>
|
||||||
|
<copy todir="${cli.dir}/lib/native/windows">
|
||||||
|
<fileset dir="${lib.dir}/native/windows">
|
||||||
|
<include name="*.dll"/>
|
||||||
|
</fileset>
|
||||||
|
</copy>
|
||||||
|
|
||||||
|
<copy todir="${cli.dir}/build/classes">
|
||||||
|
<fileset dir="${build.dir}/classes">
|
||||||
|
<include name="**"/>
|
||||||
|
</fileset>
|
||||||
|
</copy>
|
||||||
|
<copy todir="${cli.dir}/src/main/webapp">
|
||||||
|
<fileset dir="${basedir}/src/main/webapp">
|
||||||
|
<include name="**/*"/>
|
||||||
|
</fileset>
|
||||||
|
</copy>
|
||||||
|
<copy todir="${cli.dir}/thirdparty">
|
||||||
|
<fileset dir="${basedir}/thirdparty">
|
||||||
|
<include name="**/*"/>
|
||||||
|
</fileset>
|
||||||
|
</copy>
|
||||||
|
<copy todir="${cli.dir}/licenses">
|
||||||
|
<fileset dir="${basedir}/licenses">
|
||||||
|
<include name="**/*"/>
|
||||||
|
</fileset>
|
||||||
|
</copy>
|
||||||
|
<copy file="${basedir}/gridworks" tofile="${cli.dir}/gridworks"/>
|
||||||
|
<copy file="${basedir}/gridworks.bat" tofile="${cli.dir}/gridworks.bat"/>
|
||||||
|
<copy file="${basedir}/build.xml" tofile="${cli.dir}/build.xml"/>
|
||||||
|
<copy file="${basedir}/LICENSE.txt" tofile="${cli.dir}/LICENSE.txt"/>
|
||||||
|
<copy file="${basedir}/README.txt" tofile="${cli.dir}/README.txt"/>
|
||||||
|
|
||||||
|
<zip destfile="${dist.dir}/gridworks-${version}-cli.zip" basedir="${cli.dir}"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
<target name="clean">
|
<target name="clean">
|
||||||
<delete file="${build.dir}/gridworks.jar" />
|
<delete file="${build.dir}/gridworks.jar" />
|
||||||
<delete dir="${classes.dir}" />
|
<delete dir="${classes.dir}" />
|
||||||
|
25
gridworks
25
gridworks
@ -49,6 +49,8 @@ and <action> is one of
|
|||||||
|
|
||||||
make_dmg <version> ........ Make MacOSX DMG distribution
|
make_dmg <version> ........ Make MacOSX DMG distribution
|
||||||
make_exe <version> ........ Make Windows EXE distribution
|
make_exe <version> ........ Make Windows EXE distribution
|
||||||
|
make_cli <version> ........ Make zip distribution to be run at command line
|
||||||
|
make_all <version> ........ Make all distributions
|
||||||
|
|
||||||
clean ..................... Clean compiled classes
|
clean ..................... Clean compiled classes
|
||||||
distclean ................. Remove all generated files
|
distclean ................. Remove all generated files
|
||||||
@ -146,7 +148,13 @@ get_version() {
|
|||||||
|
|
||||||
NUM_VERSION=`echo $VERSION | sed 's/[a-zA-Z]//g'`
|
NUM_VERSION=`echo $VERSION | sed 's/[a-zA-Z]//g'`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
make_all() {
|
||||||
|
make_dmg $1
|
||||||
|
make_exe $1
|
||||||
|
make_cli $1
|
||||||
|
}
|
||||||
|
|
||||||
make_exe() {
|
make_exe() {
|
||||||
check_macosx
|
check_macosx
|
||||||
dist_prepare
|
dist_prepare
|
||||||
@ -155,6 +163,15 @@ make_exe() {
|
|||||||
|
|
||||||
ant exe
|
ant exe
|
||||||
}
|
}
|
||||||
|
|
||||||
|
make_cli() {
|
||||||
|
check_macosx
|
||||||
|
dist_prepare
|
||||||
|
launch4j_prepare
|
||||||
|
get_version $1
|
||||||
|
|
||||||
|
ant cli
|
||||||
|
}
|
||||||
|
|
||||||
make_dmg() {
|
make_dmg() {
|
||||||
check_macosx
|
check_macosx
|
||||||
@ -387,6 +404,12 @@ case "$ACTION" in
|
|||||||
|
|
||||||
make_exe)
|
make_exe)
|
||||||
make_exe $1;;
|
make_exe $1;;
|
||||||
|
|
||||||
|
make_cli)
|
||||||
|
make_cli $1;;
|
||||||
|
|
||||||
|
make_all)
|
||||||
|
make_all $1;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
usage; ;;
|
usage; ;;
|
||||||
|
@ -11,8 +11,10 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import com.metaweb.gridworks.browsing.Engine;
|
import com.metaweb.gridworks.browsing.Engine;
|
||||||
import com.metaweb.gridworks.commands.Command;
|
import com.metaweb.gridworks.commands.Command;
|
||||||
import com.metaweb.gridworks.exporters.Exporter;
|
import com.metaweb.gridworks.exporters.Exporter;
|
||||||
|
import com.metaweb.gridworks.exporters.HtmlTableExporter;
|
||||||
import com.metaweb.gridworks.exporters.TripleloaderExporter;
|
import com.metaweb.gridworks.exporters.TripleloaderExporter;
|
||||||
import com.metaweb.gridworks.exporters.TsvExporter;
|
import com.metaweb.gridworks.exporters.TsvExporter;
|
||||||
|
import com.metaweb.gridworks.exporters.XlsExporter;
|
||||||
import com.metaweb.gridworks.model.Project;
|
import com.metaweb.gridworks.model.Project;
|
||||||
|
|
||||||
public class ExportRowsCommand extends Command {
|
public class ExportRowsCommand extends Command {
|
||||||
@ -25,11 +27,14 @@ public class ExportRowsCommand extends Command {
|
|||||||
Engine engine = getEngine(request, project);
|
Engine engine = getEngine(request, project);
|
||||||
String format = request.getParameter("format");
|
String format = request.getParameter("format");
|
||||||
|
|
||||||
PrintWriter writer = response.getWriter();
|
|
||||||
|
|
||||||
Exporter exporter = null;
|
Exporter exporter = null;
|
||||||
if ("tripleloader".equalsIgnoreCase(format)) {
|
if ("tripleloader".equalsIgnoreCase(format)) {
|
||||||
exporter = new TripleloaderExporter();
|
exporter = new TripleloaderExporter();
|
||||||
|
} else if ("html".equalsIgnoreCase(format)) {
|
||||||
|
exporter = new HtmlTableExporter();
|
||||||
|
} else if ("xls".equalsIgnoreCase(format)) {
|
||||||
|
exporter = new XlsExporter();
|
||||||
} else {
|
} else {
|
||||||
exporter = new TsvExporter();
|
exporter = new TsvExporter();
|
||||||
}
|
}
|
||||||
@ -37,8 +42,12 @@ public class ExportRowsCommand extends Command {
|
|||||||
response.setCharacterEncoding("UTF-8");
|
response.setCharacterEncoding("UTF-8");
|
||||||
response.setHeader("Content-Type", exporter.getContentType());
|
response.setHeader("Content-Type", exporter.getContentType());
|
||||||
|
|
||||||
exporter.export(project, new Properties(), engine, writer);
|
if (exporter.takeWriter()) {
|
||||||
|
PrintWriter writer = response.getWriter();
|
||||||
|
exporter.export(project, new Properties(), engine, writer);
|
||||||
|
} else {
|
||||||
|
exporter.export(project, new Properties(), engine, response.getOutputStream());
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
respondException(response, e);
|
respondException(response, e);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.metaweb.gridworks.exporters;
|
package com.metaweb.gridworks.exporters;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
@ -10,5 +11,9 @@ import com.metaweb.gridworks.model.Project;
|
|||||||
public interface Exporter {
|
public interface Exporter {
|
||||||
public String getContentType();
|
public String getContentType();
|
||||||
|
|
||||||
|
public boolean takeWriter();
|
||||||
|
|
||||||
|
public void export(Project project, Properties options, Engine engine, OutputStream outputStream) throws IOException;
|
||||||
|
|
||||||
public void export(Project project, Properties options, Engine engine, Writer writer) throws IOException;
|
public void export(Project project, Properties options, Engine engine, Writer writer) throws IOException;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,97 @@
|
|||||||
|
package com.metaweb.gridworks.exporters;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.io.Writer;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||||
|
|
||||||
|
import com.metaweb.gridworks.ProjectManager;
|
||||||
|
import com.metaweb.gridworks.browsing.Engine;
|
||||||
|
import com.metaweb.gridworks.browsing.FilteredRows;
|
||||||
|
import com.metaweb.gridworks.browsing.RowVisitor;
|
||||||
|
import com.metaweb.gridworks.model.Cell;
|
||||||
|
import com.metaweb.gridworks.model.Column;
|
||||||
|
import com.metaweb.gridworks.model.Project;
|
||||||
|
import com.metaweb.gridworks.model.Row;
|
||||||
|
|
||||||
|
public class HtmlTableExporter implements Exporter {
|
||||||
|
public String getContentType() {
|
||||||
|
return "text/html";
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean takeWriter() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void export(Project project, Properties options, Engine engine,
|
||||||
|
OutputStream outputStream) throws IOException {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void export(Project project, Properties options, Engine engine, Writer writer) throws IOException {
|
||||||
|
writer.write("<html>\n");
|
||||||
|
writer.write("<head><title>");
|
||||||
|
writer.write(ProjectManager.singleton.getProjectMetadata(project.id).getName());
|
||||||
|
writer.write("</title></head>\n");
|
||||||
|
|
||||||
|
writer.write("<body>\n");
|
||||||
|
writer.write("<table>\n");
|
||||||
|
|
||||||
|
writer.write("<tr>");
|
||||||
|
{
|
||||||
|
for (Column column : project.columnModel.columns) {
|
||||||
|
writer.write("<th>");
|
||||||
|
writer.write(column.getName());
|
||||||
|
writer.write("</th>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
writer.write("</tr>\n");
|
||||||
|
|
||||||
|
{
|
||||||
|
RowVisitor visitor = new RowVisitor() {
|
||||||
|
Writer writer;
|
||||||
|
|
||||||
|
public RowVisitor init(Writer writer) {
|
||||||
|
this.writer = writer;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean visit(Project project, int rowIndex, Row row, boolean contextual, boolean includeDependent) {
|
||||||
|
try {
|
||||||
|
writer.write("<tr>");
|
||||||
|
|
||||||
|
for (Column column : project.columnModel.columns) {
|
||||||
|
writer.write("<td>");
|
||||||
|
|
||||||
|
int cellIndex = column.getCellIndex();
|
||||||
|
if (cellIndex < row.cells.size()) {
|
||||||
|
Cell cell = row.cells.get(cellIndex);
|
||||||
|
if (cell != null && cell.value != null) {
|
||||||
|
Object v = cell.value;
|
||||||
|
writer.write(v instanceof String ? ((String) v) : v.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
writer.write("</td>");
|
||||||
|
}
|
||||||
|
|
||||||
|
writer.write("</tr>\n");
|
||||||
|
} catch (IOException e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}.init(writer);
|
||||||
|
|
||||||
|
FilteredRows filteredRows = engine.getAllFilteredRows(true);
|
||||||
|
filteredRows.accept(project, visitor);
|
||||||
|
}
|
||||||
|
|
||||||
|
writer.write("</table>\n");
|
||||||
|
writer.write("</body>\n");
|
||||||
|
writer.write("</html>\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,9 +1,12 @@
|
|||||||
package com.metaweb.gridworks.exporters;
|
package com.metaweb.gridworks.exporters;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||||
|
|
||||||
import com.metaweb.gridworks.browsing.Engine;
|
import com.metaweb.gridworks.browsing.Engine;
|
||||||
import com.metaweb.gridworks.model.Project;
|
import com.metaweb.gridworks.model.Project;
|
||||||
import com.metaweb.gridworks.protograph.Protograph;
|
import com.metaweb.gridworks.protograph.Protograph;
|
||||||
@ -15,6 +18,15 @@ public class TripleloaderExporter implements Exporter {
|
|||||||
return "application/x-unknown";
|
return "application/x-unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean takeWriter() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void export(Project project, Properties options, Engine engine,
|
||||||
|
OutputStream outputStream) throws IOException {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public void export(Project project, Properties options, Engine engine,
|
public void export(Project project, Properties options, Engine engine,
|
||||||
Writer writer) throws IOException {
|
Writer writer) throws IOException {
|
||||||
|
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
package com.metaweb.gridworks.exporters;
|
package com.metaweb.gridworks.exporters;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||||
|
|
||||||
import com.metaweb.gridworks.browsing.Engine;
|
import com.metaweb.gridworks.browsing.Engine;
|
||||||
import com.metaweb.gridworks.browsing.FilteredRows;
|
import com.metaweb.gridworks.browsing.FilteredRows;
|
||||||
import com.metaweb.gridworks.browsing.RowVisitor;
|
import com.metaweb.gridworks.browsing.RowVisitor;
|
||||||
@ -17,6 +20,15 @@ public class TsvExporter implements Exporter {
|
|||||||
return "text/plain";
|
return "text/plain";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean takeWriter() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void export(Project project, Properties options, Engine engine,
|
||||||
|
OutputStream outputStream) throws IOException {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public void export(Project project, Properties options, Engine engine, Writer writer) throws IOException {
|
public void export(Project project, Properties options, Engine engine, Writer writer) throws IOException {
|
||||||
boolean first = true;
|
boolean first = true;
|
||||||
for (Column column : project.columnModel.columns) {
|
for (Column column : project.columnModel.columns) {
|
||||||
|
115
src/main/java/com/metaweb/gridworks/exporters/XlsExporter.java
Normal file
115
src/main/java/com/metaweb/gridworks/exporters/XlsExporter.java
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
package com.metaweb.gridworks.exporters;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.io.Writer;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
|
||||||
|
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||||
|
|
||||||
|
import com.metaweb.gridworks.ProjectManager;
|
||||||
|
import com.metaweb.gridworks.browsing.Engine;
|
||||||
|
import com.metaweb.gridworks.browsing.FilteredRows;
|
||||||
|
import com.metaweb.gridworks.browsing.RowVisitor;
|
||||||
|
import com.metaweb.gridworks.model.Cell;
|
||||||
|
import com.metaweb.gridworks.model.Column;
|
||||||
|
import com.metaweb.gridworks.model.Project;
|
||||||
|
import com.metaweb.gridworks.model.Row;
|
||||||
|
|
||||||
|
public class XlsExporter implements Exporter {
|
||||||
|
public String getContentType() {
|
||||||
|
return "application/xls";
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean takeWriter() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void export(Project project, Properties options, Engine engine, Writer writer) throws IOException {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void export(Project project, Properties options, Engine engine,
|
||||||
|
OutputStream outputStream) throws IOException {
|
||||||
|
|
||||||
|
Workbook wb = new HSSFWorkbook();
|
||||||
|
Sheet s = wb.createSheet();
|
||||||
|
wb.setSheetName(0, ProjectManager.singleton.getProjectMetadata(project.id).getName());
|
||||||
|
|
||||||
|
int rowCount = 0;
|
||||||
|
|
||||||
|
{
|
||||||
|
org.apache.poi.ss.usermodel.Row r = s.createRow(rowCount++);
|
||||||
|
|
||||||
|
int cellCount = 0;
|
||||||
|
for (Column column : project.columnModel.columns) {
|
||||||
|
org.apache.poi.ss.usermodel.Cell c = r.createCell(cellCount++);
|
||||||
|
c.setCellValue(column.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
RowVisitor visitor = new RowVisitor() {
|
||||||
|
Sheet sheet;
|
||||||
|
int rowCount;
|
||||||
|
|
||||||
|
public RowVisitor init(Sheet sheet, int rowCount) {
|
||||||
|
this.sheet = sheet;
|
||||||
|
this.rowCount = rowCount;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean visit(Project project, int rowIndex, Row row, boolean contextual, boolean includeDependent) {
|
||||||
|
org.apache.poi.ss.usermodel.Row r = sheet.createRow(rowCount++);
|
||||||
|
|
||||||
|
int cellCount = 0;
|
||||||
|
for (Column column : project.columnModel.columns) {
|
||||||
|
org.apache.poi.ss.usermodel.Cell c = r.createCell(cellCount++);
|
||||||
|
|
||||||
|
int cellIndex = column.getCellIndex();
|
||||||
|
if (cellIndex < row.cells.size()) {
|
||||||
|
Cell cell = row.cells.get(cellIndex);
|
||||||
|
if (cell != null && cell.value != null) {
|
||||||
|
Object v = cell.value;
|
||||||
|
if (v instanceof Number) {
|
||||||
|
c.setCellValue(((Number) v).doubleValue());
|
||||||
|
} else if (v instanceof Boolean) {
|
||||||
|
c.setCellValue(((Boolean) v).booleanValue());
|
||||||
|
} else if (v instanceof Date) {
|
||||||
|
c.setCellValue((Date) v);
|
||||||
|
} else if (v instanceof Calendar) {
|
||||||
|
c.setCellValue((Calendar) v);
|
||||||
|
} else if (v instanceof String) {
|
||||||
|
c.setCellValue((String) v);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cell.recon != null && cell.recon.match != null) {
|
||||||
|
HSSFHyperlink hl = new HSSFHyperlink(HSSFHyperlink.LINK_URL);
|
||||||
|
hl.setLabel(cell.recon.match.topicName);
|
||||||
|
hl.setAddress("http://www.freebase.com/view" + cell.recon.match.topicID);
|
||||||
|
|
||||||
|
c.setHyperlink(hl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}.init(s, rowCount);
|
||||||
|
|
||||||
|
FilteredRows filteredRows = engine.getAllFilteredRows(true);
|
||||||
|
filteredRows.accept(project, visitor);
|
||||||
|
}
|
||||||
|
|
||||||
|
wb.write(outputStream);
|
||||||
|
outputStream.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -20,6 +20,15 @@ MenuBar.prototype._initializeUI = function() {
|
|||||||
"label": "Tab-Separated Value",
|
"label": "Tab-Separated Value",
|
||||||
"click": function() { self._doExportRows("tsv", "tsv"); }
|
"click": function() { self._doExportRows("tsv", "tsv"); }
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"label": "HTML Table",
|
||||||
|
"click": function() { self._doExportRows("html", "html"); }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Excel",
|
||||||
|
"click": function() { self._doExportRows("xls", "xls"); }
|
||||||
|
},
|
||||||
|
{},
|
||||||
{
|
{
|
||||||
"label": "Tripleloader",
|
"label": "Tripleloader",
|
||||||
"click": function() { self._doExportRows("tripleloader", "txt"); }
|
"click": function() { self._doExportRows("tripleloader", "txt"); }
|
||||||
@ -137,11 +146,12 @@ MenuBar.prototype._deactivateMenu = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
MenuBar.prototype._doExportRows = function(format, ext) {
|
MenuBar.prototype._doExportRows = function(format, ext) {
|
||||||
|
var name = $.trim(theProject.metadata.name.replace(/\W/g, ' ')).replace(/\s+/g, '-');
|
||||||
var form = document.createElement("form");
|
var form = document.createElement("form");
|
||||||
$(form)
|
$(form)
|
||||||
.css("display", "none")
|
.css("display", "none")
|
||||||
.attr("method", "post")
|
.attr("method", "post")
|
||||||
.attr("action", "/command/export-rows/gridworks_" + theProject.id + "." + ext)
|
.attr("action", "/command/export-rows/" + name + "." + ext)
|
||||||
.attr("target", "gridworks-export");
|
.attr("target", "gridworks-export");
|
||||||
|
|
||||||
$('<input />')
|
$('<input />')
|
||||||
@ -166,7 +176,7 @@ MenuBar.prototype._doExportRows = function(format, ext) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
MenuBar.prototype._exportProject = function() {
|
MenuBar.prototype._exportProject = function() {
|
||||||
var name = theProject.metadata.name.replace(/\W/g, ' ').replace(/\s+/g, '-');
|
var name = $(theProject.metadata.name.replace(/\W/g, ' ')).replace(/\s+/g, '-');
|
||||||
var form = document.createElement("form");
|
var form = document.createElement("form");
|
||||||
$(form)
|
$(form)
|
||||||
.css("display", "none")
|
.css("display", "none")
|
||||||
|
Loading…
Reference in New Issue
Block a user