Public and Private Locate entries
[aaf/authz.git] / cadi / core / src / main / java / org / onap / aaf / cadi / util / FixURIinfo.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6  * ===========================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END====================================================
19  */
20
21 package org.onap.aaf.cadi.util;
22
23 import java.net.URI;
24
25 /**
26  * URI and URL, if the host does not have "dots", will interpret Host:port as Authority
27  * 
28  * This is very problematic for Containers, which like single name entries.
29  * @author Instrumental(Jonathan)
30  *
31  */
32 public class FixURIinfo {
33         private String auth;
34         private String host;
35         private int port;
36         
37         public FixURIinfo(URI uri) {
38                 auth = uri.getAuthority();
39                 host = uri.getHost();
40                 if(host==null) {
41                         if(auth!=null) {
42                                 int colon = auth.indexOf(':');
43                                 if(colon >= 0 ) {
44                                         host = auth.substring(0, colon);
45                                         port = Integer.parseInt(auth.substring(colon+1));
46                                 } else {
47                                         host = auth;
48                                         port = uri.getPort();
49                                 }
50                                 auth=null;
51                         }
52                 }
53         }
54         
55         public String getHost() {
56                 return host;
57         }
58         
59         public int getPort() {
60                 return port;
61         }
62
63         public String getUserInfo() {
64                 return auth;
65         }
66 }