1 package org.simantics.graph.refactoring;
\r
3 import gnu.trove.map.hash.THashMap;
\r
6 import java.io.IOException;
\r
7 import java.util.ArrayList;
\r
8 import java.util.Collections;
\r
10 import org.simantics.databoard.Files;
\r
11 import org.simantics.graph.query.TransferableGraphConversion;
\r
12 import org.simantics.graph.representation.old.OldTransferableGraph1;
\r
13 import org.simantics.graph.store.IdentityStore;
\r
14 import org.simantics.graph.store.IdentityStore.ConsistsOf;
\r
16 public class PrintReferencesTool {
\r
18 public static void main(String[] args) throws Exception {
\r
19 print(new File(args[0]));
\r
22 public static void print(File input) throws IOException {
\r
23 OldTransferableGraph1 tg = (OldTransferableGraph1)
\r
24 Files.readFile(input, OldTransferableGraph1.BINDING);
\r
25 GraphRefactoringUtils.fixIncorrectRoot(tg.identities);
\r
26 IdentityStore idStore = TransferableGraphConversion.extractIdentities(tg);
\r
27 printExternals(idStore, idStore.getRoot(""), 0);
\r
30 private static void printExternals(IdentityStore idStore, int cur, int indentation) {
\r
31 THashMap<String, ConsistsOf> map = idStore.getChildMap(cur);
\r
34 ArrayList<String> names = new ArrayList<String>(map.keySet());
\r
35 Collections.sort(names);
\r
36 for(String name : names) {
\r
37 ConsistsOf co = map.get(name);
\r
38 if(!idStore.isNewResource(co.child)) {
\r
39 for(int i=0;i<indentation;++i)
\r
40 System.out.print(" ");
\r
41 System.out.println(name);
\r
42 printExternals(idStore, co.child, indentation+1);
\r