예제 #1
0
  public ArrayList<String> findThisClass() {
    ArrayList<String> classInfo = new ArrayList<String>();

    JavaParser parser = new JavaParser();
    parser.setContent(this.getContent());
    parser.create();

    if (parser.getFields() != null) {
      for (JavaField field : parser.getFields()) {
        if (field.isStatics()) continue;

        String upperCasefieldName = CodiStringUtil.firstUpperCase(field.getName());
        String getterName = "get" + upperCasefieldName;
        String setterName = "set" + upperCasefieldName;

        if (parser.getMethods().contains(new JavaMethod(getterName)))
          classInfo.add(getterName + "()" + "/" + "this" + "/method/");

        if (parser.getMethods().contains(new JavaMethod(setterName)))
          classInfo.add(setterName + "()" + "/" + "this" + "/method/");

        classInfo.add(field.getName() + "/" + "this" + "/field/");
      }
    }

    // TODO: live code
    /*
    ArrayList<ClassField> classFields = classModeler.getClassFields();
    if(classFields!=null) {
    	for (ClassField field : classFields) {
    		classInfo.add(field.getId() + "/" + "this" + "/field/");
    	}
    }

    ArrayList<ClassMethod> classMethods = classModeler.getClassMethods();
    if(classMethods!=null) {
    	for (ClassMethod classMethod : classMethods) {
    		classInfo.add(classMethod.getMethodName() + "/" + "this" + "/method/");
    	}
    }
     */

    return classInfo;
  }
예제 #2
0
  @Override
  public Object run() throws Exception {

    JavaParser parser = new JavaParser();
    parser.setContent(this.getContent());
    parser.create();

    String packageName = parser.getPackageName();
    String className =
        this.getResourceNode()
            .getName()
            .substring(0, this.getResourceNode().getName().indexOf("."));
    String fullClassName = "";

    if (packageName != null) fullClassName += packageName + ".";

    fullClassName += className;

    ClassLoader prerCl = Thread.currentThread().getContextClassLoader();
    CodiClassLoader cl =
        CodiClassLoader.createClassLoader(
            this.getResourceNode().getProjectId(), session.getEmployee().getGlobalCom(), false);

    Thread.currentThread().setContextClassLoader(cl);

    Object o =
        Thread.currentThread()
            .getContextClassLoader()
            .loadClass(fullClassName)
            .newInstance(); // cl.loadClass(getPackageName() + "." + getClassName()).newInstance();
    if (o instanceof ITool) ((ITool) o).onLoad();

    Thread.currentThread().setContextClassLoader(prerCl);

    return new FormPreview(o);
  }