From 65b4a8a0bc80839337201b9f3519c75c9e73c14e Mon Sep 17 00:00:00 2001
From: gmantele <gmantele@ari.uni-heidelberg.de>
Date: Thu, 10 Apr 2014 12:23:42 +0200
Subject: [PATCH] TAP: Ensure that no upload is done if this feature is
 disabled, by throwing a TAPException

---
 src/tap/upload/Uploader.java | 39 ++++++++++++++++++------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

diff --git a/src/tap/upload/Uploader.java b/src/tap/upload/Uploader.java
index b453c8a..651a198 100644
--- a/src/tap/upload/Uploader.java
+++ b/src/tap/upload/Uploader.java
@@ -16,14 +16,22 @@ package tap.upload;
  * 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-2014 - UDS/Centre de Données astronomiques de Strasbourg (CDS),
+ *                       Astronomisches Rechen Institute (ARI)
  */
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import com.oreilly.servlet.multipart.ExceededSizeException;
-
+import tap.ServiceConnection;
+import tap.ServiceConnection.LimitUnit;
+import tap.TAPException;
+import tap.db.DBConnection;
+import tap.db.DBException;
+import tap.metadata.TAPSchema;
+import tap.metadata.TAPTable;
+import tap.metadata.TAPTypes;
+import tap.metadata.VotType;
 import cds.savot.model.DataBinaryReader;
 import cds.savot.model.FieldSet;
 import cds.savot.model.SavotBinary;
@@ -32,21 +40,16 @@ import cds.savot.model.SavotResource;
 import cds.savot.model.SavotTR;
 import cds.savot.model.SavotTableData;
 import cds.savot.model.TRSet;
-
 import cds.savot.pull.SavotPullEngine;
 import cds.savot.pull.SavotPullParser;
 
-import tap.ServiceConnection;
-import tap.TAPException;
-import tap.ServiceConnection.LimitUnit;
-import tap.db.DBConnection;
-import tap.db.DBException;
-
-import tap.metadata.TAPSchema;
-import tap.metadata.TAPTable;
-import tap.metadata.TAPTypes;
-import tap.metadata.VotType;
+import com.oreilly.servlet.multipart.ExceededSizeException;
 
+/**
+ * 
+ * @author Gr&eacute;gory Mantelet (CDS;ARI) - gmantele@ari.uni-heidelberg.de
+ * @version 1.1 (03/2014)
+ */
 public class Uploader {
 
 	protected final ServiceConnection<?> service;
@@ -65,8 +68,6 @@ public class Uploader {
 		this.service = service;
 
 		this.dbConn = dbConn;
-		if (dbConn == null)
-			throw new NullPointerException("The given DBConnection is NULL !");
 
 		if (service.uploadEnabled()){
 			if (service.getUploadLimitType()[1] == LimitUnit.rows){
@@ -76,10 +77,8 @@ public class Uploader {
 				nbBytesLimit = ((service.getUploadLimit()[1] > 0) ? service.getUploadLimit()[1] : -1);
 				nbRowsLimit = -1;
 			}
-		}else{
-			nbRowsLimit = -1;
-			nbBytesLimit = -1;
-		}
+		}else
+			throw new TAPException("Upload aborted: this functionality is disabled in this TAP service!");
 	}
 
 	public TAPSchema upload(final TableLoader[] loaders) throws TAPException{
-- 
GitLab