Applied a bunch of patches from Tom Morris (Issue 25, 26 and 27)
- make java6 dependency explicit in eclipse project files - avoid using NotImplementException especially the sun.* one - avoid using internal sun signal handling and rely on standard java.* APIs (I tested this one and it seems to be working fine) git-svn-id: http://google-refine.googlecode.com/svn/trunk@756 7d457c2a-affb-35e4-300a-418c747d4874
This commit is contained in:
parent
a096fae7a0
commit
ea459aed07
@ -3,7 +3,7 @@
|
||||
<classpathentry kind="src" path="src/main/java"/>
|
||||
<classpathentry kind="src" path="src/server/java"/>
|
||||
<classpathentry kind="src" path="tests/java/src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="lib" path="lib/servlet-api-2.5.jar" sourcepath="lib-src/servlet-api-2.5-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/jetty-6.1.22.jar" sourcepath="lib-src/jetty-6.1.22-sources.jar"/>
|
||||
<classpathentry kind="lib" path="lib/jetty-util-6.1.22.jar" sourcepath="lib-src/jetty-util-6.1.22-sources.jar"/>
|
||||
|
@ -1,12 +1,12 @@
|
||||
#Sat Feb 06 22:08:10 PST 2010
|
||||
#Thu May 13 14:23:04 EDT 2010
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.5
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.5
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
|
@ -10,7 +10,6 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang.NotImplementedException;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.json.JSONWriter;
|
||||
@ -36,13 +35,13 @@ public abstract class Command {
|
||||
public void doPost(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
};
|
||||
|
||||
public void doGet(HttpServletRequest request, HttpServletResponse response)
|
||||
throws ServletException, IOException {
|
||||
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -10,7 +10,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.lang.NotImplementedException;
|
||||
import org.apache.poi.common.usermodel.Hyperlink;
|
||||
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
@ -39,7 +38,7 @@ public class ExcelImporter implements Importer {
|
||||
}
|
||||
|
||||
public void read(Reader reader, Project project, Properties options) throws Exception {
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void read(InputStream inputStream, Project project, Properties options) throws Exception {
|
||||
@ -53,7 +52,7 @@ public class ExcelImporter implements Importer {
|
||||
new XSSFWorkbook(inputStream) :
|
||||
new HSSFWorkbook(new POIFSFileSystem(inputStream));
|
||||
} catch (IOException e) {
|
||||
throw new IOException(
|
||||
throw new Exception(
|
||||
"Attempted to parse file as Excel file but failed. " +
|
||||
"Try to use Excel to re-save the file as a different Excel version or as TSV and upload again.",
|
||||
e
|
||||
|
@ -8,7 +8,6 @@ import java.io.OutputStream;
|
||||
import java.io.Reader;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.lang.NotImplementedException;
|
||||
import org.marc4j.MarcPermissiveStreamReader;
|
||||
import org.marc4j.MarcWriter;
|
||||
import org.marc4j.MarcXmlWriter;
|
||||
@ -25,7 +24,7 @@ public class MarcImporter implements Importer {
|
||||
public void read(Reader reader, Project project, Properties options)
|
||||
throws Exception {
|
||||
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void read(
|
||||
|
@ -7,7 +7,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.lang.NotImplementedException;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import com.metaweb.gridworks.importers.parsers.CSVRowParser;
|
||||
@ -94,7 +93,7 @@ public class TsvCsvImporter implements Importer {
|
||||
}
|
||||
|
||||
public void read(InputStream inputStream, Project project, Properties options) throws Exception {
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public boolean takesReader() {
|
||||
|
@ -6,8 +6,6 @@ import java.io.PushbackInputStream;
|
||||
import java.io.Reader;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.lang.NotImplementedException;
|
||||
|
||||
import com.metaweb.gridworks.importers.XmlImportUtilities.ImportColumnGroup;
|
||||
import com.metaweb.gridworks.model.Project;
|
||||
|
||||
@ -22,7 +20,7 @@ public class XmlImporter implements Importer {
|
||||
public void read(Reader reader, Project project, Properties options)
|
||||
throws Exception {
|
||||
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public void read(
|
||||
|
@ -2,8 +2,6 @@ package com.metaweb.gridworks.model;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.commons.lang.NotImplementedException;
|
||||
|
||||
import com.metaweb.gridworks.Jsonizable;
|
||||
import com.metaweb.gridworks.history.HistoryEntry;
|
||||
import com.metaweb.gridworks.process.Process;
|
||||
@ -24,10 +22,10 @@ abstract public class AbstractOperation implements Jsonizable {
|
||||
}
|
||||
|
||||
protected HistoryEntry createHistoryEntry(Project project, long historyEntryID) throws Exception {
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
protected String getBriefDescription(Project project) {
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
|
@ -11,8 +11,6 @@ import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.json.JSONWriter;
|
||||
|
||||
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||
|
||||
import com.metaweb.gridworks.browsing.Engine;
|
||||
import com.metaweb.gridworks.browsing.FilteredRows;
|
||||
import com.metaweb.gridworks.browsing.RowVisitor;
|
||||
@ -260,7 +258,7 @@ public class ColumnSplitOperation extends EngineDependentOperation {
|
||||
}
|
||||
|
||||
protected List<Serializable> split(String s) {
|
||||
throw new NotImplementedException();
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
protected Serializable stringToValue(String s) {
|
||||
|
@ -29,9 +29,12 @@ import org.mortbay.util.Scanner;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.metaweb.util.signal.AbstractSignalHandler;
|
||||
import com.metaweb.util.threads.ThreadPoolExecutorAdapter;
|
||||
|
||||
/**
|
||||
* Main class for Gridworks server application. Starts an instance of the
|
||||
* Jetty HTTP server / servlet container (inner class Gridworks Server).
|
||||
*/
|
||||
public class Gridworks {
|
||||
|
||||
static private final String VERSION = "1.0";
|
||||
@ -113,8 +116,9 @@ public class Gridworks {
|
||||
}
|
||||
|
||||
// hook up the signal handlers
|
||||
new ShutdownSignalHandler("TERM", server);
|
||||
|
||||
Runtime.getRuntime().addShutdownHook(
|
||||
new Thread(new ShutdownSignalHandler(server)));
|
||||
|
||||
server.join();
|
||||
}
|
||||
}
|
||||
@ -293,26 +297,24 @@ class GridworksClient extends JFrame implements ActionListener {
|
||||
|
||||
private void openBrowser() {
|
||||
try {
|
||||
Desktop.getDesktop().browse(uri);
|
||||
Desktop.getDesktop().browse(uri);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ShutdownSignalHandler extends AbstractSignalHandler {
|
||||
class ShutdownSignalHandler implements Runnable {
|
||||
|
||||
private Server _server;
|
||||
|
||||
public ShutdownSignalHandler(String sigName, Server server) {
|
||||
super(sigName);
|
||||
public ShutdownSignalHandler(Server server) {
|
||||
this._server = server;
|
||||
}
|
||||
|
||||
public boolean handle(String signame) {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
//System.err.println("Received Signal: " + signame);
|
||||
|
||||
// Tell the server we want to try and shutdown gracefully
|
||||
// this means that the server will stop accepting new connections
|
||||
// right away but it will continue to process the ones that
|
||||
@ -327,8 +329,7 @@ class ShutdownSignalHandler extends AbstractSignalHandler {
|
||||
e.printStackTrace();
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,20 +0,0 @@
|
||||
package com.metaweb.util.signal;
|
||||
|
||||
public abstract class AbstractSignalHandler {
|
||||
|
||||
public AbstractSignalHandler(final String signalName) {
|
||||
try {
|
||||
new SignalHandlerWrapper(signalName, this);
|
||||
} catch (Throwable e) {
|
||||
throw new java.lang.RuntimeException("Signal handling facilities are not available in this JVM.", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The method that handles the signal this handler has been registered for.
|
||||
* If the method returns false or throws, the chain of invocation is stopped;
|
||||
* this includes the handlers the JVM already registered for those signals.
|
||||
*/
|
||||
public abstract boolean handle(String signame);
|
||||
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
package com.metaweb.util.signal;
|
||||
|
||||
import sun.misc.Signal;
|
||||
import sun.misc.SignalHandler;
|
||||
|
||||
/*
|
||||
* This class allows our own SignalHandler class to fail more gracefully
|
||||
* in case the "sun.misc.Signal*" classes are not found in the current jvm.
|
||||
*/
|
||||
final class SignalHandlerWrapper implements SignalHandler {
|
||||
|
||||
private transient final SignalHandler existingHandler;
|
||||
|
||||
private transient final AbstractSignalHandler handler;
|
||||
|
||||
SignalHandlerWrapper(final String signalName, final AbstractSignalHandler handler) {
|
||||
this.handler = handler;
|
||||
final Signal signal = new Signal(signalName);
|
||||
existingHandler = Signal.handle(signal, this);
|
||||
}
|
||||
|
||||
public void handle(final Signal sig) {
|
||||
if (handler.handle(sig.getName()) && (existingHandler != null)) {
|
||||
existingHandler.handle(sig);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user