RemoveAgentLibsTask.java revision de47fb992b4c3414ac5b445d5cab364b0b8b8b43
/**
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at
* https://opensso.dev.java.net/public/CDDLv1.0.html or
* opensso/legal/CDDLv1.0.txt
* See the License for the specific language governing
* permission and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* Header Notice in each file and include the License file
* at opensso/legal/CDDLv1.0.txt.
* If applicable, add the following below the CDDL Header,
* with the fields enclosed by brackets [] replaced by
* your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* $Id: RemoveAgentLibsTask.java,v 1.2 2008/11/21 22:21:44 leiming Exp $
*
*/
package com.sun.identity.agents.tools.websphere;
import java.io.File;
import java.util.Map;
import com.sun.identity.install.tools.configurator.ITask;
import com.sun.identity.install.tools.configurator.IStateAccess;
import com.sun.identity.install.tools.configurator.InstallException;
import com.sun.identity.install.tools.util.LocalizedMessage;
import com.sun.identity.install.tools.util.Debug;
/**
* This class removes agent's jars installed under Websphere's lib/ext.
*/
public class RemoveAgentLibsTask implements ITask, IConfigKeys,IConstants {
public boolean execute(String name, IStateAccess stateAccess,
Map properties) throws InstallException {
boolean status = true;
String libExtDir = (String)stateAccess.get(STR_KEY_WAS_LIB_EXT);
try {
// Delete agent.jar and openssoclientsdk.jar
libExtDir = (String)stateAccess.get(STR_KEY_WAS_LIB_EXT);
File agentJar = new File(libExtDir, STR_AGENT_JAR);
File clientsdkJar = new File(libExtDir, STR_OPENSSOCLIENTSDK_JAR);
Debug.log("RemoveAgentLibsTask.execute () - " + libExtDir);
if (!agentJar.delete()) {
Debug.log(
"RemoveAgentLibsTask.rollBack() Unable to delete file: " +
agentJar.getAbsolutePath());
status = false;
}
if (!clientsdkJar.delete()) {
Debug.log(
"RemoveAgentLibsTask.rollBack() Unable to delete file: " +
clientsdkJar.getAbsolutePath());
status = status && false;
}
} catch (Exception ex) {
Debug.log(
"RemoveAgentLibsTask.execute() - Unable to delete " +
"agent lib jars",ex);
status = false;
}
return status;
}
public boolean rollBack(String name, IStateAccess stateAccess,
Map properties) throws InstallException {
//Nothing to rollback
return true;
}
public LocalizedMessage getExecutionMessage(IStateAccess stateAccess,
Map properties) {
String libExtDir = (String)stateAccess.get(STR_KEY_WAS_LIB_EXT);
Object[] args = { libExtDir };
LocalizedMessage message =
LocalizedMessage.get(LOC_TSK_MSG_REMOVE_AGENT_LIB_EXECUTE,
STR_WAS_GROUP, args);
return message;
}
public LocalizedMessage getRollBackMessage(IStateAccess stateAccess,
Map properties) {
String libExtDir = (String)stateAccess.get(STR_KEY_WAS_LIB_EXT);
Object[] args = { libExtDir };
LocalizedMessage message =
LocalizedMessage.get(LOC_TSK_MSG_REMOVE_AGENT_LIB_ROLLBACK,
STR_WAS_GROUP, args);
return message;
}
public static final String LOC_TSK_MSG_REMOVE_AGENT_LIB_EXECUTE =
"TSK_MSG_REMOVE_AGENT_LIB_EXECUTE";
public static final String LOC_TSK_MSG_REMOVE_AGENT_LIB_ROLLBACK =
"TSK_MSG_REMOVE_AGENT_LIB_ROLLBACK";
}