aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/UrlParameterExtractor.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/UrlParameterExtractor.java')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/UrlParameterExtractor.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/UrlParameterExtractor.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/UrlParameterExtractor.java
new file mode 100644
index 00000000..4c793524
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/UrlParameterExtractor.java
@@ -0,0 +1,46 @@
+package at.gv.egiz.pdfas.web.helper;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+public class UrlParameterExtractor {
+
+
+ public static Map<String, String> splitQuery(URL url) throws UnsupportedEncodingException {
+ Map<String, String> query_pairs = new LinkedHashMap<String, String>();
+ String query = url.getQuery();
+ String[] pairs = query.split("&");
+ for (String pair : pairs) {
+ int idx = pair.indexOf("=");
+ query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
+ }
+ return query_pairs;
+ }
+
+ public static String buildParameterFormString(URL url) throws IOException {
+ Map<String, String> query_pairs = splitQuery(url);
+ Iterator<Entry<String, String>> entryIt = query_pairs.entrySet().iterator();
+
+ if(query_pairs.isEmpty()) {
+ return "";
+ }
+ String genericTemplate = PdfAsHelper.getGenericTemplate();
+ StringBuilder sb = new StringBuilder();
+ while(entryIt.hasNext()) {
+ Entry<String, String> entry = entryIt.next();
+
+ String current = genericTemplate.replace("##NAME##", entry.getKey());
+ current = current.replace("##VALUE##", entry.getValue());
+ sb.append(current);
+ }
+
+ return sb.toString();
+ }
+
+}