package org.simantics.graph.refactoring; import gnu.trove.map.hash.THashMap; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import org.simantics.databoard.Files; import org.simantics.graph.query.TransferableGraphConversion; import org.simantics.graph.representation.old.OldTransferableGraph1; import org.simantics.graph.store.IdentityStore; import org.simantics.graph.store.IdentityStore.ConsistsOf; public class PrintReferencesTool { public static void main(String[] args) throws Exception { print(new File(args[0])); } public static void print(File input) throws IOException { OldTransferableGraph1 tg = (OldTransferableGraph1) Files.readFile(input, OldTransferableGraph1.BINDING); GraphRefactoringUtils.fixIncorrectRoot(tg.identities); IdentityStore idStore = TransferableGraphConversion.extractIdentities(tg); printExternals(idStore, idStore.getRoot(""), 0); } private static void printExternals(IdentityStore idStore, int cur, int indentation) { THashMap map = idStore.getChildMap(cur); if(map == null) return; ArrayList names = new ArrayList(map.keySet()); Collections.sort(names); for(String name : names) { ConsistsOf co = map.get(name); if(!idStore.isNewResource(co.child)) { for(int i=0;i