KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > petals > tools > ant > UninstallSharedLibTask


1 /**
2  * PETALS: PETALS Services Platform
3  * Copyright (C) 2005 EBM WebSourcing
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18  * USA.
19  *
20  * Initial developer(s): EBM WebSourcing
21  */

22 package org.objectweb.petals.tools.ant;
23
24 import javax.management.MBeanServerConnection JavaDoc;
25 import javax.management.remote.JMXConnector JavaDoc;
26
27 import org.apache.tools.ant.BuildException;
28 import org.objectweb.petals.tools.ant.managers.JBIAntTaskAbstract;
29 import org.objectweb.petals.tools.ant.util.JBIJMXConnectorUtil;
30
31 /**
32  * Task used to uninstall a shared library
33  *
34  * @author ddesjardins - eBMWebsourcing
35  */

36 public class UninstallSharedLibTask extends JBIAntTaskAbstract {
37
38     /**
39      * Name of the shared library
40      */

41     private String JavaDoc name;
42
43     public UninstallSharedLibTask() {
44         super();
45     }
46
47     /**
48      * Execute the ant task
49      *
50      * @throws IOException
51      */

52     public void execute() throws BuildException {
53         if (name == null) {
54             throw new BuildException("Required attribute : name");
55         }
56         try {
57             JMXConnector JavaDoc connector = JBIJMXConnectorUtil.getConnection(host,
58                     port, username, password);
59             MBeanServerConnection JavaDoc connection = connector
60                     .getMBeanServerConnection();
61             Object JavaDoc[] objects = new Object JavaDoc[1];
62             objects[0] = name;
63             String JavaDoc[] strings = new String JavaDoc[1];
64             strings[0] = "java.lang.String";
65             Object JavaDoc result = connection.invoke(JBIJMXConnectorUtil
66                     .getInstallationServiceMBeanName(connection),
67                     "uninstallSharedLibrary", objects, strings);
68             if (result != null) {
69                 try {
70                     log("Uninstalled shared library name : " + name);
71                 } catch (NullPointerException JavaDoc e) {
72                     // Exception thrown when execute outisde of the ant context
73
}
74             }
75             connector.close();
76         } catch (Exception JavaDoc e) {
77             if (Boolean.parseBoolean(failOnError)) {
78                 throw new BuildException(e.getMessage(), e.getCause());
79             }
80         }
81     }
82
83     public void setName(String JavaDoc name) {
84         this.name = name;
85     }
86 }
87
Popular Tags