datarouter-prov code clean - remove tabs
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / utils / URLUtilities.java
1 /*******************************************************************************\r
2  * ============LICENSE_START==================================================\r
3  * * org.onap.dmaap\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * ===========================================================================\r
7  * * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * * you may not use this file except in compliance with the License.\r
9  * * You may obtain a copy of the License at\r
10  * *\r
11  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * *\r
13  *  * Unless required by applicable law or agreed to in writing, software\r
14  * * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * * See the License for the specific language governing permissions and\r
17  * * limitations under the License.\r
18  * * ============LICENSE_END====================================================\r
19  * *\r
20  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21  * *\r
22  ******************************************************************************/\r
23 \r
24 \r
25 package org.onap.dmaap.datarouter.provisioning.utils;\r
26 \r
27 import java.net.InetAddress;\r
28 import java.net.UnknownHostException;\r
29 import java.util.Arrays;\r
30 \r
31 import org.onap.dmaap.datarouter.provisioning.BaseServlet;\r
32 \r
33 /**\r
34  * Utility functions used to generate the different URLs used by the Data Router.\r
35  *\r
36  * @author Robert Eby\r
37  * @version $Id: URLUtilities.java,v 1.2 2014/03/12 19:45:41 eby Exp $\r
38  */\r
39 public class URLUtilities {\r
40     /**\r
41      * Generate the URL used to access a feed.\r
42      *\r
43      * @param feedid the feed id\r
44      * @return the URL\r
45      */\r
46     public static String generateFeedURL(int feedid) {\r
47         return "https://" + BaseServlet.prov_name + "/feed/" + feedid;\r
48     }\r
49 \r
50     /**\r
51      * Generate the URL used to publish to a feed.\r
52      *\r
53      * @param feedid the feed id\r
54      * @return the URL\r
55      */\r
56     public static String generatePublishURL(int feedid) {\r
57         return "https://" + BaseServlet.prov_name + "/publish/" + feedid;\r
58     }\r
59 \r
60     /**\r
61      * Generate the URL used to subscribe to a feed.\r
62      *\r
63      * @param feedid the feed id\r
64      * @return the URL\r
65      */\r
66     public static String generateSubscribeURL(int feedid) {\r
67         return "https://" + BaseServlet.prov_name + "/subscribe/" + feedid;\r
68     }\r
69 \r
70     /**\r
71      * Generate the URL used to access a feed's logs.\r
72      *\r
73      * @param feedid the feed id\r
74      * @return the URL\r
75      */\r
76     public static String generateFeedLogURL(int feedid) {\r
77         return "https://" + BaseServlet.prov_name + "/feedlog/" + feedid;\r
78     }\r
79 \r
80     /**\r
81      * Generate the URL used to access a subscription.\r
82      *\r
83      * @param subid the subscription id\r
84      * @return the URL\r
85      */\r
86     public static String generateSubscriptionURL(int subid) {\r
87         return "https://" + BaseServlet.prov_name + "/subs/" + subid;\r
88     }\r
89 \r
90     /**\r
91      * Generate the URL used to access a subscription's logs.\r
92      *\r
93      * @param subid the subscription id\r
94      * @return the URL\r
95      */\r
96     public static String generateSubLogURL(int subid) {\r
97         return "https://" + BaseServlet.prov_name + "/sublog/" + subid;\r
98     }\r
99 \r
100     /**\r
101      * Generate the URL used to access the provisioning data on the peer POD.\r
102      *\r
103      * @return the URL\r
104      */\r
105     public static String generatePeerProvURL() {\r
106         return "https://" + getPeerPodName() + "/internal/prov";\r
107     }\r
108 \r
109     /**\r
110      * Generate the URL used to access the logfile data on the peer POD.\r
111      *\r
112      * @return the URL\r
113      */\r
114     public static String generatePeerLogsURL() {\r
115         //Fixes for Itrack ticket - DATARTR-4#Fixing if only one Prov is configured, not to give exception to fill logs.\r
116         String peerPodUrl = getPeerPodName();\r
117         if (peerPodUrl.equals("") || peerPodUrl.equals(null)) {\r
118             return "";\r
119         }\r
120 \r
121         return "https://" + peerPodUrl + "/internal/drlogs/";\r
122     }\r
123 \r
124     /**\r
125      * Return the real (non CNAME) version of the peer POD's DNS name.\r
126      *\r
127      * @return the name\r
128      */\r
129     public static String getPeerPodName() {\r
130         if (other_pod == null) {\r
131             String this_pod = "";\r
132             try {\r
133                 this_pod = InetAddress.getLocalHost().getHostName();\r
134                 System.out.println("this_pod: " + this_pod);\r
135             } catch (UnknownHostException e) {\r
136                 this_pod = "";\r
137             }\r
138             System.out.println("ALL PODS: " + Arrays.asList(BaseServlet.getPods()));\r
139             for (String pod : BaseServlet.getPods()) {\r
140                 if (!pod.equals(this_pod))\r
141                     other_pod = pod;\r
142             }\r
143         }\r
144         return other_pod;\r
145     }\r
146 \r
147     private static String other_pod;\r
148 }\r