List of usage examples for org.joda.time LocalDate now
public static LocalDate now()
ISOChronology
in the default time zone. From source file:org.kuali.kpme.core.role.proxy.service.KpmeRoleProxyDerivedRoleTypeServiceImpl.java
License:Educational Community License
private boolean isActiveMemberOfRoleToday(String principalId, List<String> groupIds, Role proxiedRole, Map<String, String> qualification) { // define the return value boolean isActiveMemberOfRoleToday = false; // get the primary role members and iterate thru the principals, groups and then roles (in that order) List<RoleMember> primaryRoleMembers = getPrimaryRoleMembers(proxiedRole, qualification, LocalDate.now().toDateTimeAtStartOfDay(), true); List<RoleMember> nestedGroups = new ArrayList<RoleMember>(); List<RoleMember> nestedRoles = new ArrayList<RoleMember>(); // first check principals for (RoleMember primaryRoleMember : primaryRoleMembers) { if (MemberType.PRINCIPAL.equals(primaryRoleMember.getType())) { if (StringUtils.equals(primaryRoleMember.getMemberId(), principalId)) { isActiveMemberOfRoleToday = true; break; }//from www .j ava 2 s . c o m } else if (MemberType.GROUP.equals(primaryRoleMember.getType())) { // put the nested group members into a different list for faster processing below nestedGroups.add(primaryRoleMember); } else if (MemberType.ROLE.equals(primaryRoleMember.getType())) { // put the nested role members into a different list for faster processing below nestedRoles.add(primaryRoleMember); } } // then check each of the nested groups with the passed-in principal's group ids if (!isActiveMemberOfRoleToday) { // check for identity only since group ids is transitive closure of all parent groups outerLoop: { for (RoleMember nestedGroupMember : nestedGroups) { for (String groupId : groupIds) { if (StringUtils.equals(nestedGroupMember.getMemberId(), groupId)) { isActiveMemberOfRoleToday = true; break outerLoop; } } } } } // finally check the nested roles if (!isActiveMemberOfRoleToday) { for (RoleMember nestedRoleMember : nestedRoles) { // push the membership attributes into the qualifiers Map<String, String> copiedQualification = new HashMap<String, String>(qualification); copiedQualification.putAll(nestedRoleMember.getAttributes()); if (getRoleService().principalHasRole(principalId, Collections.singletonList(nestedRoleMember.getMemberId()), copiedQualification)) { isActiveMemberOfRoleToday = true; break; } } } return isActiveMemberOfRoleToday; }
From source file:org.kuali.kpme.core.role.proxy.service.KpmeRoleProxyDerivedRoleTypeServiceImpl.java
License:Educational Community License
@Override public boolean isMemberOfGroup(String principalId, Group group, DateTime asOfDate, boolean activeOnly) { // the return value boolean isMemberOfGroup = false; if ((asOfDate.toLocalDate().toDateTimeAtStartOfDay().equals(LocalDate.now().toDateTimeAtStartOfDay())) && activeOnly) {/*www. ja va 2 s . co m*/ // use the group service to get all the group ids in which the principal is a member. List<String> groupIds = getGroupService().getGroupIdsByPrincipalId(principalId); isMemberOfGroup = groupIds.contains(group.getId()); } else { List<GroupMember> primaryGroupMembers = new ArrayList<GroupMember>(); if (group != null) { //get the primary group members via a predicate-based query List<Predicate> predicates = new ArrayList<Predicate>(); predicates.add(equal(KIMPropertyConstants.GroupMember.GROUP_ID, group.getId())); if (activeOnly) { predicates.add( or(isNull("activeFromDateValue"), lessThanOrEqual("activeFromDateValue", asOfDate))); predicates.add(or(isNull("activeToDateValue"), greaterThan("activeToDateValue", asOfDate))); } primaryGroupMembers = getGroupService() .findGroupMembers( QueryByCriteria.Builder.fromPredicates(predicates.toArray(new Predicate[] {}))) .getResults(); } // iterate through the primary group members, first checking all principal type members before // descending recursively into any nested group members. List<GroupMember> nestedGroups = new ArrayList<GroupMember>(); for (GroupMember groupMember : primaryGroupMembers) { if (KimConstants.KimGroupMemberTypes.PRINCIPAL_MEMBER_TYPE.equals(groupMember.getType())) { if (StringUtils.equals(groupMember.getMemberId(), principalId)) { isMemberOfGroup = true; break; } } else if (KimConstants.KimGroupMemberTypes.GROUP_MEMBER_TYPE.equals(groupMember.getType())) { // put the nested group members into a different list for faster processing below nestedGroups.add(groupMember); } } // check nested groups recursively if not found amongst primary principal type members if (!isMemberOfGroup) { for (GroupMember nestedGroupMember : nestedGroups) { Group nestedGroup = getGroupService().getGroup(nestedGroupMember.getMemberId()); // recursive call to check nested group if (isMemberOfGroup(principalId, nestedGroup, asOfDate, activeOnly)) { isMemberOfGroup = true; break; } } } } return isMemberOfGroup; }
From source file:org.kuali.kpme.core.service.permission.HRPermissionServiceImpl.java
License:Educational Community License
@Override public boolean canViewTimeTabs() { boolean canViewTimeTabs = false; LocalDate asOfDate = LocalDate.now(); String flsaStatus = HrConstants.FLSA_STATUS_NON_EXEMPT; // find active assignments as of currentDate String principalId = HrContext.getTargetPrincipalId(); if (isActiveAssignmentFoundOnJobFlsaStatus(principalId, flsaStatus, false)) { //find timecalendar defined canViewTimeTabs = isCalendarDefined("payCalendar", principalId, asOfDate, false); }/*from w ww. j ava2s. c o m*/ return canViewTimeTabs; }
From source file:org.kuali.kpme.core.service.permission.HRPermissionServiceImpl.java
License:Educational Community License
private boolean isActiveAssignmentFoundOnJobFlsaStatus(String principalId, String flsaStatus, boolean chkForLeaveEligible) { boolean isActiveAssFound = false; LocalDate asOfDate = LocalDate.now(); List<Assignment> activeAssignments = HrServiceLocator.getAssignmentService().getAssignments(principalId, asOfDate);/* w w w. j a va2s. com*/ if (activeAssignments != null && !activeAssignments.isEmpty()) { for (Assignment assignment : activeAssignments) { if (assignment != null && assignment.getJob() != null && assignment.getJob().getFlsaStatus() != null && assignment.getJob().getFlsaStatus().equalsIgnoreCase(flsaStatus)) { if (chkForLeaveEligible) { isActiveAssFound = assignment.getJob().isEligibleForLeave(); if (!isActiveAssFound) { continue; } } isActiveAssFound = true; break; } } } return isActiveAssFound; }
From source file:org.kuali.kpme.core.service.permission.HRPermissionServiceImpl.java
License:Educational Community License
@Override public boolean canViewLeaveTabsWithEStatus() { boolean canViewLeaveTabs = false; String principalId = HrContext.getTargetPrincipalId(); LocalDate asOfDate = LocalDate.now(); boolean leaveCalNPlanDefined = isCalendarDefined("leaveCalendar", principalId, asOfDate, true); String flsaStatus = HrConstants.FLSA_STATUS_EXEMPT; boolean activeAss = isActiveAssignmentFoundOnJobFlsaStatus(principalId, flsaStatus, true); canViewLeaveTabs = activeAss && leaveCalNPlanDefined; return canViewLeaveTabs; }
From source file:org.kuali.kpme.core.service.permission.HRPermissionServiceImpl.java
License:Educational Community License
@Override public boolean canViewLeaveTabsWithNEStatus() { boolean canViewLeaveTabs = false; LocalDate asOfDate = LocalDate.now(); String flsaStatus = HrConstants.FLSA_STATUS_NON_EXEMPT; // find active assignments as of currentDate String principalId = HrContext.getTargetPrincipalId(); boolean activeAss = isActiveAssignmentFoundOnJobFlsaStatus(principalId, flsaStatus, true); // chk leave plan defined boolean leaveCalNPlanDefined = isCalendarDefined("leaveCalendar", principalId, asOfDate, true); boolean timeCalDefined = isCalendarDefined("payCalendar", principalId, asOfDate, false); canViewLeaveTabs = activeAss && leaveCalNPlanDefined && timeCalDefined; return canViewLeaveTabs; }
From source file:org.kuali.kpme.core.service.timezone.TimezoneServiceImpl.java
License:Educational Community License
@Override public String getUserTimezone(String principalId) { PrincipalHRAttributes principalCalendar = HrServiceLocator.getPrincipalHRAttributeService() .getPrincipalCalendar(principalId, LocalDate.now()); if (principalCalendar != null && principalCalendar.getTimezone() != null) { return principalCalendar.getTimezone(); }/*from ww w. j a va2 s . c om*/ List<Job> jobs = HrServiceLocator.getJobService().getJobs(principalId, LocalDate.now()); if (jobs.size() > 0) { // Grab the location off the first job in the list Location location = HrServiceLocator.getLocationService().getLocation(jobs.get(0).getLocation(), LocalDate.now()); if (location != null) { if (StringUtils.isNotBlank(location.getTimezone())) { return location.getTimezone(); } } } return TKUtils.getSystemTimeZone(); }
From source file:org.kuali.kpme.core.task.dao.TaskDaoOjbImpl.java
License:Educational Community License
@SuppressWarnings("unchecked") @Override//from www . ja v a 2 s .co m public List<Task> getTasks(Long task, String description, Long workArea, LocalDate fromEffdt, LocalDate toEffdt) { Criteria root = new Criteria(); List<Task> results = new ArrayList<Task>(); if (task != null) { root.addLike("task", task); } if (StringUtils.isNotBlank(description)) { root.addLike("description", description); } if (workArea != null) { root.addEqualTo("workArea", workArea); } Criteria effectiveDateFilter = new Criteria(); if (fromEffdt != null) { effectiveDateFilter.addGreaterOrEqualThan("effectiveDate", fromEffdt.toDate()); } if (toEffdt != null) { effectiveDateFilter.addLessOrEqualThan("effectiveDate", toEffdt.toDate()); } if (fromEffdt == null && toEffdt == null) { effectiveDateFilter.addLessOrEqualThan("effectiveDate", LocalDate.now().toDate()); } root.addAndCriteria(effectiveDateFilter); Criteria activeFilter = new Criteria(); activeFilter.addEqualTo("active", true); root.addAndCriteria(activeFilter); root.addEqualTo("effectiveDate", OjbSubQueryUtil.getEffectiveDateSubQueryWithFilter(Task.class, effectiveDateFilter, Task.EQUAL_TO_FIELDS, false)); root.addEqualTo("timestamp", OjbSubQueryUtil.getTimestampSubQuery(Task.class, Task.EQUAL_TO_FIELDS, false)); Query query = QueryFactory.newQuery(Task.class, root); results.addAll(getPersistenceBrokerTemplate().getCollectionByQuery(query)); return results; }
From source file:org.kuali.kpme.core.TimestampConverter.java
License:Educational Community License
@Override public Object javaToSql(Object arg0) throws ConversionException { if (arg0 == null) { return new Timestamp(LocalDate.now().toDate().getTime()); }/*from ww w . ja va 2 s . com*/ return arg0; }
From source file:org.kuali.kpme.core.util.HrContext.java
License:Educational Community License
public static boolean isActiveEmployee() { return CollectionUtils.isNotEmpty( HrServiceLocator.getAssignmentService().getAssignments(getPrincipalId(), LocalDate.now())); }