diff --git a/pom.xml b/pom.xml
index ce0ba51..f8ce3b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
com.codeforces.inmemo
inmemo
- 2.0-SNAPSHOT
+ 2.0.1-SNAPSHOT
jar
inmemo
diff --git a/src/main/java/com/codeforces/inmemo/ReflectionUtil.java b/src/main/java/com/codeforces/inmemo/ReflectionUtil.java
index bd6afe3..463ff2f 100644
--- a/src/main/java/com/codeforces/inmemo/ReflectionUtil.java
+++ b/src/main/java/com/codeforces/inmemo/ReflectionUtil.java
@@ -48,10 +48,13 @@ public static String getTableClassSpec(Class> clazz) {
StringBuilder result = new StringBuilder();
for (PropertyDescriptor propertyDescriptor : beanInfo.getPropertyDescriptors()) {
- result.append(propertyDescriptor.getName())
- .append(':')
- .append(propertyDescriptor.getPropertyType().getName())
- .append(',');
+ Class> propertyType = propertyDescriptor.getPropertyType();
+ if (propertyType != null) {
+ result.append(propertyDescriptor.getName())
+ .append(':')
+ .append(propertyType.getName())
+ .append(',');
+ }
}
return result.toString();
diff --git a/src/test/java/com/codeforces/inmemo/InmemoTest.java b/src/test/java/com/codeforces/inmemo/InmemoTest.java
index 20df0d4..a8ca2db 100644
--- a/src/test/java/com/codeforces/inmemo/InmemoTest.java
+++ b/src/test/java/com/codeforces/inmemo/InmemoTest.java
@@ -114,15 +114,15 @@ public boolean testItem(User user) {
}
};
Inmemo.createTable(User.class, "ID", null, new Indices.Builder() {{
- add(Index.create("ID", Long.class, User::getId));
- }}.build(), adminFilter, true);
+ add(Index.create("ID", Long.class, User::getId));
+ }}.build(), adminFilter, true);
int size = Inmemo.size(User.class);
org.junit.Assert.assertTrue(size >= USER_COUNT * 0.45 && size <= USER_COUNT * 0.55);
for (User user : userDao.findAll()) {
Inmemo.insertOrUpdate(user);
}
- org.junit.Assert.assertEquals(size, Inmemo.size(User.class));
+ org.junit.Assert.assertEquals(size, Inmemo.size(User.class));
List admins = new ArrayList<>();
List nonAdmins = new ArrayList<>();
@@ -485,9 +485,9 @@ public void testEmergency() throws InterruptedException {
));
add(Index.createUnique("handle", String.class, User::getHandle));
add(Index.createUnique("idAndHandle", String.class, user -> user.getId() + "," + user.getHandle(), indexValue -> {
- String[] tokens = indexValue.split(",");
- return new Object[]{"ID", Long.valueOf(tokens[0]), "HANDLE", tokens[1]};
- }
+ String[] tokens = indexValue.split(",");
+ return new Object[]{"ID", Long.valueOf(tokens[0]), "HANDLE", tokens[1]};
+ }
));
add(Index.create("FIRST_HANDLE_LETTER", String.class, tableItem -> tableItem.getHandle().substring(0, 1)));
}}.build(), true);
@@ -690,7 +690,7 @@ public void testJournal() throws IOException {
}
Map users = new HashMap<>();
- for (long id = 1; id <= USER_COUNT ; id++) {
+ for (long id = 1; id <= USER_COUNT; id++) {
User inmemoUser = Inmemo.findOnly(true, User.class, new IndexConstraint<>("ID", id));
User dbUser = userDao.find(id);
Assert.assertEquals(dbUser, inmemoUser);
@@ -705,12 +705,14 @@ public void testJournal() throws IOException {
}}.build(), true);
}
- for (long id = 1; id <= USER_COUNT ; id++) {
+ for (long id = 1; id <= USER_COUNT; id++) {
User inmemoUser = Inmemo.findOnly(true, User.class, new IndexConstraint<>("ID", id));
User dbUser = userDao.find(id);
Assert.assertEquals(dbUser, inmemoUser);
Assert.assertEquals(users.get(id), inmemoUser);
}
+ } catch (Exception e) {
+ System.err.println("Exception: " + e.getMessage());
} finally {
Assert.assertTrue(journalFile.isFile());
Inmemo.deleteJournal(User.class);
diff --git a/src/test/java/com/codeforces/inmemo/model/User.java b/src/test/java/com/codeforces/inmemo/model/User.java
index 84ba4ee..3f2d97c 100644
--- a/src/test/java/com/codeforces/inmemo/model/User.java
+++ b/src/test/java/com/codeforces/inmemo/model/User.java
@@ -99,6 +99,16 @@ public void setTShirtSize(TShirtSize tShirtSize) {
this.tShirtSize = tShirtSize;
}
+ public int getSomething(int arg) {
+ return arg + 2;
+ }
+
+ public int getSomethingWithTwoArgs(int arg1, int arg2) {
+ return arg1 + arg2;
+ }
+
+ public void setSomething() {}
+
@Override
public boolean equals(Object o) {
if (this == o) return true;