From 81b932bdd080831b21a4db8748521ad3bbd77b49 Mon Sep 17 00:00:00 2001
From: gmantele <gmantele@ari.uni-heidelberg.de>
Date: Thu, 25 Sep 2014 17:23:50 +0200
Subject: [PATCH] [TAP] Make valid the /capabilities document

---
 src/tap/resource/Capabilities.java |  4 ++--
 src/tap/resource/TAP.java          | 20 +++++++++++---------
 2 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/tap/resource/Capabilities.java b/src/tap/resource/Capabilities.java
index 8e54808..7734dc4 100644
--- a/src/tap/resource/Capabilities.java
+++ b/src/tap/resource/Capabilities.java
@@ -118,11 +118,11 @@ public class Capabilities implements TAPResource, VOSIResource {
 		// Write the XML document header:
 		out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
 		out.print("<vosi:capabilities xmlns:vosi=\"http://www.ivoa.net/xml/VOSICapabilities/v1.0\"");
-		out.print(" xmlns:tr=\"http://www.ivoa.net/xml/TAP/v0.1\"");
+		out.print(" xmlns:tr=\"http://www.ivoa.net/xml/TAPRegExt/v1.0\"");
 		out.print(" xmlns:vr=\"http://www.ivoa.net/xml/VOResource/v1.0\"");
 		out.print(" xmlns:vs=\"http://www.ivoa.net/xml/VODataService/v1.0\"");
 		out.print(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
-		out.println(" xsi:schemaLocation=\"http://www.ivoa.net/xml/TAP/v0.1 http://www.ivoa.net/xml/TAP/v0.1\">");
+		out.println(" xsi:schemaLocation=\"http://www.ivoa.net/xml/VOSICapabilities/v1.0 http://www.ivoa.net/xml/VOSICapabilities/v1.0 http://www.ivoa.net/xml/TAPRegExt/v1.0 http://www.ivoa.net/xml/TAPRegExt/v1.0 http://www.ivoa.net/xml/VOResource/v1.0 http://www.ivoa.net/xml/VOResource/v1.0 http://www.ivoa.net/xml/VODataService/v1.0 http://www.ivoa.net/xml/VODataService/v1.0\">");
 
 		// Write the full list of this TAP capabilities:
 		out.print(tap.getCapability());
diff --git a/src/tap/resource/TAP.java b/src/tap/resource/TAP.java
index 65ab29e..c4d3f82 100644
--- a/src/tap/resource/TAP.java
+++ b/src/tap/resource/TAP.java
@@ -438,6 +438,16 @@ public class TAP implements VOSIResource {
 			xml.append("\t</outputFormat>\n");
 		}
 
+		// Write upload methods: INLINE, HTTP, FTP:
+		if (service.uploadEnabled()){
+			xml.append("\t<uploadMethod ivo-id=\"ivo://ivoa.org/tap/uploadmethods#inline\" />\n");
+			xml.append("\t<uploadMethod ivo-id=\"ivo://ivoa.org/tap/uploadmethods#http\" />\n");
+			xml.append("\t<uploadMethod ivo-id=\"ivo://ivoa.org/tap/uploadmethods#ftp\" />\n");
+			xml.append("\t<uploadMethod ivo-id=\"ivo://ivoa.net/std/TAPRegExt#upload-inline\" />\n");
+			xml.append("\t<uploadMethod ivo-id=\"ivo://ivoa.net/std/TAPRegExt#upload-http\" />\n");
+			xml.append("\t<uploadMethod ivo-id=\"ivo://ivoa.net/std/TAPRegExt#upload-ftp\" />\n");
+		}
+
 		// Retention period (for asynchronous jobs):
 		int[] retentionPeriod = service.getRetentionPeriod();
 		if (retentionPeriod != null && retentionPeriod.length >= 2){
@@ -478,16 +488,8 @@ public class TAP implements VOSIResource {
 			}
 		}
 
-		// Upload capabilities and limits:
+		// Upload limits
 		if (service.uploadEnabled()){
-			// Write upload methods: INLINE, HTTP, FTP:
-			xml.append("<uploadMethod ivo-id=\"ivo://ivoa.org/tap/uploadmethods#inline\" />");
-			xml.append("<uploadMethod ivo-id=\"ivo://ivoa.org/tap/uploadmethods#http\" />");
-			xml.append("<uploadMethod ivo-id=\"ivo://ivoa.org/tap/uploadmethods#ftp\" />");
-			xml.append("<uploadMethod ivo-id=\"ivo://ivoa.net/std/TAPRegExt#upload-inline\" />");
-			xml.append("<uploadMethod ivo-id=\"ivo://ivoa.net/std/TAPRegExt#upload-http\" />");
-			xml.append("<uploadMethod ivo-id=\"ivo://ivoa.net/std/TAPRegExt#upload-ftp\" />");
-
 			// Write upload limits:
 			int[] uploadLimit = service.getUploadLimit();
 			LimitUnit[] uploadLimitType = service.getUploadLimitType();
-- 
GitLab