return JavaId.parseClassInitQName(_qname.substring(0, _qname.lastIndexOf('>')+1));
/** * Callback method for instrumented class constructors. * @param _qname the qualified name of the method or constructor instrumented, thus, performing the callback * @param _resource_url the resource (JAR) from which the class was loaded (can be null) * @param _loader the class loader loading the class * @param _archive_digest the SHA1 digest of the original JAR archive (optional, must be added to the class during static instrumentation) * @param _app_groupid the Maven group Id of the application context (optional, can be added to the class during static instrumentation) * @param _app_artifactid the Maven artifact Id of the application context (optional, see above) * @param _app_version the Maven version of the application context (optional, see above) */ public static boolean callbackClinit(String _qname, ClassLoader _class_loader, URL _url, String _archive_digest, String _app_groupid, String _app_artifactid, String _app_version, Map<String,Serializable> _params) { boolean trace_collected = false; if(!ExecutionMonitor.isPaused()) { TraceCollector.getInstance().addTrace(JavaId.parseClassInitQName(_qname), _class_loader, _url, _archive_digest, _app_groupid, _app_artifactid, _app_version, _params); trace_collected = true; } return trace_collected; }
public ConstructId deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { // To be returned ConstructId cid = null; final JsonObject c = (JsonObject)json; final String t = c.getAsJsonPrimitive("type").getAsString(); final String qn = c.getAsJsonPrimitive("qname").getAsString(); if(JavaId.typeToString(JavaId.Type.PACKAGE).equals(t)) cid = new JavaPackageId(qn); else if(JavaId.typeToString(JavaId.Type.CLASS).equals(t)) cid = JavaId.parseClassQName(qn); else if(JavaId.typeToString(JavaId.Type.CLASSINIT).equals(t)) cid = JavaId.parseClassInitQName(qn); else if(JavaId.typeToString(JavaId.Type.METHOD).equals(t)) cid = JavaId.parseMethodQName(qn); else if(JavaId.typeToString(JavaId.Type.CONSTRUCTOR).equals(t)) cid = JavaId.parseConstructorQName(qn); //TODO: Add annotations return cid; } }
/** * Transforms an object with a given shared type (defined in vulas-share) into * an object having the corresponding core type (defined in vulas-core). * @param _cid * @return */ public static com.sap.psr.vulas.ConstructId toCoreType(com.sap.psr.vulas.shared.json.model.ConstructId _cid) { switch(_cid.getType()) { case METH: return JavaId.parseMethodQName(_cid.getQname()); case CONS: return JavaId.parseConstructorQName(_cid.getQname()); case PACK: return new JavaPackageId(_cid.getQname()); case INIT: return JavaId.parseClassInitQName(_cid.getQname()); case ENUM: return JavaId.parseEnumQName(_cid.getQname()); case CLAS: return JavaId.parseClassQName(_cid.getQname()); default: throw new IllegalArgumentException("Unknown type [" + _cid.getType() + "]"); } }