/** * {@inheritDoc} */ @Override public void updateMethodIdentTimestamp(long platformId, String packageName, String className) { try { methodIdentDao.updateTimestamps(platformId, packageName, className); } finally { platformIdentCache.markDirty(platformId); } }
List<Long> methodIdentIds = methodIdentDao.findIdForPlatformIdAndExample(platformId, methodIdent, true); if (1 == methodIdentIds.size()) { return methodIdentIds.get(0).longValue(); methodIdent.setPlatformIdent(platformIdent); methodIdent.setTimeStamp(new Timestamp(Calendar.getInstance().getTimeInMillis())); methodIdentDao.saveOrUpdate(methodIdent); return methodIdent.getId();
/** * Tests registration of the existing {@link MethodIdent}. */ @Test public void registerExistnigMethodIdent() { final long methodId = 20; long platformId = 1; String packageName = "package"; String className = "class"; String methodName = "method"; List<String> parameterTypes = new ArrayList<>(); parameterTypes.add("parameter"); String returnType = "returnType"; int modifiers = 2; when(methodIdentDao.findIdForPlatformIdAndExample(eq(platformId), (MethodIdent) anyObject(), anyBoolean())).thenReturn(Collections.singletonList(methodId)); long registeredId = registrationService.registerMethodIdent(platformId, packageName, className, methodName, parameterTypes, returnType, modifiers); assertThat(registeredId, equalTo(methodId)); verify(platformIdentCache, times(1)).markDirty(platformId); ArgumentCaptor<MethodIdent> argument = ArgumentCaptor.forClass(MethodIdent.class); verify(methodIdentDao, times(1)).findIdForPlatformIdAndExample(eq(platformId), argument.capture(), eq(true)); verify(platformIdentCache, times(1)).markDirty(platformId); assertThat(argument.getValue().getPackageName(), is(equalTo(packageName))); assertThat(argument.getValue().getClassName(), is(equalTo(className))); assertThat(argument.getValue().getMethodName(), is(equalTo(methodName))); assertThat(argument.getValue().getParameters(), is(equalTo(parameterTypes))); assertThat(argument.getValue().getReturnType(), is(equalTo(returnType))); assertThat(argument.getValue().getModifiers(), is(equalTo(modifiers))); } }
String returnType = "returnType"; int modifiers = 2; when(methodIdentDao.findIdForPlatformIdAndExample(eq(platformId), (MethodIdent) anyObject(), anyBoolean())).thenReturn(Collections.<Long> emptyList()); Mockito.doAnswer(new Answer<Object>() { @Override return null; }).when(methodIdentDao).saveOrUpdate((MethodIdent) anyObject()); verify(methodIdentDao, times(1)).saveOrUpdate(argument.capture()); verify(methodIdentDao, times(1)).findIdForPlatformIdAndExample(eq(platformId), (MethodIdent) anyObject(), eq(true)); verify(platformIdentCache, times(1)).markDirty(platformId);
@Test public void successfully() { registrationService.updateMethodIdentTimestamp(10L, "package", "class"); verify(methodIdentDao).updateTimestamps(10L, "package", "class"); verify(platformIdentCache).markDirty(10L); }