/** * Copies all values from the given src object excluding the values created and modified. Null values will be * excluded. * * @param src */ @Override public ModificationStatus copyValuesFrom(final BaseDO<? extends Serializable> source, final String... ignoreFields) { ModificationStatus modificationStatus = super.copyValuesFrom(source, ignoreFields); final UserPrefDO src = (UserPrefDO) source; if (src.getUserPrefEntries() != null) { for (final UserPrefEntryDO srcEntry : src.getUserPrefEntries()) { final UserPrefEntryDO destEntry = ensureAndGetAccessEntry(srcEntry.getParameter()); final ModificationStatus st = destEntry.copyValuesFrom(srcEntry); modificationStatus = getModificationStatus(modificationStatus, st); } final Iterator<UserPrefEntryDO> iterator = getUserPrefEntries().iterator(); while (iterator.hasNext()) { final UserPrefEntryDO destEntry = iterator.next(); if (src.getUserPrefEntry(destEntry.getParameter()) == null) { iterator.remove(); } } } return modificationStatus; }
@Override public void clearIds() { super.clearIds(); for (final UserPrefEntryDO entry : form.getData().getUserPrefEntries()) { entry.setId(null); } }
final Field[] fields = obj.getClass().getDeclaredFields(); AccessibleObject.setAccessible(fields, true); if (userPref.getUserPrefEntries() != null) { for (final UserPrefEntryDO entry : userPref.getUserPrefEntries()) { Field field = null; for (final Field f : fields) {
private void evaluateAnnotations(final UserPrefDO userPref, final Class<?> beanType) { if (userPref.getUserPrefEntries() == null) { return; } final Field[] fields = beanType.getDeclaredFields(); int no = 0; for (final Field field : fields) { if (field.isAnnotationPresent(UserPrefParameter.class) == true) { UserPrefEntryDO userPrefEntry = null; for (final UserPrefEntryDO entry : userPref.getUserPrefEntries()) { if (field.getName().equals(entry.getParameter()) == true) { userPrefEntry = entry; break; } } if (userPrefEntry == null) { userPrefEntry = new UserPrefEntryDO(); evaluateAnnotation(userPrefEntry, beanType, field); userPref.addUserPrefEntry(userPrefEntry); } else { evaluateAnnotation(userPrefEntry, beanType, field); } if (StringUtils.isBlank(userPrefEntry.orderString) == true) { userPrefEntry.orderString = "ZZZ" + StringHelper.format2DigitNumber(no++); } userPrefEntry.setParameter(field.getName()); } } }
@Override public Object preparePersist(EntityMetadata entityMetadata, Object entity, XmlDumpRestoreContext ctx) { final UserPrefDO userPref = (UserPrefDO) entity; final Set<UserPrefEntryDO> entries = userPref.getUserPrefEntries(); if (entries == null || entries.size() == 0) { return null; } for (final UserPrefEntryDO entry : entries) { if ("task".equals(entry.getParameter()) == true) { updateEntryValue(ctx, entry, TaskDO.class); } else if ("user".equals(entry.getParameter()) == true || // "reporter".equals(entry.getParameter()) == true // Of ToDo's || "assignee".equals(entry.getParameter()) == true // Of ToDo's ) { updateEntryValue(ctx, entry, PFUserDO.class); } else if ("group".equals(entry.getParameter()) == true) { updateEntryValue(ctx, entry, GroupDO.class); } else if ("kost2".equals(entry.getParameter()) == true) { updateEntryValue(ctx, entry, Kost2DO.class); } else if ("kunde".equals(entry.getParameter()) == true) { updateEntryValue(ctx, entry, KundeDO.class); } else if ("projekt".equals(entry.getParameter()) == true) { updateEntryValue(ctx, entry, ProjektDO.class); } } return null; }
final Set<UserPrefEntryDO> entries = userPref.getUserPrefEntries(); if (entries == null || entries.size() == 0) { return;
return; if (isNew() == true && data.getUserPrefEntries() == null) { parentPage.userPrefDao.addUserPrefParameters(data, data.getArea()); if (data.getUserPrefEntries() != null) { for (final UserPrefEntryDO param : data.getSortedUserPrefEntries()) { final FieldsetPanel fs = gridBuilder
assertFalse(userPrefDao.doesParameterNameAlreadyExist((Integer) id, user, UserPrefArea.TIMESHEET_TEMPLATE, "test")); userPref = userPrefDao.getById(id); assertEquals(5, userPref.getUserPrefEntries().size()); // user, task, kost2, location, description.