| 1 10 package org.mmbase.applications.xmlimporter; 11 12 import java.util.*; 13 14 26 public class SpecificObjectFinder implements SimilarObjectFinder { 27 28 private static long uniqueId = System.currentTimeMillis(); 30 31 private TmpObject tmpObj1; 33 34 private TmpObject tmpObj2; 36 37 44 public SpecificObjectFinder(TmpObject tmpObj1, TmpObject tmpObj2) { 45 this.tmpObj1 = tmpObj1; 46 this.tmpObj2 = tmpObj2; 47 } 48 49 55 public void init(HashMap params) throws TransactionHandlerException {} 56 57 66 public List findSimilarObject(Transaction transaction, TmpObject tmpObj) throws TransactionHandlerException { 67 List results = new ArrayList(); 68 if (tmpObj == tmpObj1) { 69 results.add(tmpObj2); 70 } 71 return results; 72 } 73 74 83 public static void mergePersistentObjects( 84 int mmbaseId1, int mmbaseId2, ObjectMerger merger) 85 throws TransactionHandlerException { 86 87 UserTransactionInfo uti = new UserTransactionInfo(); 89 uti.user = new User("SpecificObjectFinder.java"); 90 91 Transaction transaction 93 = Transaction.createTransaction(uti, 94 "SpecificObjectFinder" + (uniqueId++), true, 600); 95 96 TmpObject obj1 = transaction.accessObject("obj1", mmbaseId1); 98 TmpObject obj2 = transaction.accessObject("obj2", mmbaseId2); 99 100 transaction.mergeObjects( 102 obj1.getNode().getName(), 103 new SpecificObjectFinder(obj1, obj2), 104 merger); 105 106 transaction.commit(); 108 } 109 110 } 111 | Popular Tags |