Skip to content

Commit

Permalink
HBX-2390: Create a JBoss Tools adaptation layer in Hibernate Tools
Browse files Browse the repository at this point in the history
  - Add new test case 'org.hibernate.tool.orm.jbt.wrp.ValueWrapperFactoryTest#testGetKey()'
  - Fix bug in method 'org.hibernate.tool.orm.jbt.wrp.ValueWrapperFactory.ValueWrapperInvocationHandler#invoke(...)'

Signed-off-by: Koen Aers <[email protected]>
  • Loading branch information
koentsje committed Jul 1, 2023
1 parent 48f0ac3 commit ea850ec
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl
Method valueClassMethod = lookupMethodInValueClass(extendedValue, method);
if (valueClassMethod != null) {
result = valueClassMethod.invoke(extendedValue, args);
if (result != null && valueClassMethod.getReturnType().isAssignableFrom(Value.class)) {
if (result != null && Value.class.isAssignableFrom(method.getReturnType())) {
result = ValueWrapperFactory.createValueWrapper((Value)result);
}
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import static org.junit.jupiter.api.Assertions.assertSame;

import org.hibernate.mapping.BasicValue;
import org.hibernate.mapping.KeyValue;
import org.hibernate.mapping.List;
import org.hibernate.mapping.Value;
import org.hibernate.tool.orm.jbt.util.DummyMetadataBuildingContext;
Expand Down Expand Up @@ -43,4 +44,15 @@ public void testGetCollectionElement() {
assertNull(valueWrapper.getCollectionElement());
}

@Test
public void testGetKey() {
List valueTarget = new List(DummyMetadataBuildingContext.INSTANCE, null);
KeyValue keyValue = new BasicValue(DummyMetadataBuildingContext.INSTANCE);
ValueWrapper valueWrapper = ValueWrapperFactory.createValueWrapper(valueTarget);
valueTarget.setKey(keyValue);
assertSame(keyValue, ((Wrapper)valueWrapper.getKey()).getWrappedObject());
valueTarget.setKey(null);
assertNull(valueWrapper.getKey());
}

}

0 comments on commit ea850ec

Please sign in to comment.