c1f758ef1a848585f417b688515d25d7f0fa9b58
[vfc/nfvo/catalog.git] /
1 /**\r
2  *     Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)\r
3  *\r
4  *     Licensed under the Apache License, Version 2.0 (the "License");\r
5  *     you may not use this file except in compliance with the License.\r
6  *     You may obtain a copy of the License at\r
7  *\r
8  *             http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  *     Unless required by applicable law or agreed to in writing, software\r
11  *     distributed under the License is distributed on an "AS IS" BASIS,\r
12  *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  *     See the License for the specific language governing permissions and\r
14  *     limitations under the License.\r
15  */\r
16 package org.openo.orchestrator.nfv.catalog.model.parser.yaml;\r
17 \r
18 import org.glassfish.jersey.client.ClientConfig;\r
19 import org.openo.orchestrator.nfv.catalog.common.MSBUtil;\r
20 import org.openo.orchestrator.nfv.catalog.db.exception.CatalogResourceException;\r
21 import org.openo.orchestrator.nfv.catalog.model.parser.yaml.entity.ParseYamlRequestParemeter;\r
22 import org.openo.orchestrator.nfv.catalog.model.parser.yaml.entity.ParseYamlResult;\r
23 \r
24 import com.eclipsesource.jaxrs.consumer.ConsumerFactory;\r
25 import com.google.gson.Gson;\r
26 \r
27 /**\r
28  * \r
29  * @author 10090474\r
30  * \r
31  */\r
32 public class YamlParseServiceConsumer {\r
33     /**\r
34      * get service template by template id from container service.\r
35      * \r
36      * @param request\r
37      * @return\r
38      * @throws CatalogResourceException\r
39      */\r
40     public static ParseYamlResult getServiceTemplates(\r
41             final ParseYamlRequestParemeter request)\r
42             throws CatalogResourceException {\r
43         try {\r
44             ClientConfig config = new ClientConfig();\r
45             IYamlParseRest yamlParseProxy = ConsumerFactory\r
46                     .createConsumer(MSBUtil.getYamlParseBaseUrl(), config,\r
47                             IYamlParseRest.class);\r
48             String jsonStr = yamlParseProxy.parse(request);\r
49             return new Gson().fromJson(jsonStr, ParseYamlResult.class);\r
50         } catch (Exception e) {\r
51             throw new CatalogResourceException("Call parser api failed.", e);\r
52         }\r
53 \r
54     }\r
55 }\r