*******************************************************************************/
package org.simantics.db.layer0.migration;
-import gnu.trove.set.hash.TIntHashSet;
-
import java.util.ArrayList;
import org.eclipse.core.runtime.IProgressMonitor;
import org.simantics.graph.refactoring.GraphRefactoringUtils;
import org.simantics.graph.refactoring.MappingSpecification;
import org.simantics.graph.refactoring.MappingSpecification.MappingRule;
+import org.simantics.graph.representation.Identity;
+import org.simantics.graph.representation.Internal;
import org.simantics.graph.representation.TransferableGraph1;
import org.simantics.graph.store.IdentityStore;
import org.simantics.layer0.Layer0;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import gnu.trove.set.hash.TIntHashSet;
public class NamespaceMigrationStep implements MigrationStep {
-
+ private static final Logger LOGGER = LoggerFactory.getLogger(NamespaceMigrationStep.class);
+
final ArrayList<MappingRule> rules;
public NamespaceMigrationStep(ReadGraph graph, Resource step) throws DatabaseException {
if(fromURI != null && toURI != null)
rules.add(new MappingRule(fromURI, toURI));
else
- System.err.println("Namespace migration uri formation error: base " + base + " from " + from + " to " + to);
+ LOGGER.error("Namespace migration uri formation error: base " + base + " from " + from + " to " + to);
}
}
}
try {
MappingSpecification mappingSpec = new MappingSpecification(rules);
boolean fixed = GraphRefactoringUtils.fixIncorrectRoot(tg.identities);
- System.err.println("fixed=" + fixed);
+ LOGGER.info("fixed=" + fixed);
IdentityStore idStore = TransferableGraphConversion.extractIdentities(tg);
- idStore.printChildMap();
+ // Mark internal identities new
+ for(Identity id : tg.identities)
+ if(id.definition instanceof Internal)
+ idStore.markNew(id.resource);
+// idStore.printChildMap();
// System.err.println("ids: " + idStore);
// System.err.println("rc: " + tg.resourceCount);
// System.err.println("idStore: " + idStore.toArray().length);
if(fixed)
GraphRefactoringUtils.unfixIncorrectRoot(tg.identities);
- System.err.println("rc2: " + tg.resourceCount);
+ LOGGER.info("rc2: " + tg.resourceCount);
// System.err.println("idStore2: " + idStore.toArray().length);
} catch (GraphRefactoringException e) {
import org.simantics.graph.representation.old.OldValue1;
import org.simantics.graph.store.GraphStore;
import org.simantics.graph.store.IdentityStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-import gnu.trove.list.array.TIntArrayList;
-import gnu.trove.map.hash.TIntIntHashMap;
import gnu.trove.set.hash.TIntHashSet;
public class GraphRefactoringUtils {
-
+ private static final Logger LOGGER = LoggerFactory.getLogger(GraphRefactoringUtils.class);
/**
* Moves an external resource. Returns true if did something.
* @param parentsAffected
// Find parent id
int toParentId = ids.createPathToId(to.parent);
if(ids.hasChild(toParentId, to.name)) {
- System.err.println("refactor statements from " + from + " to " + to);
+ LOGGER.info("refactor statements from " + from + " to " + to);
//throw new GraphRefactoringException("External reference to " + to + " already exists.");
int toId = ids.pathToId(to);
int[] statements = tg.statements;
if(!(rule.to instanceof PathChild))
throw new GraphRefactoringException("Invalid target URI " + rule.to);
if(!moveExternal(tg, ids, rule.from, (PathChild)rule.to, parentsAffected))
- System.err.println("Didn't find " + rule.from);
+ LOGGER.warn("Didn't find " + rule.from);
}
}