/** * Copyright (c) Members of the EGEE Collaboration. 2006-2009. * See http://www.eu-egee.org/partners/ for details on the copyright holders. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.glite.authz.pap.ui.cli.papmanagement; import java.rmi.RemoteException; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.ParseException; import org.glite.authz.pap.client.ServiceClient; import org.glite.authz.pap.services.pap_management.axis_skeletons.PAPManagement; import org.glite.authz.pap.ui.cli.CLIException; import org.glite.authz.pap.ui.cli.ServiceCLI; public abstract class PAPManagementCLI extends ServiceCLI { protected static String OPT_LOCAL = "l"; protected static String OPT_LOCAL_LONG = "local"; protected static String OPT_LOCAL_DESCRIPTION = "Set the pap as local."; protected static String OPT_REMOTEL_LONG = "remote"; protected static String OPT_REMOTE_DESCRIPTION = "Set the pap as remote."; protected static String OPT_NO_POLICIES_LONG = "no-policies"; protected static String OPT_NO_POLICIES_DESCRIPTION = "Do not fetch the policies now."; protected PAPManagement papMgmtClient; protected ServiceClient serviceClient; public PAPManagementCLI(String[] commandNameValues, String usage, String description, String longDescription) { super(commandNameValues, usage, description, longDescription); } @Override public int executeCommandService(CommandLine commandLine, ServiceClient serviceClient) throws CLIException, ParseException, RemoteException { papMgmtClient = serviceClient.getPAPManagementService(serviceClient.getTargetEndpoint() + serviceClient.getPAPManagementServiceName()); this.serviceClient = serviceClient; return executeCommand(commandLine); } protected abstract int executeCommand(CommandLine commandLine) throws CLIException, ParseException, RemoteException; }