package jdave.unfinalizer.internal;
import java.util.List;
import java.util.Properties;
import com.sun.tools.attach.VirtualMachineDescriptor;
public class Filter {
public VirtualMachineDescriptor getCurrentJvm(final JVMHelper jvmHelper) {
final List<VirtualMachineDescriptor> jvms = jvmHelper.virtualMachines();
for (final VirtualMachineDescriptor virtualMachineDescriptor : jvms) {
if (jvmHelper.getCurrentRuntimeName().startsWith(virtualMachineDescriptor.id())) {
return virtualMachineDescriptor;
}
}
throw new RuntimeException("could not find current virtual machine.");
}
public String getUnfinalizerJarPath(final Properties properties) {
final String classPath = properties.getProperty("java.class.path");
final String pathSeparator = properties.getProperty("path.separator");
final String[] classPathItems = classPath.split(pathSeparator);
for (final String classPathItem : classPathItems) {
if (classPathItem.matches("(.*)jdave-unfinalizer(.*).jar")) {
return classPathItem;
}
}
throw new RuntimeException("cannot find jdave unfinalizer in class path");
}
}