File |
Line |
org/sourceforge/jemm/collections/JemmList.java |
212
|
org/sourceforge/jemm/collections/JemmSet.java |
145
|
return ((SizeResponse) jemmOIF.processRequest(new SizeRequest())).getSize();
}
public Object[] toArray() {
return ((ToArrayResponse) jemmOIF.processRequest(new ToArrayRequest())).getArray();
}
@SuppressWarnings("unchecked")
public <T> T[] toArray(T[] a) {
Object[] curValues = toArray();
int size = curValues.length;
if (a.length < size) {
// target array is not large enough
// Make a new array of a's runtime type, but my contents:
return (T[]) Arrays.copyOf(curValues, size, a.getClass());
}
System.arraycopy(curValues, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
}
|
File |
Line |
org/sourceforge/jemm/database/components/types/StoredListObject.java |
116
|
org/sourceforge/jemm/database/components/types/StoredListObject.java |
164
|
int index = values.lastIndexOf(toFind);
if(index != -1)
return new ListIndexOfResponse(index);
int count = 0;
for (StoredValue value : values)
if(value.isPotentialMatch(toFind))
count++;
if(count == 0)
return new ListIndexOfResponse(-1);
int itemIndex = 0;
int[] possibleIndexes = new int[count];
Object[] possibleValues = new Object[count];
for(int i=values.size()-1; i>=0; i--) {
|
File |
Line |
org/sourceforge/jemm/collections/JemmList.java |
70
|
org/sourceforge/jemm/collections/JemmList.java |
80
|
public boolean addAll(int index, Collection<? extends K> c) {
List<StoredValue> list = new ArrayList<StoredValue>(c.size());
for (Object uValue : c)
list.add(new StoredValue(uValue));
StoredValue[] values = list.toArray(new StoredValue[0]);
return ((ListAddAllResponse) jemmOIF.processRequest(new ListAddAllRequest(index,values))).isModified();
|
File |
Line |
org/sourceforge/jemm/database/components/DefaultDBListTypeHandler.java |
227
|
org/sourceforge/jemm/database/components/DefaultDBSetTypeHandler.java |
103
|
}
@Override
public TypeResponse<?> processRequest(ClientId clientId, ClassId classId,
ID id, TypeRequest<?> request) {
if(request instanceof ClearRequest) {
clear(clientId, id);
return new VoidResponse();
} else if(request instanceof SizeRequest) {
return new SizeResponse(size(clientId,id));
} else if(request instanceof ToArrayRequest) {
|
File |
Line |
org/sourceforge/jemm/client/LifecycleListenerImpl.java |
170
|
org/sourceforge/jemm/client/MethodContextTracker.java |
26
|
}
@Override
public void entityEntered(MethodEvent e) {
stackTracer.enterMethod(e.getOrigin(), new Descriptor(e.getDescriptor()));
}
@Override
public void entityExited(MethodEvent e) {
stackTracer.exitMethod(e.getOrigin(), new Descriptor(e.getDescriptor()));
}
|
File |
Line |
org/sourceforge/jemm/client/ObjectAccessor.java |
238
|
org/sourceforge/jemm/client/ObjectAccessor.java |
262
|
if(e.getShadowData().isFieldInitialised(f.getDeclaringClass(), FieldType.OBJECT, f.getName())) {
FieldKey fKey = new FieldKey(f.getDeclaringClass(),f.getName());
FieldAccessor accessor = accessorFactory.create(fKey);
result.put(fKey,(JEMMObject)accessor.getField(fKey));
|
File |
Line |
org/sourceforge/jemm/database/components/DefaultDBListTypeHandler.java |
226
|
org/sourceforge/jemm/database/components/DefaultDBMapTypeHandler.java |
215
|
return new StoredMapObject(id,classId);
}
@Override
public TypeResponse<?> processRequest(ClientId clientId, ClassId classId,
ID id, TypeRequest<?> request) {
if(request instanceof ClearRequest) {
clear(clientId, id);
return new VoidResponse();
} else if(request instanceof MapGetRequest) {
|
File |
Line |
org/sourceforge/jemm/client/LifecycleListenerImpl.java |
154
|
org/sourceforge/jemm/client/MethodContextTracker.java |
36
|
}
@Override
public void beginLock(LockEvent e) {
lockTracer.beginLock(e.getOrigin(),e.getLock());
}
@Override
public void endLock(LockEvent e) {
lockTracer.endLock(e.getOrigin(),e.getLock());
}
|
File |
Line |
org/sourceforge/jemm/database/components/types/StoredListObject.java |
131
|
org/sourceforge/jemm/database/components/types/StoredListObject.java |
179
|
for(int i=values.size()-1; i>=0; i--) {
StoredValue value = values.get(i);
if(value.isPotentialMatch(toFind)) {
possibleIndexes[itemIndex] = i;
possibleValues[itemIndex] = value.getValue();
itemIndex++;
}
}
return new ListIndexOfResponse(possibleIndexes,possibleValues);
}
/**
* Remote the object at the given index, moving subsequent values up.
* @param index The index of the item to remove.
* @return The object that was held at the given index.
* @throws IndexOutOfBoundsException if the index is out of range (index < 0 || index >= size())
*/
public Object remove(int index) {
|
File |
Line |
org/sourceforge/jemm/database/components/DefaultDBMapTypeHandler.java |
216
|
org/sourceforge/jemm/database/components/DefaultDBSetTypeHandler.java |
103
|
}
@Override
public TypeResponse<?> processRequest(ClientId clientId, ClassId classId,
ID id, TypeRequest<?> request) {
if(request instanceof ClearRequest) {
clear(clientId, id);
return new VoidResponse();
} else if(request instanceof SizeRequest) {
|
File |
Line |
org/sourceforge/jemm/database/components/DefaultDBGarbageSweeper.java |
168
|
org/sourceforge/jemm/database/components/DefaultDBGarbageSweeper.java |
187
|
for (Iterator<ID> itr = objectAccessor.idIterator(); itr.hasNext();) {
ID id = itr.next();
try {
gcLock.acquire(id);
GCInfo info = gcIF.get(id);
if(info.gcInitialise())
|
File |
Line |
org/sourceforge/jemm/database/EnumInfo.java |
43
|
org/sourceforge/jemm/database/FieldInfo.java |
68
|
result = prime * id.hashCode();
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
|
File |
Line |
org/sourceforge/jemm/database/ClassId.java |
30
|
org/sourceforge/jemm/types/JemmDate.java |
64
|
return (int) (dateRep ^ (dateRep >>> 32));
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
|
File |
Line |
org/sourceforge/jemm/database/ClientId.java |
32
|
org/sourceforge/jemm/database/ClientThreadId.java |
32
|
return getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
|
File |
Line |
org/sourceforge/jemm/database/ClassInfo.java |
104
|
org/sourceforge/jemm/database/ObjectSyncResp.java |
33
|
+ ((updatedFields == null) ? 0 : updatedFields.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
|
File |
Line |
org/sourceforge/jemm/database/ClassInfo.java |
105
|
org/sourceforge/jemm/database/components/types/GCInfo.java |
113
|
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
|
File |
Line |
org/sourceforge/jemm/database/persistent/berkeley/BDbStorageEngineClassImpl.java |
20
|
org/sourceforge/jemm/database/persistent/berkeley/BDbStorageEngineEnumImpl.java |
21
|
pIdx = store.getPrimaryIndex(Long.class, EnumEntry.class);
sIdx = store.getSecondaryIndex(pIdx,String.class,"className");
this.idManager = idManager;
} catch (DatabaseException de) {
throw new StorageEngineException("Error intitalising indexes on Class info storage",de);
}
}
@Override
public EnumId createEnumId() {
|
File |
Line |
org/sourceforge/jemm/database/ClassId.java |
30
|
org/sourceforge/jemm/database/components/UserLockInfo.java |
98
|
return clientId.hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
|
File |
Line |
org/sourceforge/jemm/client/ObjectAccessor.java |
231
|
org/sourceforge/jemm/client/ObjectAccessor.java |
255
|
Map<FieldKey,JEMMObject> result = new HashMap<FieldKey,JEMMObject>();
FieldFilter filter = new JEMMObjectFilter();
FieldIterator it = new FieldIterator(obj.getClass(),filter);
for(Field f : it) {
Entity e = new Entity(obj);
if(e.getShadowData().isFieldInitialised(f.getDeclaringClass(), FieldType.OBJECT, f.getName())) {
|
File |
Line |
org/sourceforge/jemm/collections/internal/StoredValue.java |
52
|
org/sourceforge/jemm/database/ClassInfo.java |
106
|
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
|
File |
Line |
org/sourceforge/jemm/client/DelegatingDatabase.java |
61
|
org/sourceforge/jemm/client/DelegatingObjectDatabase.java |
68
|
return delegate.registerEnum(enumInfo);
}
public void releaseLock(ClientThreadId threadId, ID jemmId) {
delegate.releaseLock(threadId, jemmId);
}
public void removeLockAcquiredListener(ClientId clientId) {
delegate.removeLockAcquiredListener(clientId);
}
public void setRoot(String rootName, JEMMObject newValue) {
|
File |
Line |
org/sourceforge/jemm/database/memory/UserLockIFImpl.java |
49
|
org/sourceforge/jemm/database/memory/UserLockIFImpl.java |
81
|
public void removeClientLockReference(ClientThreadId clientThreadId, ID objectId) {
ClientId clientId = clientThreadId.getClientId();
try {
clientLocks.acquire(clientId);
Set<ClientThreadIdRef> set = clientLockRefs.get(clientId);
if(set != null) {
|
File |
Line |
org/sourceforge/jemm/collections/JemmList.java |
95
|
org/sourceforge/jemm/collections/JemmMap.java |
82
|
ContainsResponse result = (ContainsResponse) jemmOIF.processRequest(new ContainsValueRequest(value));
if(result.isFound())
return true;
else
if(result.getPossibles() != null)
for (Object possible : result.getPossibles())
if(value.equals(possible))
|
File |
Line |
org/sourceforge/jemm/database/components/types/util/HashedMapBucket.java |
130
|
org/sourceforge/jemm/database/components/types/util/HashedMapBucket.java |
141
|
private StoredValue[] getValuesAsArray() {
StoredValue[] keys = new StoredValue[size()];
int index=0;
MapHashedEntry current = head;
while(current != null) {
keys[index++] = current.value;
|
File |
Line |
org/sourceforge/jemm/client/TrackingDatabase.java |
126
|
org/sourceforge/jemm/client/TrackingDatabase.java |
148
|
return unwrapId((ID) o);
else
return o;
}
@SuppressWarnings("unchecked")
@Override public <K> K encode(K value) {
if(value instanceof ID)
return (K) unwrapId((ID) value);
|
File |
Line |
org/sourceforge/jemm/client/ObjectDatabase.java |
99
|
org/sourceforge/jemm/database/Database.java |
32
|
EnumId registerEnum(ClientId clientId,EnumInfo enumInfo) throws StructureModifiedException;
/**
* Asynchronous request to acquire a lock. This method will return immediately,
* but the caller should wait until notified by the LockAcquiredListener callback.
* @param threadId The requesting thread.
* @param jemmId The id of the object to lock.
*/
void acquireLock(ClientThreadId threadId,ID jemmId);
/**
* Register a lock listener
* @param clientId The id of the client registering for lock notifications.
* @param listener The listener to register.
*/
void setClientLockAcquiredListener(ClientId clientId,LockAcquiredListener listener);
/**
* Remove a lock listener
* @param clientId The lock listener to remove.
*/
void removeLockAcquiredListener(ClientId clientId);
/**
* Release the given lock held by the thread.
* @param threadId The thread currently holding the lock.
* @param jemmId The id of the object to release.
*/
void releaseLock(ClientThreadId threadId,ID jemmId);
|
File |
Line |
org/sourceforge/jemm/database/components/types/StoredListObject.java |
226
|
org/sourceforge/jemm/database/components/types/StoredSetObject.java |
81
|
}
@Override
public GetObjectResp getObjectData() {
return new GetObjectResp(getObjectId(),getClassId(),0,new HashMap<FieldInfo, Object>());
}
public void addAllInternal(Collection<StoredValue> keys) {
|
File |
Line |
org/sourceforge/jemm/comm/shared/RPCHandler.java |
372
|
org/sourceforge/jemm/comm/shared/RPCHandler.java |
386
|
protected RPCCallRespMessage makeSyncCall(Class<?> ifClass, String methodName,Class<?>[] parameterTypes,
Object[] args) {
RPCCallMessage callMessage = new RPCCallMessage(ThreadUtil.getThreadId(),false,
|
File |
Line |
org/sourceforge/jemm/collections/JemmList.java |
95
|
org/sourceforge/jemm/collections/JemmSet.java |
84
|
ContainsResponse result = (ContainsResponse) jemmOIF.processRequest(new ContainsRequest(uValue));
if(result.isFound())
return true;
else
if(result.getPossibles() != null)
for (Object possible : result.getPossibles())
if(uValue.equals(possible))
|
File |
Line |
org/sourceforge/jemm/client/JEMMObjectFieldMapper.java |
57
|
org/sourceforge/jemm/client/JEMMObjectFieldMapper.java |
72
|
private JEMMObject createUserObject(GetObjectResp resp, ClassInfo ci) {
try {
Class<?> clazz = Class.forName(ci.className);
Constructor<?> constructor =clazz.getDeclaredConstructor(new Class[]{ShadowUserObject.class});
|
File |
Line |
org/sourceforge/jemm/client/Descriptor.java |
58
|
org/sourceforge/jemm/client/Descriptor.java |
75
|
returnType = m.group(5);
} else {
throw new DescriptorParsingException("Descriptor (" + signature +") is invalid");
}
} catch(Exception e) {
throw new DescriptorParsingException("Descriptor (" + signature +") is invalid",e);
}
}
|
File |
Line |
org/sourceforge/jemm/types/ID.java |
40
|
org/sourceforge/jemm/types/JemmDate.java |
64
|
return (int) (dateRep ^ (dateRep >>> 32));
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
|
File |
Line |
org/sourceforge/jemm/database/components/types/StoredListObject.java |
226
|
org/sourceforge/jemm/database/components/types/StoredMapObject.java |
124
|
}
@Override
public GetObjectResp getObjectData() {
return new GetObjectResp(getObjectId(),getClassId(),0,new HashMap<FieldInfo, Object>());
}
public Collection<StoredValue> getKeys() {
|
File |
Line |
org/sourceforge/jemm/database/components/UserLockInfo.java |
98
|
org/sourceforge/jemm/database/components/types/StoredObject.java |
34
|
return getObjectId().hashCode();
}
@Override
public boolean equals(Object obj) {
if(this == obj)
return true;
if(obj == null)
return false;
if(!(obj instanceof StoredObject))
|
File |
Line |
org/sourceforge/jemm/database/components/DefaultDBAtomicIntTypeHandler.java |
89
|
org/sourceforge/jemm/database/components/DefaultDBListTypeHandler.java |
226
|
return new StoredListObject(id,classId);
}
@Override
public TypeResponse<?> processRequest(ClientId clientId, ClassId classId,
ID id, TypeRequest<?> request) {
if(request instanceof ClearRequest) {
|
File |
Line |
org/sourceforge/jemm/database/ClassId.java |
30
|
org/sourceforge/jemm/types/ID.java |
40
|
return (int) (idValue ^ (idValue >>> 32));
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof ID))
|
File |
Line |
org/sourceforge/jemm/database/components/types/StoredObject.java |
34
|
org/sourceforge/jemm/types/ID.java |
40
|
return (int) (idValue ^ (idValue >>> 32));
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof ID))
|
File |
Line |
org/sourceforge/jemm/client/types/JEMMObjectAccessor.java |
174
|
org/sourceforge/jemm/client/types/JEMMObjectAccessor.java |
207
|
public void initialise(FieldKey fieldKey) {
ShadowData sData = entity.getShadowData();
Class<?> declaringClass = fieldKey.getClazz();
String fieldName = fieldKey.getName();
if (sData.isFieldInitialised(declaringClass, FieldType.OBJECT, fieldName))
|
File |
Line |
org/sourceforge/jemm/client/Entity.java |
124
|
org/sourceforge/jemm/client/Entity.java |
142
|
public Object getField(FieldKey fkey) {
try {
Class<?> c = fkey.getClazz();
Field f = c.getDeclaredField(fkey.getName());
f.setAccessible(true);
|
File |
Line |
org/sourceforge/jemm/database/ClientId.java |
32
|
org/sourceforge/jemm/database/components/types/StoredObject.java |
34
|
return getObjectId().hashCode();
}
@Override
public boolean equals(Object obj) {
if(this == obj)
return true;
if(obj == null)
return false;
if(!(obj instanceof StoredObject))
|
File |
Line |
org/sourceforge/jemm/collections/JemmMap.java |
282
|
org/sourceforge/jemm/collections/JemmMap.java |
313
|
StoredValue[] potentialValueMatches = resp.getPotentialValueMatches();
for (int i = 0; i < potentialKeyMatches.length && newKey != null; i++) {
if(potentialKeyMatches[i].equals(key)) {
|
File |
Line |
org/sourceforge/jemm/collections/JemmList.java |
203
|
org/sourceforge/jemm/collections/JemmMap.java |
193
|
}
public int size() {
return ((SizeResponse) jemmOIF.processRequest(new SizeRequest())).getSize();
}
@SuppressWarnings("unchecked")
public Collection<V> values() {
|
File |
Line |
org/sourceforge/jemm/weaver/transformation/MethodAnnotationTransformation.java |
27
|
org/sourceforge/jemm/weaver/transformation/MethodProxyTransformation.java |
30
|
CtMethod[] methods = clazz.getDeclaredMethods();
for (int i = 0; i < methods.length; ++i) {
CtMethod m = methods[i];
|
File |
Line |
org/sourceforge/jemm/database/components/types/util/HashedMapBucket.java |
90
|
org/sourceforge/jemm/database/components/types/util/HashedMapBucket.java |
106
|
if(distinctFromKeys != null && allKeysIn(req.getKeyDistinctFrom())) {
head = new MapHashedEntry(req.getKey(),req.getValue(),head);
return new MapPutResponse(true,null,null);
}
|
File |
Line |
org/sourceforge/jemm/database/components/types/StoredListObject.java |
75
|
org/sourceforge/jemm/database/components/types/StoredListObject.java |
86
|
public boolean addAll(int index,StoredValue[] newValues) {
if(newValues.length == 0)
return false;
List<StoredValue> list = Arrays.asList(newValues);
values.addAll(index,list);
|
File |
Line |
org/sourceforge/jemm/collections/internal/map/MapRemoveKVResponse.java |
49
|
org/sourceforge/jemm/collections/internal/map/MapReplaceKONResponse.java |
50
|
public boolean hasPotentialKeyMatches() {
return potentialKeyMatches != null;
}
@Override
public void visit(ValueVisitor visitor) {
visitor.visit(potentialKeyMatches);
visitor.visit(potentialValueMatches);
}
}
|
File |
Line |
org/sourceforge/jemm/collections/internal/map/MapRemoveKVResponse.java |
15
|
org/sourceforge/jemm/collections/internal/map/MapReplaceKONResponse.java |
15
|
private MapReplaceKONResponse(boolean success,StoredValue[] potentialKeyMatches,
StoredValue[] potentialValueMatches) {
this.success = success;
this.potentialKeyMatches = potentialKeyMatches;
this.potentialValueMatches = potentialValueMatches;
}
public MapReplaceKONResponse(boolean success) {
|
File |
Line |
org/sourceforge/jemm/client/types/JEMMObjectAccessor.java |
126
|
org/sourceforge/jemm/client/types/JEMMObjectAccessor.java |
136
|
ShadowData data = entity.getShadowUserObject().getData();
data.setField(fieldKey.getClazz(), FieldType.OBJECT, fieldKey.getName(), newValue);
|
File |
Line |
org/sourceforge/jemm/database/persistent/berkeley/BDbStorageEngineUserLockImpl.java |
94
|
org/sourceforge/jemm/database/persistent/berkeley/BDbStorageEngineUserLockImpl.java |
123
|
clientKeyIdx.delete(new ClientLockKey(clientThreadId,objectId));
} catch (DatabaseException e) {
throw new StorageEngineException("addClientLockReference(" + clientThreadId + ","
+ objectId + ")" ,e);
}
}
|
File |
Line |
org/sourceforge/jemm/database/components/BaseDatabase.java |
240
|
org/sourceforge/jemm/database/debug/DebugDatabase.java |
161
|
underlyingDatabase.clientDisconnect(clientId);
}
@Override
public TypeResponse<?> processTypeRequest(ClientId clientId,
ClassId classId, ID objId, TypeRequest<?> request) {
|
File |
Line |
org/sourceforge/jemm/collections/JemmMap.java |
96
|
org/sourceforge/jemm/util/managed/EnhancedConcurrentHashMap.java |
138
|
@Override public Set<java.util.Map.Entry<K, V>> entrySet() {
throw new UnsupportedOperationException();
}
@SuppressWarnings("unchecked")
|
File |
Line |
org/sourceforge/jemm/client/DelegatingDatabase.java |
84
|
org/sourceforge/jemm/database/components/BaseDatabase.java |
240
|
clientRefHandler.clientDisconnect(clientId);
}
@Override
public TypeResponse<?> processTypeRequest(ClientId clientId,
ClassId classId, ID objId, TypeRequest<?> request) {
|
File |
Line |
org/sourceforge/jemm/sample/demo1/model/Account.java |
23
|
org/sourceforge/jemm/sample/demo1/model/SavingsAccount.java |
28
|
lastInterestAmount = 0;
ConstructorLifecycle.endConstructor(this);
}catch(Throwable t) {
ConstructorLifecycle.failedConstructor(this);
//would in the real program throw t not a RuntimeException
throw new RuntimeException(t);
}
}
public SavingsAccount(ShadowUserObject jemmOIF) {
|
File |
Line |
org/sourceforge/jemm/database/components/UserLockInfo.java |
98
|
org/sourceforge/jemm/types/ID.java |
40
|
return (int) (idValue ^ (idValue >>> 32));
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof ID))
|
File |
Line |
org/sourceforge/jemm/database/components/DefaultDBAtomicIntTypeHandler.java |
90
|
org/sourceforge/jemm/database/components/DefaultDBSetTypeHandler.java |
103
|
}
@Override
public TypeResponse<?> processRequest(ClientId clientId, ClassId classId,
ID id, TypeRequest<?> request) {
if(request instanceof ClearRequest) {
|
File |
Line |
org/sourceforge/jemm/database/ClassId.java |
30
|
org/sourceforge/jemm/database/components/types/StoredObject.java |
34
|
return getObjectId().hashCode();
}
@Override
public boolean equals(Object obj) {
if(this == obj)
return true;
if(obj == null)
return false;
if(!(obj instanceof StoredObject))
|
File |
Line |
org/sourceforge/jemm/collections/internal/list/ListAddAllResponse.java |
17
|
org/sourceforge/jemm/collections/internal/list/ListAddResponse.java |
17
|
public ListAddResponse encode(ValueEncoder encoder) {
// immutable value type
return this;
}
public boolean isModified() {
return modified;
}
@Override public void visit(ValueVisitor visitor) {}
}
|