// Path: h2hell-core/src/main/java/com/highway2urhell/domain/EntryPathData.java
// public class EntryPathData {
//     private String uri;
//     private String methodName;
//     private String className;
//     private String classNameNormalized;
//     private String signatureName;
//     private TypePath typePath = TypePath.UNKNOWN;
//     private Boolean audit = true;
//     private String httpMethod = "";
//     private List<EntryPathParam> listEntryPathData = new ArrayList<EntryPathParam>();
//     private Integer lineNumber;
// 
//     public Integer getLineNumber() {
// 		return lineNumber;
// 	}
// 
// 	public void setLineNumber(Integer lineNumber) {
// 		this.lineNumber = lineNumber;
// 	}
// 
// 	public Boolean getAudit() {
//         return audit;
//     }
// 
//     public void setAudit(Boolean audit) {
//         this.audit = audit;
//     }
// 
//     public String getUri() {
//         return uri;
//     }
// 
//     public void setUri(String uri) {
//         this.uri = uri;
//     }
// 
//     public String getMethodName() {
//         return methodName;
//     }
// 
//     public void setMethodName(String methodName) {
//         this.methodName = methodName;
//     }
// 
//     public String getClassName() {
//         return className;
//     }
// 
//     public void setClassName(String className) {
//         this.className = className;
//     }
// 
//     public String getClassNameNormalized() {
//         return classNameNormalized;
//     }
// 
//     public void setClassNameNormalized(String classNameNormalized) {
//         this.classNameNormalized = classNameNormalized;
//     }
// 
//     public String getSignatureName() {
//         return signatureName;
//     }
// 
//     public void setSignatureName(String signatureName) {
//         this.signatureName = signatureName;
//     }
// 
//     public TypePath getTypePath() {
//         return typePath;
//     }
// 
//     public void setTypePath(TypePath typePath) {
//         this.typePath = typePath;
//     }
// 
//     public String getHttpMethod() {
//         return httpMethod;
//     }
// 
//     public void setHttpMethod(String httpMethod) {
//         this.httpMethod = httpMethod;
//     }
// 
//     public List<EntryPathParam> getListEntryPathData() {
//         return listEntryPathData;
//     }
// 
//     public void setListEntryPathData(List<EntryPathParam> listEntryPathData) {
//         this.listEntryPathData = listEntryPathData;
//     }
// 
//     @Override
//     public String toString() {
//         return "EntryPathData [uri=" + uri + ", methodName=" + methodName
//                 + ", className=" + className + ", classNameNormalized="
//                 + classNameNormalized + ", signatureName=" + signatureName
//                 + ", typePath=" + typePath + ", httpMethod=" + httpMethod
//                 + "]";
//     }
// }
// 
// Path: h2hell-core/src/main/java/com/highway2urhell/service/AbstractLeechService.java
// public abstract class AbstractLeechService implements LeechService {
// 
//     private FrameworkInformations frameworkInformations = new FrameworkInformations();
//     private boolean triggeredAtStartup = false;
// 
//     public AbstractLeechService(String frameworkName) {
//         frameworkInformations.setFrameworkName(frameworkName);
//     }
// 
//     public AbstractLeechService(String frameworkName, String version) {
//         this(frameworkName);
//         frameworkInformations.setVersion(version);
//     }
// 
//     @Override
//     public boolean isTriggeredAtStartup() {
//         return triggeredAtStartup;
//     }
// 
//     protected void setTriggerAtStartup(boolean triggeredAtStartup) {
//         this.triggeredAtStartup = triggeredAtStartup;
//     }
// 
//     public void receiveData(List<EntryPathData> incoming) {
//         clearPreviousData();
//         System.out.println("receive incoming data obj "+ incoming+ "for framework "+frameworkInformations.getFrameworkName());
//         gatherData(incoming);
//         System.out.println("data gathering complete. Found entries "+frameworkInformations.getListEntryPath().size());
//     }
// 
//     private void clearPreviousData() {
//         frameworkInformations.getListEntryPath().clear();
//     }
// 
// 
//     protected void gatherData(List<EntryPathData> incoming) {
//         List<EntryPathData> listEntryPath = incoming;
//         for (EntryPathData entry : listEntryPath) {
//             if (entry.getMethodName() != null && !entry.getMethodName().contains("$")) {
//                 addEntryPath(entry);
//             }
//         }
//     }
// 
//     @Override
//     public FrameworkInformations getFrameworkInformations() {
//         return frameworkInformations;
//     }
// 
//     protected void addEntryPath(EntryPathData entryPath) {
//         frameworkInformations.getListEntryPath().add(entryPath);
//     }
// 
//     public String getInternalSignature(String className, String methodName) {
//         String res = "";
//         try {
//             Class<?> c = Class.forName(className);
//             for (Method m : c.getDeclaredMethods()) {
//                 if (m.getName().equals(methodName)) {
//                     res = Type.getMethodDescriptor(m);
//                 }
//             }
// 
//         } catch (ClassNotFoundException e) {
//             System.err.println("Can't construct classname " + className+" : "+ e);
//         }
// 
//         return res;
//     }
// 
//     public String getInternalSignature(Method m) {
//         return Type.getMethodDescriptor(m);
//     }
// }


import com.highway2urhell.domain.EntryPathData;
import com.highway2urhell.service.AbstractLeechService;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.List;
package com.highway2urhell.service.impl;




public class RmiService extends AbstractLeechService {

    public static final String FRAMEWORK_NAME = "RMI";

    public RmiService() {
        super(FRAMEWORK_NAME);
    }

