forked from phoedos/pmd
Initial revision
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@742 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
37
pmd-dcpd/src/net/sourceforge/pmd/dcpd/TSSWrapper.java
Normal file
37
pmd-dcpd/src/net/sourceforge/pmd/dcpd/TSSWrapper.java
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* User: tom
|
||||
* Date: Aug 21, 2002
|
||||
* Time: 4:36:49 PM
|
||||
*/
|
||||
|
||||
import net.jini.core.entry.Entry;
|
||||
import net.sourceforge.pmd.cpd.TokenSets;
|
||||
import net.sourceforge.pmd.cpd.TokenList;
|
||||
import net.sourceforge.pmd.cpd.TokenEntry;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class TSSWrapper implements Entry {
|
||||
|
||||
public TokenList tls[] = null;
|
||||
|
||||
public TSSWrapper() {
|
||||
}
|
||||
|
||||
public TSSWrapper(TokenSets tss) {
|
||||
tls = new TokenList[ tss.size() ];
|
||||
|
||||
int pos = 0;
|
||||
for (Iterator i = tss.iterator();i.hasNext();) {
|
||||
TokenList tl = (TokenList)i.next();
|
||||
tls[pos] = tl;
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return tls.length;
|
||||
}
|
||||
}
|
169
pmd-dcpd/src/net/sourceforge/pmd/dcpd/Test.java
Normal file
169
pmd-dcpd/src/net/sourceforge/pmd/dcpd/Test.java
Normal file
@ -0,0 +1,169 @@
|
||||
import net.jini.space.JavaSpace;
|
||||
import net.jini.core.lease.Lease;
|
||||
import net.jini.core.discovery.LookupLocator;
|
||||
import net.jini.core.lookup.ServiceRegistrar;
|
||||
import net.jini.core.lookup.ServiceMatches;
|
||||
import net.jini.core.lookup.ServiceTemplate;
|
||||
import net.jini.core.entry.Entry;
|
||||
import net.jini.core.entry.UnusableEntryException;
|
||||
import net.sourceforge.pmd.cpd.*;
|
||||
|
||||
import java.rmi.*;
|
||||
import java.io.*;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class Test {
|
||||
|
||||
|
||||
public static class JavaFileOrDirectoryFilter implements FilenameFilter {
|
||||
public boolean accept(File dir, String filename) {
|
||||
return filename.endsWith("java") || (new File(dir.getAbsolutePath() + System.getProperty("file.separator") + filename).isDirectory());
|
||||
}
|
||||
}
|
||||
|
||||
private List files = new ArrayList();
|
||||
private TokenSets tokenSets = new TokenSets();
|
||||
|
||||
public Test() {
|
||||
try {
|
||||
JavaSpace space = getSpace();
|
||||
addRecursively("C:\\j2sdk1.4.0_01\\src\\java\\lang\\ref");
|
||||
Entry wrapper = convertTSS();
|
||||
System.out.println("token count = " + tokenSets.tokenCount());
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
System.out.println("WRITING");
|
||||
space.write(wrapper, null, Lease.FOREVER);
|
||||
long stop = System.currentTimeMillis();
|
||||
System.out.println("that took " + (stop - start) + " milliseconds");
|
||||
|
||||
start = System.currentTimeMillis();
|
||||
System.out.println("TAKING");
|
||||
TSSWrapper result = (TSSWrapper)space.take(new TSSWrapper(), null, Long.MAX_VALUE);
|
||||
stop = System.currentTimeMillis();
|
||||
System.out.println("that took " + (stop - start) + " milliseconds");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private Entry convertTSS() {
|
||||
return new TSSWrapper(tokenSets);
|
||||
}
|
||||
private void add(List files) throws IOException {
|
||||
for (Iterator i = files.iterator(); i.hasNext();) {
|
||||
add(files.size(), (File)i.next());
|
||||
}
|
||||
}
|
||||
|
||||
private void add(int fileCount, File file) throws IOException {
|
||||
Tokenizer t = new JavaTokensTokenizer();
|
||||
TokenList ts = new TokenList(file.getAbsolutePath());
|
||||
FileReader fr = new FileReader(file);
|
||||
t.tokenize(ts, fr);
|
||||
fr.close();
|
||||
tokenSets.add(ts);
|
||||
}
|
||||
|
||||
private void add(File file) throws IOException {
|
||||
add(1, file);
|
||||
}
|
||||
|
||||
private void addRecursively(String dir) throws IOException {
|
||||
addDirectory(dir, true);
|
||||
}
|
||||
|
||||
private void addDirectory(String dir, boolean recurse) throws IOException {
|
||||
File root = new File(dir);
|
||||
List list = new ArrayList();
|
||||
scanDirectory(root, list, recurse);
|
||||
add(list);
|
||||
}
|
||||
|
||||
private void scanDirectory(File dir, List list, boolean recurse) {
|
||||
FilenameFilter filter = new JavaFileOrDirectoryFilter();
|
||||
String[] possibles = dir.list(filter);
|
||||
for (int i=0; i<possibles.length; i++) {
|
||||
File tmp = new File(dir + System.getProperty("file.separator") + possibles[i]);
|
||||
if (tmp.isDirectory()) {
|
||||
if (recurse) {
|
||||
scanDirectory(tmp, list, true);
|
||||
}
|
||||
} else {
|
||||
list.add(new File(dir + System.getProperty("file.separator") + possibles[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void add(String id, String input) throws IOException {
|
||||
Tokenizer t = new JavaTokensTokenizer();
|
||||
TokenList ts = new TokenList(id);
|
||||
t.tokenize(ts, new StringReader(input));
|
||||
tokenSets.add(ts);
|
||||
}
|
||||
|
||||
|
||||
private JavaSpace getSpace() throws Exception {
|
||||
ServiceRegistrar registrar = (new LookupLocator("jini://mordor")).getRegistrar();
|
||||
ServiceMatches sm = registrar.lookup(new ServiceTemplate(null, new Class[] {JavaSpace.class}, new Entry[] {}), 1);
|
||||
return (JavaSpace)sm.items[0].service;
|
||||
/*
|
||||
for (int i=0; i<sm.totalMatches; i++) {
|
||||
if (sm.items[i].service instanceof JavaSpace) {
|
||||
return (JavaSpace)sm.items[i].service;
|
||||
}
|
||||
}
|
||||
*/
|
||||
//throw new RuntimeException("Couldn't find a JavaSpace on mordor!");
|
||||
/*
|
||||
JavaSpace space = null;
|
||||
try {
|
||||
LookupDiscovery lDisc = new LookupDiscovery(groups);
|
||||
ServiceDiscoveryManager sdm = new ServiceDiscoveryManager(lDisc, null);
|
||||
ServiceItem si = null;
|
||||
|
||||
si = sdm.lookup(new ServiceTemplate(null, serviceTypes, null),
|
||||
null,
|
||||
MAX_WAIT);
|
||||
|
||||
if (si != null) {
|
||||
space = (JavaSpace si.service;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return space;
|
||||
*/
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
new Test();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
public Test() {
|
||||
try {
|
||||
Message msg = new Message();
|
||||
msg.content = "Hello World Foo";
|
||||
JavaSpace space = getSpace();
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
for (int i=0; i<10; i++) {
|
||||
space.write(msg, null, Lease.FOREVER);
|
||||
Message result = (Message)space.take(new Message(), null, Long.MAX_VALUE);
|
||||
}
|
||||
long stop = System.currentTimeMillis();
|
||||
System.out.println("that took " + (stop - start) + " milliseconds");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
*/
|
Reference in New Issue
Block a user