Fix gvnfm juju compile problem
[vfc/nfvo/driver/vnfm/gvnfm.git] / juju / juju-vnfmadapter / Juju-vnfmadapterService / service / src / main / java / org / onap / vfc / nfvo / vnfm / gvnfm / jujuvnfmadapter / service / juju / JujuClientUtils.java
1 /*
2  * Copyright 2016 Huawei Technologies Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.vfc.nfvo.vnfm.gvnfm.jujuvnfmadapter.service.juju;
18
19 import org.python.core.PyInteger;
20 import org.python.core.PyObject;
21 import org.python.core.PyString;
22
23 /**
24  * <br/>
25  * <p>
26  * </p>
27  * 
28  * @author        
29  * @version     NFVO 0.5  Aug 22, 2016
30  */
31 public class JujuClientUtils {
32
33     private static  PyObjectFactory factory ;
34     
35     
36     private JujuClientUtils() {
37         // private constructor
38     }
39     
40     /**
41      * call this to connect JUJU VNFM
42      * <br/>
43      * 
44      * @param envName
45      * @since  NFVO 0.5
46      */
47     public static void init(String envName){
48             factory = PyObjectFactory.build(envName);
49     }
50     
51     /**
52      * <br>
53      * 
54      * @param serviceName
55      * @param charmUrl
56      * @return pyObject
57      */
58     public static PyObject setCharm(String serviceName,String charmUrl){
59        return factory.execute("set_charm", new PyString(serviceName), new PyString(charmUrl));
60     }
61     /**
62      * <br>
63      * 
64      * @param vnfInstanceId
65      * @param vnfmId
66      * @return pyObject
67      */
68     public static PyObject getVnfStatus(String vnfInstanceId,String vnfmId){
69         return null;
70      }
71     
72     /**
73      * <br>
74      * 
75      * @param serviceName
76      * @param charmUrl
77      * @param numUnits
78      * @return pyObject
79      */
80     public static PyObject deployService(String serviceName,String charmUrl, int numUnits){
81         PyObject[] arrys = new PyObject[]{new PyString(serviceName), new PyString(charmUrl), new PyInteger(numUnits)};
82         return factory.execute("deploy", arrys);
83      }
84     /**
85      * Destory a service and all of it's units.
86      * <br/>
87      * 
88      * @param serviceName
89      * @param charmUrl
90      * @param numUnits
91      * @return
92      * @since  NFVO 0.5
93      */
94     public static PyObject destoryService(String serviceName){
95         return factory.execute("deploy",new PyString(serviceName));
96      }
97 }