    @Override
// Path: h2hell-core/src/main/java/com/highway2urhell/domain/EntryPathData.java
// public class EntryPathData {
//     private String uri;
//     private String methodName;
//     private String className;
//     private String classNameNormalized;
//     private String signatureName;
//     private TypePath typePath = TypePath.UNKNOWN;
//     private Boolean audit = true;
//     private String httpMethod = "";
//     private List<EntryPathParam> listEntryPathData = new ArrayList<EntryPathParam>();
//     private Integer lineNumber;
// 
//     public Integer getLineNumber() {
// 		return lineNumber;
// 	}
// 
// 	public void setLineNumber(Integer lineNumber) {
// 		this.lineNumber = lineNumber;
// 	}
// 
// 	public Boolean getAudit() {
//         return audit;
//     }
// 
//     public void setAudit(Boolean audit) {
//         this.audit = audit;
//     }
// 
//     public String getUri() {
//         return uri;
//     }
// 
//     public void setUri(String uri) {
//         this.uri = uri;
//     }
// 
//     public String getMethodName() {
//         return methodName;
//     }
// 
//     public void setMethodName(String methodName) {
//         this.methodName = methodName;
//     }
// 
//     public String getClassName() {
//         return className;
//     }
// 
//     public void setClassName(String className) {
//         this.className = className;
//     }
// 
//     public String getClassNameNormalized() {
//         return classNameNormalized;
//     }
// 
//     public void setClassNameNormalized(String classNameNormalized) {
//         this.classNameNormalized = classNameNormalized;
//     }
// 
//     public String getSignatureName() {
//         return signatureName;
//     }
// 
//     public void setSignatureName(String signatureName) {
//         this.signatureName = signatureName;
//     }
// 
//     public TypePath getTypePath() {
//         return typePath;
//     }
// 
//     public void setTypePath(TypePath typePath) {
//         this.typePath = typePath;
//     }
// 
//     public String getHttpMethod() {
//         return httpMethod;
//     }
// 
//     public void setHttpMethod(String httpMethod) {
//         this.httpMethod = httpMethod;
//     }
// 
//     public List<EntryPathParam> getListEntryPathData() {
//         return listEntryPathData;
//     }
// 
//     public void setListEntryPathData(List<EntryPathParam> listEntryPathData) {
//         this.listEntryPathData = listEntryPathData;
//     }
// 
//     @Override
//     public String toString() {
//         return "EntryPathData [uri=" + uri + ", methodName=" + methodName
//                 + ", className=" + className + ", classNameNormalized="
//                 + classNameNormalized + ", signatureName=" + signatureName
//                 + ", typePath=" + typePath + ", httpMethod=" + httpMethod
//                 + "]";
//     }
// }
// 
// Path: h2hell-core/src/main/java/com/highway2urhell/service/AbstractLeechService.java
// public abstract class AbstractLeechService implements LeechService {
// 
//     private FrameworkInformations frameworkInformations = new FrameworkInformations();
//     private boolean triggeredAtStartup = false;
// 
//     public AbstractLeechService(String frameworkName) {
//         frameworkInformations.setFrameworkName(frameworkName);
//     }
// 
//     public AbstractLeechService(String frameworkName, String version) {
//         this(frameworkName);
//         frameworkInformations.setVersion(version);
//     }
// 
//     @Override
//     public boolean isTriggeredAtStartup() {
//         return triggeredAtStartup;
//     }
// 
//     protected void setTriggerAtStartup(boolean triggeredAtStartup) {
//         this.triggeredAtStartup = triggeredAtStartup;
//     }
// 
//     public void receiveData(List<EntryPathData> incoming) {
//         clearPreviousData();
//         System.out.println("receive incoming data obj "+ incoming+ "for framework "+frameworkInformations.getFrameworkName());
//         gatherData(incoming);
//         System.out.println("data gathering complete. Found entries "+frameworkInformations.getListEntryPath().size());
//     }
// 
//     private void clearPreviousData() {
//         frameworkInformations.getListEntryPath().clear();
//     }
// 
// 
//     protected void gatherData(List<EntryPathData> incoming) {
//         List<EntryPathData> listEntryPath = incoming;
//         for (EntryPathData entry : listEntryPath) {
//             if (entry.getMethodName() != null && !entry.getMethodName().contains("$")) {
//                 addEntryPath(entry);
//             }
//         }
//     }
// 
//     @Override
//     public FrameworkInformations getFrameworkInformations() {
//         return frameworkInformations;
//     }
// 
//     protected void addEntryPath(EntryPathData entryPath) {
//         frameworkInformations.getListEntryPath().add(entryPath);
//     }
// 
//     public String getInternalSignature(String className, String methodName) {
//         String res = "";
//         try {
//             Class<?> c = Class.forName(className);
//             for (Method m : c.getDeclaredMethods()) {
//                 if (m.getName().equals(methodName)) {
//                     res = Type.getMethodDescriptor(m);
//                 }
//             }
// 
//         } catch (ClassNotFoundException e) {
//             System.err.println("Can't construct classname " + className+" : "+ e);
//         }
// 
//         return res;
//     }
// 
//     public String getInternalSignature(Method m) {
//         return Type.getMethodDescriptor(m);
//     }
// }


// Path: h2hell-core/src/main/java/com/highway2urhell/service/impl/RmiService.java
import com.highway2urhell.domain.EntryPathData;
import com.highway2urhell.service.AbstractLeechService;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.List;

package com.highway2urhell.service.impl;




public class RmiService extends AbstractLeechService {

    public static final String FRAMEWORK_NAME = "RMI";

    public RmiService() {
        super(FRAMEWORK_NAME);
    }

    @Override
    protected void gatherData(List<EntryPathData> incoming) {