KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > petals > jbi > management > deployment > deploy > XMLDeploymentResultCreationTask


1 /**
2  * PETALS - PETALS Services Platform.
3  * Copyright (c) 2006 EBM Websourcing, http://www.ebmwebsourcing.com/
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 (at your option) any later version.
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * -------------------------------------------------------------------------
19  * $Id: XMLDeploymentResultCreationTask.java 154 6 oct. 06 ofabre $
20  * -------------------------------------------------------------------------
21  */

22 package org.objectweb.petals.jbi.management.deployment.deploy;
23
24 import java.util.HashMap JavaDoc;
25
26 import org.objectweb.petals.jbi.management.deployment.DeploymentContextConstants;
27 import org.objectweb.petals.jbi.management.deployment.DeploymentUtils;
28 import org.objectweb.petals.jbi.management.service.util.XMLResult;
29 import org.objectweb.petals.jbi.management.service.util.XMLResult.CauseFramework;
30 import org.objectweb.petals.jbi.management.service.util.XMLResult.MessageType;
31 import org.objectweb.petals.jbi.management.service.util.XMLResult.TaskResult;
32 import org.objectweb.petals.processor.Task;
33 import org.objectweb.petals.tools.jbicommon.descriptor.JBIDescriptor;
34
35 /**
36  * This task create framework task result. As we decide to create xml task
37  * result only when deployment of the SA success, xml result only handles xml
38  * component messages. All exceptions (caused by the deployment framework or
39  * thrown by a component during the deployment of an su) are thrown and they
40  * will stop the deployment process. It's a small violation of the
41  * specification. Used by both DeploymentService and SystemState Recovery.
42  *
43  * @author ofabre - EBM Websourcing
44  *
45  */

46 public class XMLDeploymentResultCreationTask implements Task {
47
48     @SuppressWarnings JavaDoc("unchecked")
49     public void execute(HashMap JavaDoc context) throws Exception JavaDoc {
50         JBIDescriptor descriptor = (JBIDescriptor) context
51                 .get(DeploymentContextConstants.SA_DESCRIPTOR);
52
53         XMLResult xmlResult = new XMLResult("deploy");
54         createFrameworkTaskResult(DeploymentUtils
55                 .getServiceAssemblyName(descriptor), xmlResult);
56
57         /*
58          * Fill context
59          */

60         context.put(DeploymentContextConstants.XML_RESULT, xmlResult);
61
62     }
63
64     /**
65      * Create the framework task result of the xml result message. Framework
66      * task result is always a success because we decide that in other cases, an
67      * exception is thrown.
68      *
69      * @param saName
70      * the service assembly name
71      * @param result
72      * framework task result
73      */

74     protected void createFrameworkTaskResult(String JavaDoc saName, XMLResult result) {
75         result.addFrameworkTaskResult(TaskResult.SUCCESS, MessageType.INFO,
76                 "Successfully deployed service assembly : {1}",
77                 new String JavaDoc[] {saName}, CauseFramework.YES);
78     }
79
80     public void undo(HashMap JavaDoc context) {
81         // Nothing to do
82

83     }
84
85 }
86
Popular Tags