3e1c94158847262ec8aebe7d5a9d050dee7467e8
[portal.git] / ecomp-portal-BE-common / src / main / java / org / openecomp / portalapp / portal / scheduler / policy / PolicyUtil.java
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the “License”);
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
37  */
38 package org.openecomp.portalapp.portal.scheduler.policy;
39
40 import java.text.DateFormat;
41 import java.text.SimpleDateFormat;
42 import java.util.Date;
43
44 import org.glassfish.jersey.client.ClientResponse;
45 import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
46 /*import org.openecomp.vid.policy.PolicyResponseWrapper;
47 import org.openecomp.vid.policy.PolicyUtil;
48 import org.openecomp.vid.policy.RestObject;*/
49
50 import com.fasterxml.jackson.databind.ObjectMapper;
51
52 public class PolicyUtil {
53         
54         private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PolicyUtil.class);
55         
56         final static DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss:SSSS");
57         
58         public static PolicyResponseWrapper wrapResponse ( String body, int statusCode ) {
59                 
60                 PolicyResponseWrapper w = new PolicyResponseWrapper();
61                 w.setStatus (statusCode);
62                 w.setEntity(body);
63                 
64                 return w;
65         }
66         
67         public static PolicyResponseWrapper wrapResponse (ClientResponse cres) {        
68                 String resp_str = "";
69                 int statuscode = 0;
70                 if ( cres != null ) {
71                         resp_str = cres.readEntity(String.class);
72                         statuscode = cres.getStatus();
73                 }
74                 
75                 
76                 PolicyResponseWrapper w = PolicyUtil.wrapResponse ( resp_str, statuscode );
77                 return (w);
78         }
79         
80         public static PolicyResponseWrapper wrapResponse (RestObject<String> rs) {      
81                 String resp_str = "";
82                 int status = 0;
83                 if ( rs != null ) {
84                         resp_str = rs.get();
85                         status = rs.getStatusCode();
86                 }
87                 PolicyResponseWrapper w = PolicyUtil.wrapResponse ( resp_str, status );
88                 return (w);
89         }
90         
91         public static <T> String convertPojoToString ( T t ) throws com.fasterxml.jackson.core.JsonProcessingException {
92                 
93                 String methodName = "convertPojoToString";
94                 ObjectMapper mapper = new ObjectMapper();
95                 String r_json_str = "";
96             if ( t != null ) {
97                     try {
98                         r_json_str = mapper.writeValueAsString(t);
99                     }
100                     catch ( com.fasterxml.jackson.core.JsonProcessingException j ) {
101                         logger.debug(EELFLoggerDelegate.debugLogger,dateFormat.format(new Date()) + "<== " +  methodName + " Unable to parse object as json");
102                     }
103             }
104             return (r_json_str);
105         }
106         
107         
108         public static void main(String[] args) {
109                 // TODO Auto-generated method stub              
110         }
111 }