Loading src/tap/ServiceConnection.java +11 −6 Original line number Diff line number Diff line Loading @@ -16,26 +16,31 @@ package tap; * You should have received a copy of the GNU Lesser General Public License * along with TAPLibrary. If not, see <http://www.gnu.org/licenses/>. * * Copyright 2012 - UDS/Centre de Données astronomiques de Strasbourg (CDS) * Copyright 2012-2013 - UDS/Centre de Données astronomiques de Strasbourg (CDS), * Astronomisches Rechen Institute (ARI) */ import java.util.Collection; import java.util.Iterator; import tap.file.TAPFileManager; import tap.formatter.OutputFormat; import tap.log.TAPLog; import tap.metadata.TAPMetadata; import uws.service.UserIdentifier; /** * * * @author Grégory Mantelet (CDS;ARI) - gmantele@ari.uni-heidelberg.de * @version 1.1 (12/2013) * * @param <R> */ public interface ServiceConnection< R > { public static enum LimitUnit{ rows, bytes; rows, bytes, kilobytes, megabytes, gigabytes; } public String getProviderName(); Loading src/tap/resource/TAP.java +50 −4 Original line number Diff line number Diff line Loading @@ -55,6 +55,12 @@ import uws.service.UWSService; import uws.service.UWSUrl; import uws.service.error.ServiceErrorWriter; /** * @author Grégory Mantelet (CDS;ARI) - gmantele@ari.uni-heidelberg.de * @version 1.1 (12/2013) * * @param <R> */ public class TAP< R > implements VOSIResource { private static final long serialVersionUID = 1L; Loading Loading @@ -243,10 +249,50 @@ public class TAP< R > implements VOSIResource { if (uploadLimit != null && uploadLimit.length >= 2 && uploadLimitType != null && uploadLimitType.length >= 2){ if (uploadLimit[0] > -1 || uploadLimit[1] > -1){ xml.append("\t<uploadLimit>\n"); if (uploadLimit[0] > -1) xml.append("\t\t<default unit=\"").append(uploadLimitType[0]).append("\">").append(uploadLimit[0]).append("</default>\n"); if (uploadLimit[1] > -1) xml.append("\t\t<hard unit=\"").append(uploadLimitType[1]).append("\">").append(uploadLimit[1]).append("</hard>\n"); if (uploadLimit[0] > -1){ String limitType; long limit = uploadLimit[0]; switch(uploadLimitType[0]){ case kilobytes: limit *= 1000l; limitType = LimitUnit.rows.toString(); break; case megabytes: limit *= 1000000l; limitType = LimitUnit.rows.toString(); break; case gigabytes: limit *= 1000000000l; limitType = LimitUnit.rows.toString(); break; default: limitType = uploadLimitType[0].toString(); break; } xml.append("\t\t<default unit=\"").append(limitType).append("\">").append(limit).append("</default>\n"); } if (uploadLimit[1] > -1){ String limitType; long limit = uploadLimit[1]; switch(uploadLimitType[1]){ case kilobytes: limit *= 1000l; limitType = LimitUnit.rows.toString(); break; case megabytes: limit *= 1000000l; limitType = LimitUnit.rows.toString(); break; case gigabytes: limit *= 1000000000l; limitType = LimitUnit.rows.toString(); break; default: limitType = uploadLimitType[1].toString(); break; } xml.append("\t\t<hard unit=\"").append(limitType).append("\">").append(limit).append("</hard>\n"); } xml.append("\t</uploadLimit>\n"); } } Loading src/tap/upload/Uploader.java +18 −3 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ public class Uploader { protected final ServiceConnection<?> service; protected final DBConnection<?> dbConn; protected final int nbRowsLimit; protected final int nbBytesLimit; protected final long nbBytesLimit; protected int nbRows = 0; Loading @@ -66,7 +66,6 @@ public class Uploader { throw new NullPointerException("The given DBConnection is NULL !"); this.service = service; this.dbConn = dbConn; if (service.uploadEnabled()){ Loading @@ -74,7 +73,23 @@ public class Uploader { nbRowsLimit = ((service.getUploadLimit()[1] > 0) ? service.getUploadLimit()[1] : -1); nbBytesLimit = -1; }else{ nbBytesLimit = ((service.getUploadLimit()[1] > 0) ? service.getUploadLimit()[1] : -1); long limit = ((service.getUploadLimit()[1] > 0) ? service.getUploadLimit()[1] : -1); if (limit > 0){ switch(service.getUploadLimitType()[1]){ case kilobytes: limit *= 1000l; break; case megabytes: limit *= 1000000l; break; case gigabytes: limit *= 1000000000l; break; default: break; } } nbBytesLimit = limit; nbRowsLimit = -1; } }else Loading Loading
src/tap/ServiceConnection.java +11 −6 Original line number Diff line number Diff line Loading @@ -16,26 +16,31 @@ package tap; * You should have received a copy of the GNU Lesser General Public License * along with TAPLibrary. If not, see <http://www.gnu.org/licenses/>. * * Copyright 2012 - UDS/Centre de Données astronomiques de Strasbourg (CDS) * Copyright 2012-2013 - UDS/Centre de Données astronomiques de Strasbourg (CDS), * Astronomisches Rechen Institute (ARI) */ import java.util.Collection; import java.util.Iterator; import tap.file.TAPFileManager; import tap.formatter.OutputFormat; import tap.log.TAPLog; import tap.metadata.TAPMetadata; import uws.service.UserIdentifier; /** * * * @author Grégory Mantelet (CDS;ARI) - gmantele@ari.uni-heidelberg.de * @version 1.1 (12/2013) * * @param <R> */ public interface ServiceConnection< R > { public static enum LimitUnit{ rows, bytes; rows, bytes, kilobytes, megabytes, gigabytes; } public String getProviderName(); Loading
src/tap/resource/TAP.java +50 −4 Original line number Diff line number Diff line Loading @@ -55,6 +55,12 @@ import uws.service.UWSService; import uws.service.UWSUrl; import uws.service.error.ServiceErrorWriter; /** * @author Grégory Mantelet (CDS;ARI) - gmantele@ari.uni-heidelberg.de * @version 1.1 (12/2013) * * @param <R> */ public class TAP< R > implements VOSIResource { private static final long serialVersionUID = 1L; Loading Loading @@ -243,10 +249,50 @@ public class TAP< R > implements VOSIResource { if (uploadLimit != null && uploadLimit.length >= 2 && uploadLimitType != null && uploadLimitType.length >= 2){ if (uploadLimit[0] > -1 || uploadLimit[1] > -1){ xml.append("\t<uploadLimit>\n"); if (uploadLimit[0] > -1) xml.append("\t\t<default unit=\"").append(uploadLimitType[0]).append("\">").append(uploadLimit[0]).append("</default>\n"); if (uploadLimit[1] > -1) xml.append("\t\t<hard unit=\"").append(uploadLimitType[1]).append("\">").append(uploadLimit[1]).append("</hard>\n"); if (uploadLimit[0] > -1){ String limitType; long limit = uploadLimit[0]; switch(uploadLimitType[0]){ case kilobytes: limit *= 1000l; limitType = LimitUnit.rows.toString(); break; case megabytes: limit *= 1000000l; limitType = LimitUnit.rows.toString(); break; case gigabytes: limit *= 1000000000l; limitType = LimitUnit.rows.toString(); break; default: limitType = uploadLimitType[0].toString(); break; } xml.append("\t\t<default unit=\"").append(limitType).append("\">").append(limit).append("</default>\n"); } if (uploadLimit[1] > -1){ String limitType; long limit = uploadLimit[1]; switch(uploadLimitType[1]){ case kilobytes: limit *= 1000l; limitType = LimitUnit.rows.toString(); break; case megabytes: limit *= 1000000l; limitType = LimitUnit.rows.toString(); break; case gigabytes: limit *= 1000000000l; limitType = LimitUnit.rows.toString(); break; default: limitType = uploadLimitType[1].toString(); break; } xml.append("\t\t<hard unit=\"").append(limitType).append("\">").append(limit).append("</hard>\n"); } xml.append("\t</uploadLimit>\n"); } } Loading
src/tap/upload/Uploader.java +18 −3 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ public class Uploader { protected final ServiceConnection<?> service; protected final DBConnection<?> dbConn; protected final int nbRowsLimit; protected final int nbBytesLimit; protected final long nbBytesLimit; protected int nbRows = 0; Loading @@ -66,7 +66,6 @@ public class Uploader { throw new NullPointerException("The given DBConnection is NULL !"); this.service = service; this.dbConn = dbConn; if (service.uploadEnabled()){ Loading @@ -74,7 +73,23 @@ public class Uploader { nbRowsLimit = ((service.getUploadLimit()[1] > 0) ? service.getUploadLimit()[1] : -1); nbBytesLimit = -1; }else{ nbBytesLimit = ((service.getUploadLimit()[1] > 0) ? service.getUploadLimit()[1] : -1); long limit = ((service.getUploadLimit()[1] > 0) ? service.getUploadLimit()[1] : -1); if (limit > 0){ switch(service.getUploadLimitType()[1]){ case kilobytes: limit *= 1000l; break; case megabytes: limit *= 1000000l; break; case gigabytes: limit *= 1000000000l; break; default: break; } } nbBytesLimit = limit; nbRowsLimit = -1; } }else Loading