use of javax.naming.ServiceUnavailableException in project directory-ldap-api by apache.
the class WrappedPartialResultException method wrap.
/**
* Wraps a LDAP exception into a NaingException
*
* @param t The original exception
* @throws NamingException The wrapping JNDI exception
*/
public static void wrap(Throwable t) throws NamingException {
if (t instanceof NamingException) {
throw (NamingException) t;
}
NamingException ne;
if ((t instanceof LdapAffectMultipleDsaException) || (t instanceof LdapAliasDereferencingException) || (t instanceof LdapLoopDetectedException) || (t instanceof LdapAliasException) || (t instanceof LdapOperationErrorException) || (t instanceof LdapOtherException)) {
ne = new NamingException(t.getLocalizedMessage());
} else if (t instanceof LdapAttributeInUseException) {
ne = new AttributeInUseException(t.getLocalizedMessage());
} else if (t instanceof LdapAuthenticationException) {
ne = new AuthenticationException(t.getLocalizedMessage());
} else if (t instanceof LdapAuthenticationNotSupportedException) {
ne = new AuthenticationNotSupportedException(t.getLocalizedMessage());
} else if (t instanceof LdapContextNotEmptyException) {
ne = new ContextNotEmptyException(t.getLocalizedMessage());
} else if (t instanceof LdapEntryAlreadyExistsException) {
ne = new NameAlreadyBoundException(t.getLocalizedMessage());
} else if (t instanceof LdapInvalidAttributeTypeException) {
ne = new InvalidAttributeIdentifierException(t.getLocalizedMessage());
} else if (t instanceof LdapInvalidAttributeValueException) {
ne = new InvalidAttributeValueException(t.getLocalizedMessage());
} else if (t instanceof LdapInvalidDnException) {
ne = new InvalidNameException(t.getLocalizedMessage());
} else if (t instanceof LdapInvalidSearchFilterException) {
ne = new InvalidSearchFilterException(t.getLocalizedMessage());
} else if (t instanceof LdapNoPermissionException) {
ne = new NoPermissionException(t.getLocalizedMessage());
} else if (t instanceof LdapNoSuchAttributeException) {
ne = new NoSuchAttributeException(t.getLocalizedMessage());
} else if (t instanceof LdapNoSuchObjectException) {
ne = new NameNotFoundException(t.getLocalizedMessage());
} else if (t instanceof LdapProtocolErrorException) {
ne = new CommunicationException(t.getLocalizedMessage());
} else if (t instanceof LdapReferralException) {
ne = new WrappedReferralException((LdapReferralException) t);
} else if (t instanceof LdapPartialResultException) {
ne = new WrappedPartialResultException((LdapPartialResultException) t);
} else if (t instanceof LdapSchemaViolationException) {
ne = new SchemaViolationException(t.getLocalizedMessage());
} else if (t instanceof LdapServiceUnavailableException) {
ne = new ServiceUnavailableException(t.getLocalizedMessage());
} else if (t instanceof LdapTimeLimitExceededException) {
ne = new TimeLimitExceededException(t.getLocalizedMessage());
} else if (t instanceof LdapUnwillingToPerformException) {
ne = new OperationNotSupportedException(t.getLocalizedMessage());
} else {
ne = new NamingException(t.getLocalizedMessage());
}
ne.setRootCause(t);
throw ne;
}
use of javax.naming.ServiceUnavailableException in project tomee by apache.
the class Info2Properties method main.
public static void main(final String[] args) {
final CommandLineParser parser = new PosixParser();
// create the Options
final Options options = new Options();
options.addOption(option("v", "version", "cmd.properties.opt.version"));
options.addOption(option("h", "help", "cmd.properties.opt.help"));
options.addOption(option("s", "server-url", "url", "cmd.properties.opt.server"));
CommandLine line = null;
try {
// parse the command line arguments
line = parser.parse(options, args);
} catch (final ParseException exp) {
help(options);
System.exit(-1);
}
if (line.hasOption("help")) {
help(options);
System.exit(0);
} else if (line.hasOption("version")) {
OpenEjbVersion.get().print(System.out);
System.exit(0);
}
final Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
final String serverUrl = line.getOptionValue("server-url", defaultServerUrl);
p.put(Context.PROVIDER_URL, serverUrl);
ConfigurationInfo configInfo = null;
try {
final InitialContext ctx = new InitialContext(p);
configInfo = (ConfigurationInfo) ctx.lookup("openejb/ConfigurationInfoBusinessRemote");
} catch (final ServiceUnavailableException e) {
System.out.println(e.getCause().getMessage());
System.out.println(messages.format("cmd.deploy.serverOffline"));
System.exit(1);
} catch (final NamingException e) {
System.out.println("ConfigurationInfo does not exist in server '" + serverUrl + "', check the server logs to ensure it exists and has not been removed.");
System.exit(2);
}
File tempFile = null;
try {
try {
tempFile = File.createTempFile("configrequest", "txt");
} catch (final Throwable e) {
final File tmp = new File("tmp");
if (!tmp.exists() && !tmp.mkdirs()) {
throw new IOException("Failed to create local tmp directory: " + tmp.getAbsolutePath());
}
tempFile = File.createTempFile("configrequest", "txt", tmp);
}
if (!tempFile.exists()) {
throw new IllegalStateException("Failed to create tmp file: " + tempFile.getAbsolutePath());
}
} catch (final Exception e) {
System.err.println("Temp file creation failed.");
e.printStackTrace();
System.exit(1);
}
OpenEjbConfiguration configuration = null;
try {
configuration = configInfo.getOpenEjbConfiguration(tempFile);
} catch (final ConfigurationInfo.UnauthorizedException e) {
System.err.println("This tool is currently crippled to only work with server's on the same physical machine. See this JIRA issue for details: http://issues.apache.org/jira/browse/OPENEJB-621");
System.exit(10);
}
printConfig(configuration);
}
use of javax.naming.ServiceUnavailableException in project tomee by apache.
the class Deploy method main.
public static void main(final String... args) throws SystemExitException {
final CommandLineParser parser = new PosixParser();
// create the Options
final Options options = new Options();
options.addOption(option("v", "version", "cmd.deploy.opt.version"));
options.addOption(option("h", "help", "cmd.deploy.opt.help"));
options.addOption(option("o", "offline", "cmd.deploy.opt.offline"));
options.addOption(option("s", "server-url", "url", "cmd.deploy.opt.server"));
options.addOption(option("d", "debug", "cmd.deploy.opt.debug"));
options.addOption(option("q", "quiet", "cmd.deploy.opt.quiet"));
options.addOption(option("u", "undeploy", "cmd.deploy.opt.undeploy"));
options.addOption(option(null, "dir", "cmd.deploy.opt.dir"));
final CommandLine line;
try {
// parse the command line arguments
line = parser.parse(options, args);
} catch (final ParseException exp) {
help(options);
throw new SystemExitException(-1);
}
if (line.hasOption("help")) {
help(options);
return;
} else if (line.hasOption("version")) {
OpenEjbVersion.get().print(System.out);
return;
}
if (line.getArgList().size() == 0) {
System.out.println("Must specify an archive to deploy.");
help(options);
return;
}
// make sure that the modules given on the command line are accessible
final List<?> modules = line.getArgList();
for (final Object module : modules) {
final String path = (String) module;
final File file = new File(path);
try {
checkSource(file);
} catch (final DeploymentTerminatedException e) {
System.out.println(e.getMessage());
// TODO: What is it for?
throw new SystemExitException(-100);
}
}
final boolean offline = line.hasOption("offline");
final File apps;
try {
final String dir = line.getOptionValue("dir", "apps");
apps = SystemInstance.get().getBase().getDirectory(dir);
} catch (final IOException e) {
throw new SystemExitException(-1);
}
if (!apps.exists()) {
System.out.println("Directory does not exist: " + apps.getAbsolutePath());
}
Deployer deployer = null;
if (!offline) {
final Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
String serverUrl = line.getOptionValue("server-url", defaultServerUrl);
if ("auto".equalsIgnoreCase(serverUrl.trim())) {
try {
final File sXml = new File(JavaSecurityManagers.getSystemProperty("openejb.base", "conf/server.xml"));
if (sXml.exists()) {
final QuickServerXmlParser result = QuickServerXmlParser.parse(sXml);
serverUrl = "http://" + result.host() + ":" + result.http() + "/tomee/ejb";
}
} catch (final Throwable e) {
// no-op
}
}
p.put(Context.PROVIDER_URL, serverUrl);
try {
final InitialContext ctx = new InitialContext(p);
deployer = (Deployer) ctx.lookup("openejb/DeployerBusinessRemote");
} catch (final ServiceUnavailableException e) {
System.out.println(e.getCause().getMessage());
System.out.println(messages.format("cmd.deploy.serverOffline"));
throw new SystemExitException(-1);
} catch (final NamingException e) {
System.out.println("openejb/DeployerBusinessRemote does not exist in server '" + serverUrl + "', check the server logs to ensure it exists and has not been removed.");
throw new SystemExitException(-2);
}
}
final boolean undeploy = line.hasOption("undeploy");
// We increment the exit code once for every failed deploy
int exitCode = 0;
for (final Object obj : line.getArgList()) {
final String path = (String) obj;
final File file = new File(path);
File destFile = new File(apps, file.getName());
try {
if (shouldUnpack(file)) {
final File unpacked = unpackedLocation(file, apps);
if (undeploy) {
undeploy(offline, unpacked, path, deployer);
}
destFile = unpack(file, unpacked);
} else {
if (undeploy) {
undeploy(offline, destFile, path, deployer);
}
checkDest(destFile, file);
copyFile(file, destFile);
}
if (offline) {
System.out.println(messages.format("cmd.deploy.offline", path, apps.getAbsolutePath()));
continue;
}
final String location;
try {
location = destFile.getCanonicalPath();
} catch (final IOException e) {
throw new OpenEJBException(messages.format("cmd.deploy.fileNotFound", path));
}
final AppInfo appInfo = deployer.deploy(location);
System.out.println(messages.format("cmd.deploy.successful", path, appInfo.path));
if (line.hasOption("quiet")) {
continue;
}
print(appInfo);
} catch (final UndeployException e) {
System.out.println(messages.format("cmd.undeploy.failed", path));
e.printStackTrace(System.out);
exitCode++;
} catch (final DeploymentTerminatedException e) {
System.out.println(e.getMessage());
exitCode++;
} catch (final ValidationFailedException e) {
System.out.println(messages.format("cmd.deploy.validationFailed", path));
int level = 2;
if (line.hasOption("debug")) {
level = 3;
}
final AppValidator appValidator = new AppValidator(level, false, true, false);
appValidator.printResults(e);
exitCode++;
if (!delete(destFile)) {
System.out.println(messages.format("cmd.deploy.cantDelete.deploy", destFile.getAbsolutePath()));
}
} catch (final Throwable e) {
System.out.println(messages.format("cmd.deploy.failed", path));
e.printStackTrace(System.out);
exitCode++;
if (!delete(destFile)) {
System.out.println(messages.format("cmd.deploy.cantDelete.deploy", destFile.getAbsolutePath()));
}
}
}
if (exitCode != 0) {
throw new SystemExitException(exitCode);
}
}
use of javax.naming.ServiceUnavailableException in project tomee by apache.
the class Undeploy method main.
public static void main(final String[] args) throws SystemExitException {
final CommandLineParser parser = new PosixParser();
// create the Options
final Options options = new Options();
options.addOption(Undeploy.option("v", "version", "cmd.deploy.opt.version"));
// TODO this message doesn't exist
options.addOption(Undeploy.option("h", "help", "cmd.undeploy.opt.help"));
options.addOption(Undeploy.option("s", "server-url", "url", "cmd.deploy.opt.server"));
CommandLine line = null;
try {
// parse the command line arguments
line = parser.parse(options, args);
} catch (final ParseException exp) {
Undeploy.help(options);
throw new SystemExitException(-1);
}
if (line.hasOption("help")) {
Undeploy.help(options);
return;
} else if (line.hasOption("version")) {
OpenEjbVersion.get().print(System.out);
return;
}
if (line.getArgList().size() == 0) {
System.out.println("Must specify an module id.");
help(options);
return;
}
final Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
String serverUrl = line.getOptionValue("server-url", defaultServerUrl);
if ("auto".equalsIgnoreCase(serverUrl.trim())) {
try {
final File sXml = new File(JavaSecurityManagers.getSystemProperty("openejb.base", "conf/server.xml"));
if (sXml.exists()) {
final QuickServerXmlParser result = QuickServerXmlParser.parse(sXml);
serverUrl = "http://" + result.host() + ":" + result.http() + "/tomee/ejb";
}
} catch (final Throwable e) {
// no-op
}
}
p.put(Context.PROVIDER_URL, serverUrl);
Deployer deployer = null;
try {
final InitialContext ctx = new InitialContext(p);
deployer = (Deployer) ctx.lookup("openejb/DeployerBusinessRemote");
} catch (final ServiceUnavailableException e) {
System.out.println(e.getCause().getMessage());
System.out.println(Undeploy.messages.format("cmd.deploy.serverOffline"));
throw new SystemExitException(-1);
} catch (final NamingException e) {
System.out.println("DeployerEjb does not exist in server '" + serverUrl + "', check the server logs to ensure it exists and has not been removed.");
throw new SystemExitException(-2);
}
int exitCode = 0;
for (final Object obj : line.getArgList()) {
final String moduleId = (String) obj;
try {
undeploy(moduleId, deployer);
} catch (final DeploymentTerminatedException e) {
System.out.println(e.getMessage());
exitCode++;
} catch (final UndeployException e) {
System.out.println(messages.format("cmd.undeploy.failed", moduleId));
e.printStackTrace(System.out);
exitCode++;
} catch (final NoSuchApplicationException e) {
// TODO make this message
System.out.println(messages.format("cmd.undeploy.noSuchModule", moduleId));
exitCode++;
}
}
if (exitCode != 0) {
throw new SystemExitException(exitCode);
}
}
use of javax.naming.ServiceUnavailableException in project cloudstack by apache.
the class ElastistorUtil method getElastistorRestClient.
/**
* This intializes a new jersey restclient for http call with elasticenter
*/
public static ElastiCenterClient getElastistorRestClient() {
ElastiCenterClient restclient = null;
try {
String ip = getConfigurationDao().getValue("cloudbyte.management.ip");
String apikey = getConfigurationDao().getValue("cloudbyte.management.apikey");
if (ip == null) {
throw new CloudRuntimeException("set the value of cloudbyte.management.ip in global settings");
}
if (apikey == null) {
throw new CloudRuntimeException("set the value of cloudbyte.management.apikey in global settings");
}
restclient = new ElastiCenterClient(ip, apikey);
} catch (InvalidCredentialsException e) {
throw new CloudRuntimeException("InvalidCredentialsException:" + e.getMessage(), e);
} catch (InvalidParameterException e) {
throw new CloudRuntimeException("InvalidParameterException:" + e.getMessage(), e);
} catch (SSLHandshakeException e) {
throw new CloudRuntimeException("SSLHandshakeException:" + e.getMessage(), e);
} catch (ServiceUnavailableException e) {
throw new CloudRuntimeException("ServiceUnavailableException:" + e.getMessage(), e);
}
return restclient;
}
Aggregations