You can view the asset information so that you can complete other tasks associated with the asset, such as editing or exporting an asset. An asset represents at least one binary file that implements business logic.
This task assumes a basic familiarity with command framework programming. Read about command framework programming in the application programming interface documentation.
Before you can view an asset of a business-level application, you must have imported an asset.
You can view an asset using programming, the administrative console, or the wsadmin tool. The steps describe how to view an asset using programming.
You must provide the assetID parameter to specify the asset you are viewing. You can view configuration information of an asset, such as the destination location and relationships with other assets.
Perform the following tasks to view an asset of a business-level application using programming.
After you successfully run the code, you can view the configuration information of an asset.
The following example shows how to view an asset based on the previous steps. Some statements are split on multiple lines for printing purposes.
package com.ibm.ws.management.application.task;
import java.util.Properties;
import com.ibm.websphere.management.AdminClient;
import com.ibm.websphere.management.AdminClientFactory;
import com.ibm.websphere.management.Session;
import com.ibm.websphere.management.cmdframework.AdminCommand;
import com.ibm.websphere.management.cmdframework.CommandMgr;
import com.ibm.websphere.management.cmdframework.CommandResult;
import com.ibm.websphere.management.cmdframework.CommandStep;
import com.ibm.websphere.management.cmdframework.TaskCommand;
import com.ibm.websphere.management.async.client.AsyncCommandClient;
public class ViewAsset {
public static void main(String [] args) {
try {
// Connect to the application server.
// This step is optional if you use the local
// command manager. Comment out the lines to and including
// CommandMgr cmdMgr = CommandMgr.getClientCommandMgr(
// soapClient);
// to get the soapClient soap client if you use the local
// command manager.
String host = "localhost";
String port = "8880"; // Change to your port number if it is
// not 8880.
Properties config = new Properties();
config.put(AdminClient.CONNECTOR_HOST, host);
config.put(AdminClient.CONNECTOR_PORT, port);
config.put(AdminClient.CONNECTOR_TYPE,
AdminClient.CONNECTOR_TYPE_SOAP);
System.out.println("Config: " + config);
AdminClient soapClient =
AdminClientFactory.createAdminClient(config);
// Create the command manager.
CommandMgr cmdMgr = CommandMgr.getClientCommandMgr(soapClient);
// Comment out the previous lines to create a client command
// manager if you are using a local command manager.
// Uncomment the following line to create a local command
// manager:
//
// CommandMgr cmdMgr = CommandMgr.getCommandMgr();
System.out.println("\nCreated command manager");
// Optionally create an asynchronous command handler.
// Comment out the following line if no further handling
// of command notification is required:
AsyncCmdTaskHandler listener = new AsyncCmdTaskHandler();
// Create an asynchronous command client.
// Set up the session.
String id = Long.toHexString(System.currentTimeMillis());
String user = "content" + id;
Session session = new Session(user, true);
// If no command handler is used, replace the following listener with
// null for the AsyncCommandClient object:
AsyncCommandClient asyncCmdClientHelper = new
AsyncCommandClient(session, listener);
System.out.println("\nCreated async command client");
// Create the command to view the asset.
String cmdName = "viewAsset";
AdminCommand cmd = cmdMgr.createCommand(cmdName);
cmd.setConfigSession(session); // View a certain composition
// unit of a business-level application
// using the session created.
System.out.println("\nCreated " + cmdName);
// (required) Set the assetID parameter to the asset.
// Examples of valid formats for the assetID parameter:
// - aName
// - assetname=aName
// - WebSphere:assetname=aName
// This parameter accepts an incomplete ID as long as the
// incomplete ID can resolve to a unique asset.
String assetID = "asset1.zip";
cmd.setParameter("assetID", assetID);
System.out.println("\nSet assetID parameter to "
+ cmd.getParameter("assetID"));
// Call the asynchronous client helper to process parameters
try {
asyncCmdClientHelper.processCommandParameters(cmd);
System.out.println("\nCompleted process command " +
"parameters");
} catch (Throwable th) {
System.out.println("Failed from " +
"asyncCmdClientHelper.processCommandParameters(cmd).");
th.printStackTrace();
System.exit(-1);
}
// Call the asynchronous command client to run the command.
asyncCmdClientHelper.execute(cmd);
System.out.println("\nCompleted running of command");
// Check the command result.
CommandResult result = cmd.getCommandResult();
if (result != null) {
if (result.isSuccessful()) {
System.out.println("\nCommand ran successfully "
+ "with result\n" + result.getResult());
}
else {
System.out.println("\nCommand ran with " +
"Exception");
result.getException().printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.ibm.ws.management.application.task;
import com.ibm.websphere.management.cmdframework.provider.CommandNotification;
import com.ibm.websphere.management.async.client.AsyncCommandHandlerIF;
public class AsyncCmdTaskHandler implements AsyncCommandHandlerIF {
public void handleNotification(CommandNotification notification) {
// Add your own code here to handle the received notification
System.out.println("\nEXAMPLE: notification received: " +
notification);
}
}
You can use the asset information that you viewed to perform other tasks. For instance, you might edit the asset to make improvements to the asset. You might export the asset and then import it into another configuration repository. You can then add the asset as a composition unit to a business-level application.