KickJava   Java API By Example, From Geeks To Geeks.

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


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: CopyArchiveToInstalledDirTask.java 154 6 oct. 06 ofabre $
20  * -------------------------------------------------------------------------
21  */

22 package org.objectweb.petals.jbi.management.deployment.deploy;
23
24 import java.io.File JavaDoc;
25 import java.io.IOException JavaDoc;
26 import java.net.URI JavaDoc;
27 import java.util.HashMap JavaDoc;
28
29 import org.apache.commons.io.FileUtils;
30 import org.objectweb.petals.jbi.management.deployment.DeploymentContextConstants;
31 import org.objectweb.petals.jbi.management.deployment.DeploymentUtils;
32 import org.objectweb.petals.processor.Task;
33 import org.objectweb.petals.util.LoggingUtil;
34
35 /**
36  * This task copies archive file to <i>installed</i> dir.
37  *
38  * @author ofabre - EBM Websourcing
39  *
40  */

41 public class CopyArchiveToInstalledDirTask implements Task {
42
43     /**
44      * logger wrapper
45      */

46     protected LoggingUtil log;
47
48     public CopyArchiveToInstalledDirTask(LoggingUtil log) {
49         super();
50         this.log = log;
51     }
52
53     public void execute(HashMap JavaDoc context) throws Exception JavaDoc {
54         URI JavaDoc saArchiveURI = (URI JavaDoc) context
55                 .get(DeploymentContextConstants.ARCHIVE_URI);
56
57         File JavaDoc file = DeploymentUtils.getArchiveFile(saArchiveURI);
58         File JavaDoc installedArchive = DeploymentUtils.getInstalledArchive(file);
59
60         FileUtils.copyFile(file, installedArchive);
61
62     }
63
64     public void undo(HashMap JavaDoc context) {
65         URI JavaDoc saArchiveURI = (URI JavaDoc) context
66                 .get(DeploymentContextConstants.ARCHIVE_URI);
67
68         File JavaDoc file = DeploymentUtils.getArchiveFile(saArchiveURI);
69         File JavaDoc installedArchive = DeploymentUtils.getInstalledArchive(file);
70
71         try {
72             FileUtils.forceDelete(installedArchive);
73         } catch (IOException JavaDoc e) {
74             String JavaDoc msg = "Failed to revert a CopyArchiveToInstalledDirTask";
75             log.error(msg, e);
76         }
77
78     }
79
80 }
81
Popular Tags