1 /** 2 * 3 * Copyright 2003-2004 The Apache Software Foundation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package org.apache.geronimo.deployment.plugin.local; 19 20 import org.apache.geronimo.deployment.util.DeploymentUtil; 21 import org.apache.geronimo.kernel.Kernel; 22 23 import javax.enterprise.deploy.shared.CommandType; 24 import javax.enterprise.deploy.spi.Target; 25 import java.io.File; 26 import java.io.InputStream; 27 28 /** 29 * @version $Rev: 399026 $ $Date: 2006-05-02 13:03:28 -0700 (Tue, 02 May 2006) $ 30 */ 31 public class DistributeCommand extends AbstractDeployCommand { 32 protected final Target[] targetList; 33 34 public DistributeCommand(Kernel kernel, Target[] targetList, File moduleArchive, File deploymentPlan) { 35 super(CommandType.DISTRIBUTE, kernel, moduleArchive, deploymentPlan, null, null, false); 36 this.targetList = targetList; 37 } 38 39 public DistributeCommand(Kernel kernel, Target[] targetList, InputStream moduleStream, InputStream deploymentStream) { 40 super(CommandType.DISTRIBUTE, kernel, null, null, moduleStream, deploymentStream, true); 41 this.targetList = targetList; 42 } 43 44 public void run() { 45 try { 46 if (spool) { 47 if (moduleStream != null) { 48 moduleArchive = DeploymentUtil.createTempFile(); 49 copyTo(moduleArchive, moduleStream); 50 } 51 if (deploymentStream != null) { 52 deploymentPlan = DeploymentUtil.createTempFile(); 53 copyTo(deploymentPlan, deploymentStream); 54 } 55 } 56 if (deployer == null) { 57 return; 58 } 59 for(int i = 0; i < targetList.length; i++) { 60 doDeploy(targetList[i], true); 61 } 62 } catch (Exception e) { 63 doFail(e); 64 } finally { 65 if (spool) { 66 if (moduleArchive != null) { 67 moduleArchive.delete(); 68 } 69 if (deploymentPlan != null) { 70 deploymentPlan.delete(); 71 } 72 } 73 } 74 } 75 76 }