/* * JBoss, Home of Professional Open Source. * Copyright 2011, Red Hat, Inc., and individual contributors * as indicated by the @author tags. See the copyright.txt file in the * distribution for a full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.jboss.as.appclient.logging; import static org.jboss.logging.Logger.Level.ERROR; import java.io.File; import java.net.URL; import javax.xml.stream.Location; import javax.xml.stream.XMLStreamException; import org.jboss.as.server.deployment.DeploymentUnitProcessingException; import org.jboss.logging.BasicLogger; import org.jboss.logging.annotations.Cause; import org.jboss.logging.annotations.LogMessage; import org.jboss.logging.Logger; import org.jboss.logging.annotations.Message; import org.jboss.logging.annotations.MessageLogger; import org.jboss.logging.annotations.Param; import org.jboss.vfs.VirtualFile; /** * @author <a href="mailto:jperkins@redhat.com">James R. Perkins</a> * @author <a href="mailto:david.lloyd@redhat.com">David M. Lloyd</a> */ @MessageLogger(projectCode = "WFLYAC", length = 4) public interface AppClientLogger extends BasicLogger { /** * The root logger. */ AppClientLogger ROOT_LOGGER = Logger.getMessageLogger(AppClientLogger.class, "org.jboss.as.appclient"); /** * Logs a generic error message using the {@link Throwable#toString() t.toString()} for the error message. * * @param cause the cause of the error. * @param t the cause to use for the log message. */ @LogMessage(level = ERROR) @Message(id = 1, value = "%s") void caughtException(@Cause Throwable cause, Throwable t); /** * Logs an error message indicating there was an error running the app client. * * @param cause the cause of the error. * @param exceptionName the exception name thrown. */ @LogMessage(level = ERROR) @Message(id = 2, value = "%s running app client main") void exceptionRunningAppClient(@Cause Throwable cause, String exceptionName); /** * * @param cause the cause of the error. */ @LogMessage(level = ERROR) @Message(id = 3, value = "Error closing connection") void exceptionClosingConnection(@Cause Throwable cause); @Message(id = Message.NONE, value = "Name of the app client configuration file to use (default is \"appclient.xml\")") String argAppClientConfig(); /** * Instructions for the {@link org.jboss.as.process.CommandLineConstants#HELP} command line arguments. * * @return the instructions. */ @Message(id = Message.NONE, value = "Display this message and exit") String argHelp(); /** * Instructions for the {@link org.jboss.as.process.CommandLineConstants#HOST} command line arguments. * * @return the instructions. */ @Message(id = Message.NONE, value = "Set the url of the application server instance to connect to") String argHost(); /** * Instructions for the {@link org.jboss.as.process.CommandLineConstants#CONNECTION_PROPERTIES} command line * arguments. * * @return the instructions. */ @Message(id = Message.NONE, value = "Load ejb-client.properties file from the given url") String argConnectionProperties(); /** * Instructions for the {@link org.jboss.as.process.CommandLineConstants#PROPERTIES} command line * arguments. * * @return the instructions. */ @Message(id = Message.NONE, value = "Load system properties from the given url") String argProperties(); /** * Instructions for {@link org.jboss.as.process.CommandLineConstants#SYS_PROP} command line argument. * * @return the instructions. */ @Message(id = Message.NONE, value = "Set a system property") String argSystemProperty(); /** * Instructions for the usage of the command line arguments instructions. * * @return the instructions. */ @Message(id = Message.NONE, value = "Usage: ./appclient.sh [args...] myear.ear#appClient.jar [client args...]%n%nwhere args include:%n") String argUsage(); /** * Instructions for {@link org.jboss.as.process.CommandLineConstants#VERSION} command line argument. * * @return the instructions. */ @Message(id = Message.NONE, value = "Print version and exit") String argVersion(); /** * Instructions for {@link org.jboss.as.process.CommandLineConstants#VERSION} command line argument. * * @return the instructions. */ @Message(id = Message.NONE, value = "Runs the container with the security manager enabled.") String argSecMgr(); /** * A general description of the appclient usage. * * @return a {@link String} for the message. */ @Message(id = Message.NONE, value = "The appclient script starts an application client which can be used to test and access the deployed EJBs.") String usageDescription(); /** * A message indicating that you must specify an application client to execute. * * @return the message. */ @Message(id = 4, value = "You must specify the application client to execute") String appClientNotSpecified(); /** * A message indicating the argument, represented by the {@code arg} parameter, expected an additional argument. * * @param arg the argument that expects an additional argument. * * @return the message. */ @Message(id = 5, value = "Argument expected for option %s") String argumentExpected(String arg); /** * Creates an exception indicating the application client could not be found to start. * * @return an {@link RuntimeException} for the error. */ @Message(id = 6, value = "Could not find application client jar in deployment") RuntimeException cannotFindAppClient(); /** * Creates an exception indicating that the application client, represented by the {@code deploymentName}, could * not be found. * * @param deploymentName the name of the deployment. * * @return a {@link DeploymentUnitProcessingException} for the error. */ @Message(id = 7, value = "Could not find application client %s") DeploymentUnitProcessingException cannotFindAppClient(String deploymentName); /** * Creates an exception indicating that the application client could not load the main class. * * @param cause the cause of the error. * * @return a {@link RuntimeException} for the error. */ @Message(id = 8, value = "Could not load application client main class") RuntimeException cannotLoadAppClientMainClass(@Cause Throwable cause); /** * Creates an exception indicating the component class could not be loaded. * * @param cause the cause of the error. * * @return a {@link DeploymentUnitProcessingException} for the error. */ @Message(id = 9, value = "Could not load component class") DeploymentUnitProcessingException cannotLoadComponentClass(@Cause Throwable cause); /** * A message indicating the properties could not be loaded from the URL. * * @param url the url to the properties. * * @return the message. */ @Message(id = 10, value = "Unable to load properties from URL %s") String cannotLoadProperties(URL url); /** * Creates an exception indicating the app client could not start due to no main class being found. * * @param deploymentName the deployment name. * * @return a {@link RuntimeException} for the error. */ @Message(id = 11, value = "Could not start app client %s as no main class was found") RuntimeException cannotStartAppClient(String deploymentName); /** * Creates an exception indicating the app client could not start due to the main method missing on the main class. * * @param deploymentName the deployment name. * @param mainClass the main class defined. * * @return a {@link RuntimeException} for the error. */ @Message(id = 12, value = "Could not start app client %s as no main method was found on main class %s") RuntimeException cannotStartAppClient(String deploymentName, Class<?> mainClass); /** * Creates an exception indicating the subsystem declaration has been duplicated. * * @param location the location of the error for the constructor of th exception. * * @return a {@link XMLStreamException} for the error. */ @Message(id = 13, value = "Duplicate subsystem declaration") XMLStreamException duplicateSubsystemDeclaration(@Param Location location); /** * Creates an exception indicating the element, represented by the {@code elementName} parameter, has already been * declared. * * @param elementName the element name. * @param value the value. * @param location the location used in the constructor of the exception. * * @return a {@link XMLStreamException} for the error. */ @Message(id = 14, value = "%s %s already declared") XMLStreamException elementAlreadyDeclared(String elementName, Object value, @Param Location location); /** * Creates an exception indicating a failure to parse the xml file represented by the {@code appXml} parameter. * * @param cause the cause of the error. * @param appXml the file that failed to be parsed. * * @return a {@link DeploymentUnitProcessingException} for the error. */ @Message(id = 15, value = "Failed to parse %s") DeploymentUnitProcessingException failedToParseXml(@Cause Throwable cause, VirtualFile appXml); /** * Creates an exception indicating a failure to parse the xml file represented by the {@code appXml} parameter. * * @param appXml the file that failed to be parsed. * @param lineNumber the line the failure occurred on. * @param columnNumber the column the failure occurred on. * * @return a {@link DeploymentUnitProcessingException} for the error. */ @Message(id = 16, value = "Failed to parse %s at [%d,%d]") DeploymentUnitProcessingException failedToParseXml(@Cause Throwable cause, VirtualFile appXml, int lineNumber, int columnNumber); /** * A message indicating the URL in the argument was malformed. * * @param arg the invalid argument. * * @return the message. */ @Message(id = 17, value = "Malformed URL provided for option %s") String malformedUrl(String arg); /** * Creates an exception indicating that more than one application client was found and not app client name was * specified. * * @return a {@link RuntimeException} for the error. */ @Message(id = 18, value = "More than one application client found and no app client name specified") RuntimeException multipleAppClientsFound(); /** * Creates an exception indicating the model contains multiple nodes represented by the {@code nodeName} parameter. * * @param nodeName the name of the node. * * @return an {@link IllegalStateException} for the error. */ @Message(id = 19, value = "Model contains multiple %s nodes") IllegalStateException multipleNodesFound(String nodeName); /** * A message indicating a known option. * * @param option the unknown option. * * @return the message. */ @Message(id = 20, value = "Unknown option %s") String unknownOption(String option); /** * A message indicating the callback handler could not be loaded * */ @Message(id = 21, value = "Could not load callback-handler class %s") DeploymentUnitProcessingException couldNotLoadCallbackClass(String clazz); /** * A message indicating the callback handler could not be instantiated * */ @Message(id = 22, value = "Could not create instance of callback-handler class %s") DeploymentUnitProcessingException couldNotCreateCallbackHandler(String clazz); /** * Creates an exception indicating that the application client, represented by the {@code deploymentName}, could * not be found. * * @param deploymentName the name of the deployment. * * @return a {@link RuntimeException} for the error. */ @Message(id = 23, value = "Could find application client %s") RuntimeException cannotFindAppClientFile(File deploymentName); @Message(id = 24, value = "Cannot specify both a host to connect to and an ejb-client.properties file. ") RuntimeException cannotSpecifyBothHostAndPropertiesFile(); /** * The ejb-client.properties could not be loaded */ @Message(id = 25, value = "Unable to load ejb-client.properties URL: %s ") DeploymentUnitProcessingException exceptionLoadingEjbClientPropertiesURL(final String file, @Cause Throwable cause); }