Ticket #2484: serverBooksCopyPaste.patch

File serverBooksCopyPaste.patch, 2.4 KB (added by mira, 15 years ago)
  • src/main/java/org/sophie2/base/commons/util/NaiveImmList.java

    ### Eclipse Workspace Patch 1.0
    #P org.sophie2.base.commons
     
    307307        } 
    308308 
    309309        public ImmList<E> subList(int from, int to) { 
    310                 // TODO Auto-generated method stub 
    311                 return null; 
     310                return produce(asList().subList(from, to)); 
    312311        } 
    313312 
    314313} 
  • src/main/java/org/sophie2/base/model/resources/r4/changes/SubResourceChanger.java

    #P org.sophie2.base.model.resources.r4
     
    11package org.sophie2.base.model.resources.r4.changes; 
    22 
     3import java.util.HashMap; 
    34import java.util.Map; 
     5import java.util.Map.Entry; 
    46 
    57import org.sophie2.base.commons.util.ImmList; 
     8import org.sophie2.base.commons.util.NaiveImmList; 
    69import org.sophie2.base.model.resources.r4.ResourceRefR4; 
    710import org.sophie2.base.model.resources.r4.keys.Key; 
    811import org.sophie2.base.model.resources.r4.keys.RootKey; 
     12import org.sophie2.base.model.resources.r4.keys.UndefinedKey; 
    913import org.sophie2.base.model.resources.r4.resources.ResourceR4; 
    1014 
    1115/** 
     
    3842 
    3943        @Override 
    4044        public ImmList<Key<?>> getReads() { 
    41                 return this.parent.getReads(); 
     45                ImmList<Key<?>> parentReads = this.parent.getReads(); 
     46                ImmList<Key<?>> res = NaiveImmList.getEmpty(); 
     47                for (Key<?> key : parentReads) { 
     48                        res = res.add(getExtend(key)); 
     49                }  
     50                return res; 
     51        } 
     52 
     53        private Key<?> getExtend(Key<?> extendedKey) { 
     54                int begin = this.subKey.getParts().size(); 
     55                int end = extendedKey.getParts().size(); 
     56                return UndefinedKey.make(extendedKey.getParts().subList(begin, end)); 
    4257        } 
    4358 
    4459        @Override 
    4560        public Map<Key<?>, Object> getWrites() { 
    46                 return this.parent.getWrites(); 
     61                Map<Key<?>, Object> parentWrites = this.parent.getWrites(); 
     62                Map<Key<?>, Object> res = new HashMap<Key<?>, Object>(); 
     63                for (Entry<Key<?>, Object> entry : parentWrites.entrySet()) { 
     64                        Key<?> key = getExtend(entry.getKey()); 
     65                        res.put(key, entry.getValue()); 
     66                }  
     67                return res; 
    4768        } 
    4869 
    4970