Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

Commit

Permalink
#86
Browse files Browse the repository at this point in the history
  • Loading branch information
4ra1n committed Feb 18, 2023
1 parent 4cd9001 commit d22b9c2
Show file tree
Hide file tree
Showing 11 changed files with 61 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public void mousePressed(MouseEvent evt) {
}
}

@SuppressWarnings("all")
public void mouseClicked(MouseEvent evt) {
JList<?> list = (JList<?>) evt.getSource();
if (evt.getClickCount() == 1) {
Expand All @@ -48,7 +49,7 @@ public void mouseClicked(MouseEvent evt) {
int index = l.locationToIndex(evt.getPoint());
if (index > -1) {
MethodObj res = (MethodObj) m.getElementAt(index);
l.setToolTipText(res.getMethod().getDescStd());
l.setToolTipText(res.getMethod().getDescStd(res));

ToolTipManager.sharedInstance().mouseMoved(
new MouseEvent(l, 0, 0, 0,
Expand Down Expand Up @@ -265,7 +266,7 @@ public void mouseClicked(MouseEvent evt) {

JarAnalyzerForm.curRes = new ResObj(res.getMethod(), res.getClassName());
form.currentLabel.setText(JarAnalyzerForm.curRes.toString());
form.currentLabel.setToolTipText(res.getMethod().getDescStd());
form.currentLabel.setToolTipText(res.getMethod().getDescStd(JarAnalyzerForm.curRes));

form.sourceList.setModel(sourceDataList);
form.callList.setModel(callDataList);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public void mouseClicked(MouseEvent evt) {
int index = l.locationToIndex(evt.getPoint());
if (index > -1) {
ResObj res = (ResObj) m.getElementAt(index);
l.setToolTipText(res.getMethod().getDescStd());
l.setToolTipText(res.getMethod().getDescStd(res));

ToolTipManager.sharedInstance().mouseMoved(
new MouseEvent(l, 0, 0, 0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public void mouseClicked(MouseEvent evt) {
int index = l.locationToIndex(evt.getPoint());
if (index > -1) {
ClassObj res = (ClassObj) m.getElementAt(index);
l.setToolTipText(res.getJarFileName());
for (SpringController controller : JarAnalyzerForm.controllers) {
if (controller.getClassName().equals(res.getHandle())) {
DefaultListModel<MappingObj> mappingDataList = new DefaultListModel<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public void mouseClicked(MouseEvent evt) {
int index = l.locationToIndex(evt.getPoint());
if (index > -1) {
ResObj res = (ResObj) m.getElementAt(index);
l.setToolTipText(res.getMethod().getDescStd());
l.setToolTipText(res.getMethod().getDescStd(res));

ToolTipManager.sharedInstance().mouseMoved(
new MouseEvent(l, 0, 0, 0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public void mousePressed(MouseEvent evt) {
}
}

@SuppressWarnings("all")
public void mouseClicked(MouseEvent evt) {
JList<?> list = (JList<?>) evt.getSource();
if (evt.getClickCount() == 1) {
Expand All @@ -49,7 +50,7 @@ public void mouseClicked(MouseEvent evt) {
int index = l.locationToIndex(evt.getPoint());
if (index > -1) {
MappingObj res = (MappingObj) m.getElementAt(index);
l.setToolTipText(res.getResObj().getMethod().getDescStd());
l.setToolTipText(res.getResObj().getMethod().getDescStd(res));

ToolTipManager.sharedInstance().mouseMoved(
new MouseEvent(l, 0, 0, 0,
Expand Down Expand Up @@ -265,7 +266,7 @@ public void mouseClicked(MouseEvent evt) {

JarAnalyzerForm.curRes = res.getResObj();
form.currentLabel.setText(res.toString());
form.currentLabel.setToolTipText(res.getResObj().getMethod().getDescStd());
form.currentLabel.setToolTipText(res.getResObj().getMethod().getDescStd(JarAnalyzerForm.curRes));

form.sourceList.setModel(sourceDataList);
form.callList.setModel(callDataList);
Expand Down
19 changes: 17 additions & 2 deletions src/main/java/com/chaitin/jar/analyzer/core/MethodReference.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package com.chaitin.jar.analyzer.core;

import com.chaitin.jar.analyzer.model.ClassObj;
import com.chaitin.jar.analyzer.model.MappingObj;
import com.chaitin.jar.analyzer.model.MethodObj;
import com.chaitin.jar.analyzer.model.ResObj;
import org.objectweb.asm.Type;

import java.util.Objects;
Expand Down Expand Up @@ -69,7 +73,7 @@ public String getDesc() {
return desc;
}

public String getDescStd() {
public String getDescStd(Object res) {
Type methodType = Type.getMethodType(desc);
StringBuilder sb = new StringBuilder();

Expand All @@ -87,7 +91,18 @@ public String getDescStd() {
.append(argTypes[ix].getClassName());
sb.append("\n");
}
sb.deleteCharAt(sb.length() - 1);
if(res instanceof ResObj){
sb.append(((ResObj)res).getJarFileName());
}
if(res instanceof MethodObj){
sb.append(((MethodObj)res).getJarFileName());
}
if (res instanceof ClassObj){
sb.append(((ClassObj)res).getJarFileName());
}
if (res instanceof MappingObj){
sb.append(((MappingObj)res).getJarFileName());
}
return sb.toString();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -505,9 +505,11 @@ public String getDescription() {
public void coreClass(MouseEvent evt, JList<?> list) {
int index = list.locationToIndex(evt.getPoint());
ClassObj res = (ClassObj) list.getModel().getElementAt(index);
list.setToolTipText(res.getJarFileName());
coreClassInternal(res);
}

@SuppressWarnings("all")
private void coreClassInternal(ClassObj res) {
String className = res.getClassName();
String tempPath = className.replace("/", File.separator);
Expand Down Expand Up @@ -894,7 +896,7 @@ public void core(MouseEvent evt, JList<?> list) {

curRes = res;
currentLabel.setText(res.toString());
currentLabel.setToolTipText(res.getMethod().getDescStd());
currentLabel.setToolTipText(res.getMethod().getDescStd(curRes));

sourceList.setModel(sourceDataList);
callList.setModel(callDataList);
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/chaitin/jar/analyzer/model/ClassObj.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public String getClassName() {
return this.className;
}

private String getJarFileName() {
public String getJarFileName() {
for (ClassFile cf : JarAnalyzerForm.classFileList) {
String temp = this.className.replace(".", "/");
temp += ".class";
Expand All @@ -42,6 +42,6 @@ private String getJarFileName() {

@Override
public String toString() {
return this.className + " (" + getJarFileName() + ")";
return this.className;
}
}
20 changes: 20 additions & 0 deletions src/main/java/com/chaitin/jar/analyzer/model/MappingObj.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.chaitin.jar.analyzer.model;

import com.chaitin.jar.analyzer.core.ClassFile;
import com.chaitin.jar.analyzer.form.JarAnalyzerForm;
import com.chaitin.jar.analyzer.spring.SpringMapping;

public class MappingObj {
Expand All @@ -22,6 +24,24 @@ public void setResObj(ResObj resObj) {
this.resObj = resObj;
}

public String getJarFileName() {
for (ClassFile cf : JarAnalyzerForm.classFileList) {
String temp = this.resObj.getClassName().replace(".", "/");
temp += ".class";
String target = cf.getClassName();
if (target.contains("BOOT-INF")) {
target = target.substring(17);
}
if (target.contains("WEB-INF")) {
target = target.substring(16);
}
if (target.equals(temp)) {
return cf.jarName;
}
}
return "unknown";
}

@Override
public String toString() {
String outputFormat = " method: %s \t path: %s";
Expand Down
7 changes: 3 additions & 4 deletions src/main/java/com/chaitin/jar/analyzer/model/MethodObj.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ private String getNumFromDesc() {
return sb.toString();
}

private String getJarFileName() {
public String getJarFileName() {
for (ClassFile cf : JarAnalyzerForm.classFileList) {
String temp = this.className.replace(".", "/");
temp += ".class";
Expand All @@ -58,10 +58,9 @@ private String getJarFileName() {

@Override
public String toString() {
String outputFormat = "%s %s (%s)";
String outputFormat = "%s %s";
return String.format(outputFormat,
method.getName(),
getNumFromDesc(),
getJarFileName());
getNumFromDesc());
}
}
15 changes: 7 additions & 8 deletions src/main/java/com/chaitin/jar/analyzer/model/ResObj.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,16 @@ private int getNumFromDesc() {
return methodType.getArgumentTypes().length;
}

private String getJarFileName() {
public String getJarFileName() {
for (ClassFile cf : JarAnalyzerForm.classFileList) {
String temp = this.className.replace(".", "/");
temp += ".class";
String target = cf.getClassName();
if(target.contains("BOOT-INF")){
target =target.substring(17);
if (target.contains("BOOT-INF")) {
target = target.substring(17);
}
if(target.contains("WEB-INF")){
target =target.substring(16);
if (target.contains("WEB-INF")) {
target = target.substring(16);
}
if (target.equals(temp)) {
return cf.jarName;
Expand All @@ -47,11 +47,10 @@ private String getJarFileName() {

@Override
public String toString() {
String outputFormat = "%s %s (params:%d) (%s)";
String outputFormat = "%s %s (params:%d)";
return String.format(outputFormat,
className,
method.getName(),
getNumFromDesc(),
getJarFileName());
getNumFromDesc());
}
}

0 comments on commit d22b9c2

Please sign in to comment.