Example usage for org.joda.time LocalDate now

List of usage examples for org.joda.time LocalDate now

Introduction

In this page you can find the example usage for org.joda.time LocalDate now.

Prototype

public static LocalDate now() 

Source Link

Document

Obtains a LocalDate set to the current system millisecond time using ISOChronology in the default time zone.

Usage

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()));
}