Loading build.gradle +4 −0 Original line number Diff line number Diff line Loading @@ -28,5 +28,9 @@ dependencies { testCompile fileTree(dir: 'lib', include: 'astroh2-0.3.jar') } compileJava { options.encoding = "UTF-8" } sourceSets.main.java.srcDirs = ["src"] sourceSets.test.java.srcDirs = ["test"] src/tap/config/ConfigurableServiceConnection.java +17 −101 Original line number Diff line number Diff line Loading @@ -19,77 +19,6 @@ package tap.config; * Copyright 2016 - Astronomisches Rechen Institut (ARI) */ import static tap.config.TAPConfiguration.DEFAULT_ASYNC_FETCH_SIZE; import static tap.config.TAPConfiguration.DEFAULT_DIRECTORY_PER_USER; import static tap.config.TAPConfiguration.DEFAULT_EXECUTION_DURATION; import static tap.config.TAPConfiguration.DEFAULT_GROUP_USER_DIRECTORIES; import static tap.config.TAPConfiguration.DEFAULT_MAX_ASYNC_JOBS; import static tap.config.TAPConfiguration.DEFAULT_RETENTION_PERIOD; import static tap.config.TAPConfiguration.DEFAULT_SYNC_FETCH_SIZE; import static tap.config.TAPConfiguration.DEFAULT_UPLOAD_MAX_FILE_SIZE; import static tap.config.TAPConfiguration.KEY_ASYNC_FETCH_SIZE; import static tap.config.TAPConfiguration.KEY_COORD_SYS; import static tap.config.TAPConfiguration.KEY_DEFAULT_EXECUTION_DURATION; import static tap.config.TAPConfiguration.KEY_DEFAULT_OUTPUT_LIMIT; import static tap.config.TAPConfiguration.KEY_DEFAULT_RETENTION_PERIOD; import static tap.config.TAPConfiguration.KEY_DEFAULT_UPLOAD_LIMIT; import static tap.config.TAPConfiguration.KEY_DIRECTORY_PER_USER; import static tap.config.TAPConfiguration.KEY_FILE_MANAGER; import static tap.config.TAPConfiguration.KEY_FILE_ROOT_PATH; import static tap.config.TAPConfiguration.KEY_GEOMETRIES; import static tap.config.TAPConfiguration.KEY_GROUP_USER_DIRECTORIES; import static tap.config.TAPConfiguration.KEY_LOG_ROTATION; import static tap.config.TAPConfiguration.KEY_MAX_ASYNC_JOBS; import static tap.config.TAPConfiguration.KEY_MAX_EXECUTION_DURATION; import static tap.config.TAPConfiguration.KEY_MAX_OUTPUT_LIMIT; import static tap.config.TAPConfiguration.KEY_MAX_RETENTION_PERIOD; import static tap.config.TAPConfiguration.KEY_MAX_UPLOAD_LIMIT; import static tap.config.TAPConfiguration.KEY_METADATA; import static tap.config.TAPConfiguration.KEY_METADATA_FILE; import static tap.config.TAPConfiguration.KEY_MIN_LOG_LEVEL; import static tap.config.TAPConfiguration.KEY_OUTPUT_FORMATS; import static tap.config.TAPConfiguration.KEY_PROVIDER_NAME; import static tap.config.TAPConfiguration.KEY_SERVICE_DESCRIPTION; import static tap.config.TAPConfiguration.KEY_SYNC_FETCH_SIZE; import static tap.config.TAPConfiguration.KEY_TAP_FACTORY; import static tap.config.TAPConfiguration.KEY_UDFS; import static tap.config.TAPConfiguration.KEY_UPLOAD_ENABLED; import static tap.config.TAPConfiguration.KEY_UPLOAD_MAX_FILE_SIZE; import static tap.config.TAPConfiguration.KEY_USER_IDENTIFIER; import static tap.config.TAPConfiguration.VALUE_ALL; import static tap.config.TAPConfiguration.VALUE_ANY; import static tap.config.TAPConfiguration.VALUE_CSV; import static tap.config.TAPConfiguration.VALUE_DB; import static tap.config.TAPConfiguration.VALUE_FITS; import static tap.config.TAPConfiguration.VALUE_HTML; import static tap.config.TAPConfiguration.VALUE_JSON; import static tap.config.TAPConfiguration.VALUE_LOCAL; import static tap.config.TAPConfiguration.VALUE_NONE; import static tap.config.TAPConfiguration.VALUE_SV; import static tap.config.TAPConfiguration.VALUE_TEXT; import static tap.config.TAPConfiguration.VALUE_TSV; import static tap.config.TAPConfiguration.VALUE_VOT; import static tap.config.TAPConfiguration.VALUE_VOTABLE; import static tap.config.TAPConfiguration.VALUE_XML; import static tap.config.TAPConfiguration.fetchClass; import static tap.config.TAPConfiguration.getProperty; import static tap.config.TAPConfiguration.hasConstructor; import static tap.config.TAPConfiguration.isClassName; import static tap.config.TAPConfiguration.newInstance; import static tap.config.TAPConfiguration.parseLimit; import java.io.File; import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Properties; import adql.db.FunctionDef; import adql.db.STCS; import adql.parser.ParseException; Loading @@ -99,13 +28,7 @@ import tap.TAPException; import tap.TAPFactory; import tap.db.DBConnection; import tap.db.JDBCConnection; import tap.formatter.FITSFormat; import tap.formatter.HTMLFormat; import tap.formatter.JSONFormat; import tap.formatter.OutputFormat; import tap.formatter.SVFormat; import tap.formatter.TextFormat; import tap.formatter.VOTableFormat; import tap.formatter.*; import tap.log.DefaultTAPLog; import tap.log.TAPLog; import tap.metadata.TAPMetadata; Loading @@ -118,6 +41,14 @@ import uws.service.file.LocalUWSFileManager; import uws.service.file.UWSFileManager; import uws.service.log.UWSLog.LogLevel; import java.io.File; import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.*; import static tap.config.TAPConfiguration.*; /** * <p>Concrete implementation of {@link ServiceConnection}, fully parameterized with a TAP configuration file.</p> * Loading Loading @@ -326,43 +257,28 @@ public final class ConfigurableServiceConnection implements ServiceConnection { /** * <p>Resolve the given file name/path.</p> * * <p>Only the URI protocol "file:" is allowed. If the protocol is different a {@link TAPException} is thrown.</p> * * <p> * If not an absolute URI, the given path may be either relative or absolute. A relative path is always considered * If not an absolute path, the given path may be either relative or absolute. A relative path is always considered * as relative from the Web Application directory (supposed to be given in 2nd parameter). * </p> * * @param filePath URI/Path/Name of the file to get. * @param filePath Path/Name of the file to get. * @param webAppRootPath Web Application directory local path. * @param propertyName Name of the property which gives the given file path. * * @return The specified File instance. * * @throws TAPException If the given URI is malformed or if the used URI scheme is different from "file:". */ protected static final File getFile(final String filePath, final String webAppRootPath, final String propertyName) throws TAPException{ protected static final File getFile(final String filePath, final String webAppRootPath, final String propertyName) { if (filePath == null) return null; try{ URI uri = new URI(filePath); if (uri.isAbsolute()){ if (uri.getScheme().equalsIgnoreCase("file")) return new File(uri); else throw new TAPException("Incorrect file URI for the property \"" + propertyName + "\": \"" + filePath + "\"! Only URI with the protocol \"file:\" are allowed."); }else{ File f = new File(filePath); if (f.isAbsolute()) return f; else return new File(webAppRootPath, filePath); } }catch(URISyntaxException use){ throw new TAPException("Incorrect file URI for the property \"" + propertyName + "\": \"" + filePath + "\"! Bad syntax for the given file URI.", use); } } /** * Initialize the TAP logger with the given TAP configuration file. Loading Loading
build.gradle +4 −0 Original line number Diff line number Diff line Loading @@ -28,5 +28,9 @@ dependencies { testCompile fileTree(dir: 'lib', include: 'astroh2-0.3.jar') } compileJava { options.encoding = "UTF-8" } sourceSets.main.java.srcDirs = ["src"] sourceSets.test.java.srcDirs = ["test"]
src/tap/config/ConfigurableServiceConnection.java +17 −101 Original line number Diff line number Diff line Loading @@ -19,77 +19,6 @@ package tap.config; * Copyright 2016 - Astronomisches Rechen Institut (ARI) */ import static tap.config.TAPConfiguration.DEFAULT_ASYNC_FETCH_SIZE; import static tap.config.TAPConfiguration.DEFAULT_DIRECTORY_PER_USER; import static tap.config.TAPConfiguration.DEFAULT_EXECUTION_DURATION; import static tap.config.TAPConfiguration.DEFAULT_GROUP_USER_DIRECTORIES; import static tap.config.TAPConfiguration.DEFAULT_MAX_ASYNC_JOBS; import static tap.config.TAPConfiguration.DEFAULT_RETENTION_PERIOD; import static tap.config.TAPConfiguration.DEFAULT_SYNC_FETCH_SIZE; import static tap.config.TAPConfiguration.DEFAULT_UPLOAD_MAX_FILE_SIZE; import static tap.config.TAPConfiguration.KEY_ASYNC_FETCH_SIZE; import static tap.config.TAPConfiguration.KEY_COORD_SYS; import static tap.config.TAPConfiguration.KEY_DEFAULT_EXECUTION_DURATION; import static tap.config.TAPConfiguration.KEY_DEFAULT_OUTPUT_LIMIT; import static tap.config.TAPConfiguration.KEY_DEFAULT_RETENTION_PERIOD; import static tap.config.TAPConfiguration.KEY_DEFAULT_UPLOAD_LIMIT; import static tap.config.TAPConfiguration.KEY_DIRECTORY_PER_USER; import static tap.config.TAPConfiguration.KEY_FILE_MANAGER; import static tap.config.TAPConfiguration.KEY_FILE_ROOT_PATH; import static tap.config.TAPConfiguration.KEY_GEOMETRIES; import static tap.config.TAPConfiguration.KEY_GROUP_USER_DIRECTORIES; import static tap.config.TAPConfiguration.KEY_LOG_ROTATION; import static tap.config.TAPConfiguration.KEY_MAX_ASYNC_JOBS; import static tap.config.TAPConfiguration.KEY_MAX_EXECUTION_DURATION; import static tap.config.TAPConfiguration.KEY_MAX_OUTPUT_LIMIT; import static tap.config.TAPConfiguration.KEY_MAX_RETENTION_PERIOD; import static tap.config.TAPConfiguration.KEY_MAX_UPLOAD_LIMIT; import static tap.config.TAPConfiguration.KEY_METADATA; import static tap.config.TAPConfiguration.KEY_METADATA_FILE; import static tap.config.TAPConfiguration.KEY_MIN_LOG_LEVEL; import static tap.config.TAPConfiguration.KEY_OUTPUT_FORMATS; import static tap.config.TAPConfiguration.KEY_PROVIDER_NAME; import static tap.config.TAPConfiguration.KEY_SERVICE_DESCRIPTION; import static tap.config.TAPConfiguration.KEY_SYNC_FETCH_SIZE; import static tap.config.TAPConfiguration.KEY_TAP_FACTORY; import static tap.config.TAPConfiguration.KEY_UDFS; import static tap.config.TAPConfiguration.KEY_UPLOAD_ENABLED; import static tap.config.TAPConfiguration.KEY_UPLOAD_MAX_FILE_SIZE; import static tap.config.TAPConfiguration.KEY_USER_IDENTIFIER; import static tap.config.TAPConfiguration.VALUE_ALL; import static tap.config.TAPConfiguration.VALUE_ANY; import static tap.config.TAPConfiguration.VALUE_CSV; import static tap.config.TAPConfiguration.VALUE_DB; import static tap.config.TAPConfiguration.VALUE_FITS; import static tap.config.TAPConfiguration.VALUE_HTML; import static tap.config.TAPConfiguration.VALUE_JSON; import static tap.config.TAPConfiguration.VALUE_LOCAL; import static tap.config.TAPConfiguration.VALUE_NONE; import static tap.config.TAPConfiguration.VALUE_SV; import static tap.config.TAPConfiguration.VALUE_TEXT; import static tap.config.TAPConfiguration.VALUE_TSV; import static tap.config.TAPConfiguration.VALUE_VOT; import static tap.config.TAPConfiguration.VALUE_VOTABLE; import static tap.config.TAPConfiguration.VALUE_XML; import static tap.config.TAPConfiguration.fetchClass; import static tap.config.TAPConfiguration.getProperty; import static tap.config.TAPConfiguration.hasConstructor; import static tap.config.TAPConfiguration.isClassName; import static tap.config.TAPConfiguration.newInstance; import static tap.config.TAPConfiguration.parseLimit; import java.io.File; import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Properties; import adql.db.FunctionDef; import adql.db.STCS; import adql.parser.ParseException; Loading @@ -99,13 +28,7 @@ import tap.TAPException; import tap.TAPFactory; import tap.db.DBConnection; import tap.db.JDBCConnection; import tap.formatter.FITSFormat; import tap.formatter.HTMLFormat; import tap.formatter.JSONFormat; import tap.formatter.OutputFormat; import tap.formatter.SVFormat; import tap.formatter.TextFormat; import tap.formatter.VOTableFormat; import tap.formatter.*; import tap.log.DefaultTAPLog; import tap.log.TAPLog; import tap.metadata.TAPMetadata; Loading @@ -118,6 +41,14 @@ import uws.service.file.LocalUWSFileManager; import uws.service.file.UWSFileManager; import uws.service.log.UWSLog.LogLevel; import java.io.File; import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.*; import static tap.config.TAPConfiguration.*; /** * <p>Concrete implementation of {@link ServiceConnection}, fully parameterized with a TAP configuration file.</p> * Loading Loading @@ -326,43 +257,28 @@ public final class ConfigurableServiceConnection implements ServiceConnection { /** * <p>Resolve the given file name/path.</p> * * <p>Only the URI protocol "file:" is allowed. If the protocol is different a {@link TAPException} is thrown.</p> * * <p> * If not an absolute URI, the given path may be either relative or absolute. A relative path is always considered * If not an absolute path, the given path may be either relative or absolute. A relative path is always considered * as relative from the Web Application directory (supposed to be given in 2nd parameter). * </p> * * @param filePath URI/Path/Name of the file to get. * @param filePath Path/Name of the file to get. * @param webAppRootPath Web Application directory local path. * @param propertyName Name of the property which gives the given file path. * * @return The specified File instance. * * @throws TAPException If the given URI is malformed or if the used URI scheme is different from "file:". */ protected static final File getFile(final String filePath, final String webAppRootPath, final String propertyName) throws TAPException{ protected static final File getFile(final String filePath, final String webAppRootPath, final String propertyName) { if (filePath == null) return null; try{ URI uri = new URI(filePath); if (uri.isAbsolute()){ if (uri.getScheme().equalsIgnoreCase("file")) return new File(uri); else throw new TAPException("Incorrect file URI for the property \"" + propertyName + "\": \"" + filePath + "\"! Only URI with the protocol \"file:\" are allowed."); }else{ File f = new File(filePath); if (f.isAbsolute()) return f; else return new File(webAppRootPath, filePath); } }catch(URISyntaxException use){ throw new TAPException("Incorrect file URI for the property \"" + propertyName + "\": \"" + filePath + "\"! Bad syntax for the given file URI.", use); } } /** * Initialize the TAP logger with the given TAP configuration file. Loading