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; }
@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); }