Skip to content

Commit

Permalink
Add logging (Revert before merging)
Browse files Browse the repository at this point in the history
  • Loading branch information
pepness committed Jan 9, 2023
1 parent c146644 commit 6ec30d0
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ public static TomcatFactory create50() {
public static synchronized TomcatFactory getInstance() {
if (instance == null) {
instance = new TomcatFactory();
LOGGER.log(Level.INFO, "[{0}] instance= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), instance});
DeploymentFactoryManager.getInstance().registerDeploymentFactory(instance);
}
return instance;
Expand Down Expand Up @@ -168,13 +169,15 @@ public DeploymentManager getDeploymentManager(String uri, String uname, String p
if (tm == null) {
try {
TomcatVersion version = getTomcatVersion(uri);
LOGGER.log(Level.INFO, "[{0}] version= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), version});
tm = new TomcatManager(true, stripUriPrefix(uri, version), version);
managerCache.put(ip, tm);
} catch (IllegalArgumentException iae) {
Throwable t = new DeploymentManagerCreationException("Cannot create deployment manager for Tomcat instance: " + uri + "."); // NOI18N
throw (DeploymentManagerCreationException)(t.initCause(iae));
}
}
LOGGER.log(Level.INFO, "[{0}] tm= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), tm});
return tm;
}
}
Expand All @@ -198,7 +201,7 @@ public String getProductVersion() {

/**
* @param str
* @return <CODE>true</CODE> for URIs beggining with <CODE>tomcat[55|60]:</CODE> prefix
* @return <CODE>true</CODE> for URIs beggining with <CODE>tomcat[55|110]:</CODE> prefix
*/
@Override
public boolean handlesURI(String str) {
Expand All @@ -219,35 +222,44 @@ public boolean handlesURI(String str) {
* @throws IllegalStateException if the version information cannot be retrieved
*/
public static String getTomcatVersionString(File catalinaHome) throws IllegalStateException {
LOGGER.log(Level.INFO, "[{0}] catalinaHome= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), catalinaHome});
File catalinaJar = new File(catalinaHome, "lib/catalina.jar"); // NOI18N
File coyoteJar = new File(catalinaHome, "lib/tomcat-coyote.jar"); // NOI18N
LOGGER.log(Level.INFO, "[{0}] catalinaJar= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), catalinaJar});
LOGGER.log(Level.INFO, "[{0}] coyoteJar= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), coyoteJar});
if (!catalinaJar.exists()) {
// For Tomcat 5/5.5
LOGGER.log(Level.INFO, "[{0}] Catalina jar for Tomcat 5/5.5", String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()));
catalinaJar = new File(catalinaHome, "server/lib/catalina.jar"); // NOI18N
coyoteJar = new File(catalinaHome, "server/lib/tomcat-coyote.jar"); // NOI18N
}

LOGGER.log(Level.INFO, "[{0}] Calling getTomcatVersionFallback", String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()));
try {
URLClassLoader loader = new URLClassLoader(new URL[] {
Utilities.toURI(catalinaJar).toURL(), Utilities.toURI(coyoteJar).toURL() });

LOGGER.log(Level.INFO, "[{0}] loader= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), loader});
Class serverInfo = loader.loadClass("org.apache.catalina.util.ServerInfo"); // NOI18N
try {
Method method = serverInfo.getMethod("getServerNumber", new Class[] {}); // NOI18N
String version = (String) method.invoke(serverInfo, new Object[] {});
LOGGER.log(Level.INFO, "[{0}] version= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), version});
return version;
} catch (NoSuchMethodException ex) {
// try getServerInfo
LOGGER.log(Level.INFO, "[{0}] serverInfo.getMethod does not exist", String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()));
}

Method method = serverInfo.getMethod("getServerInfo", new Class[] {}); // NOI18N
LOGGER.log(Level.INFO, "[{0}] method= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), method});
String version = (String) method.invoke(serverInfo, new Object[] {});
int idx = version.indexOf('/');
if (idx > 0) {
LOGGER.log(Level.INFO, "[{0}] version= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), version.substring(idx + 1)});
return version.substring(idx + 1);
}
throw new IllegalStateException("Cannot identify the version of the server."); // NOI18N
} catch (MalformedURLException | ReflectiveOperationException e) {
LOGGER.log(Level.INFO, "[{0}] something went wrong", String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()));
throw new IllegalStateException(e);
}
}
Expand All @@ -257,18 +269,23 @@ public static TomcatVersion getTomcatVersion(File catalinaHome) throws IllegalSt
try {
// TODO we might use fallback as primary check - it might be faster
// than loading jars and executing code in JVM
LOGGER.log(Level.INFO, "[{0}] catalinaHome= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), catalinaHome});
version = getTomcatVersionString(catalinaHome);
} catch (IllegalStateException | UnsupportedClassVersionError ex) {
LOGGER.log(Level.INFO, null, ex);
LOGGER.log(Level.INFO, "[{0}] Calling getTomcatVersionFallback", String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()));
return getTomcatVersionFallback(catalinaHome);
}
return getTomcatVersion(version, TomcatVersion.TOMCAT_80);
}

private static TomcatVersion getTomcatVersionFallback(File catalinaHome) throws IllegalStateException {
LOGGER.log(Level.INFO, "[{0}] catalinaHome= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), catalinaHome});
File lib = new File(catalinaHome, "common" + File.separator + "lib"); // NOI18N
LOGGER.log(Level.INFO, "[{0}] lib= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), lib});
if (lib.isDirectory()) {
// 5 or 5.5
LOGGER.log(Level.INFO, "[{0}] lib.isDirectory()", String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()));
File tasks = new File(catalinaHome, "bin" + File.separator + "catalina-tasks.xml"); // NOI18N
if (tasks.isFile()) {
// 5.5
Expand All @@ -277,7 +294,9 @@ private static TomcatVersion getTomcatVersionFallback(File catalinaHome) throws
return TomcatVersion.TOMCAT_50;
} else {
// 6 or 7 or 8
LOGGER.log(Level.INFO, "[{0}] at least Tomcat 6", String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()));
File bootstrapJar = new File(catalinaHome, "bin" + File.separator + "bootstrap.jar"); // NOI18N
LOGGER.log(Level.INFO, "[{0}] bootstrapJar= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), bootstrapJar});
if (!bootstrapJar.exists()) {
return null;
}
Expand All @@ -287,8 +306,10 @@ private static TomcatVersion getTomcatVersionFallback(File catalinaHome) throws
if (manifest != null) {
specificationVersion = manifest.getMainAttributes()
.getValue("Specification-Version"); // NOI18N
LOGGER.log(Level.INFO, "[{0}] manifest= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), manifest});
}
if (specificationVersion != null) { // NOI18N
LOGGER.log(Level.INFO, "[{0}] specificationVersion= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), specificationVersion});
specificationVersion = specificationVersion.trim();
return getTomcatVersion(specificationVersion, TomcatVersion.TOMCAT_55);
}
Expand All @@ -300,6 +321,8 @@ private static TomcatVersion getTomcatVersionFallback(File catalinaHome) throws
}

private static TomcatVersion getTomcatVersion(String version, TomcatVersion defaultVersion) throws IllegalStateException {
LOGGER.log(Level.INFO, "[{0}] version= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), version});
LOGGER.log(Level.INFO, "[{0}] defaultVersion= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), defaultVersion});
if (version.startsWith("5.0.")) { // NOI18N
return TomcatVersion.TOMCAT_50;
} else if (version.startsWith("5.5.")) { // NOI18N
Expand All @@ -323,6 +346,7 @@ private static TomcatVersion getTomcatVersion(String version, TomcatVersion defa
if (dotIndex > 0) {
try {
int major = Integer.parseInt(version.substring(0, dotIndex));
LOGGER.log(Level.INFO, "[{0}] major= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), major});
// forward compatibility - handle any newer tomcat as Tomcat 9
if (major > 9) {
return TomcatVersion.TOMCAT_90;
Expand All @@ -335,6 +359,7 @@ private static TomcatVersion getTomcatVersion(String version, TomcatVersion defa
}

private static TomcatVersion getTomcatVersion(String uri) throws IllegalStateException {
LOGGER.log(Level.INFO, "[{0}] uri= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), uri});
if (uri.startsWith(TOMCAT_URI_PREFIX_110)) {
return TomcatVersion.TOMCAT_110;
} else if (uri.startsWith(TOMCAT_URI_PREFIX_101)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ public class AddInstanceIterator implements WizardDescriptor.InstantiatingIterat
private WizardDescriptor wizard;
private InstallPanel panel;

private static final Logger LOGGER = Logger.getLogger(AddInstanceIterator.class.getName()); // NOI18N

public AddInstanceIterator() {
super();
}
Expand Down Expand Up @@ -125,9 +127,10 @@ public Set instantiate() throws java.io.IOException {
TomcatManager manager = null;
try {
manager = (TomcatManager) TomcatFactory.getInstance().getDeploymentManager(url, username, password);
LOGGER.log(Level.INFO, "[{0}] manager= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), manager});
} catch (DeploymentManagerCreationException e) {
// this should never happen
Logger.getLogger(AddInstanceIterator.class.getName()).log(Level.SEVERE, null, e);
LOGGER.log(Level.SEVERE, null, e);
return result;
}
manager.ensureCatalinaBaseReady();
Expand All @@ -137,7 +140,7 @@ public Set instantiate() throws java.io.IOException {
}
} catch (IOException e) {
// TODO: remove this catch as soon as the ensureCatalinaBaseReady method is refactored
Logger.getLogger(AddInstanceIterator.class.getName()).log(Level.WARNING, null, e);
LOGGER.log(Level.WARNING, null, e);
}
return result;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,7 @@ public String getUrl() {
if (jCheckBoxShared.isEnabled() && jCheckBoxShared.isSelected()) {
url += ":base=" + jTextFieldBaseDir.getText(); // NOI18N
}
Logger.getLogger(InstallPanelVisual.class.getName()).log(Level.INFO, "[{0}] url= {1}", new Object[]{String.valueOf(Thread.currentThread().getStackTrace()[1].getLineNumber()), url});
Logger.getLogger(InstallPanelVisual.class.getName()).log(Level.FINE, "TomcatInstall.getUrl: {0}", url); // NOI18N
return url;
}
Expand Down

0 comments on commit 6ec30d0

Please sign in to comment.