Example usage for org.joda.time DateTimeZone forID

List of usage examples for org.joda.time DateTimeZone forID

Introduction

In this page you can find the example usage for org.joda.time DateTimeZone forID.

Prototype

@FromString
public static DateTimeZone forID(String id) 

Source Link

Document

Gets a time zone instance for the specified time zone id.

Usage

From source file:com.infotree.qliktest.admin.web.controller.ReportsController.java

License:Open Source License

/**
 * This method returns the teams related reports
 *//*from   w w  w . j ava 2 s  . co m*/
@RequestMapping(value = "/teamsreports", method = RequestMethod.GET)
public String teamsReports(Model model, HttpServletRequest request) {
    try {
        model.addAttribute("crudObj", new TeamReports());
        List<Project> projList = new ArrayList<Project>();
        List<User> listusers = new ArrayList<User>();
        List<TeamReports> teamReports = new ArrayList<TeamReports>();
        List<Team> teamsList = teamService
                .getTeamsById((Integer) request.getSession().getAttribute("userid") + "");
        if (teamsList != null) {
            Iterator<Team> teamsItr = teamsList.iterator();
            while (teamsItr.hasNext()) {

                String users = "";
                String projects = "";
                TeamReports teams = new TeamReports();
                Team team = teamsItr.next();
                teams.setTeamName(team.getName());
                int count = userTeamService.getNoOfUsers(team.getId());
                if (count == 0) {
                    teams.setTeamCount(count);
                    users = "No Users Available";
                } else {
                    teams.setTeamCount(userTeamService.getNoOfUsers(team.getId()));
                }
                if (!(count == 0)) {
                    listusers = userService.getUsersByTeamId(team.getId());
                    Iterator<User> iter = listusers.iterator();
                    while (iter.hasNext()) {
                        User u = iter.next();
                        if (users == "")
                            users = users + u.getFirstName();
                        else
                            users = users + " " + "<br>" + u.getFirstName();
                    }
                }
                List<TeamProject> projectList = teamProjectService.getProjectsByTeamId(team.getId());
                if (projectList != null) {
                    Iterator<TeamProject> itr = projectList.iterator();

                    while (itr.hasNext()) {
                        TeamProject teamproj = itr.next();
                        Project p = projectService.getById(teamproj.getTeamProjId().getProjectId());
                        if (projects.equals("")) {
                            projects = projects + p.getName();
                        } else {
                            projects = projects + "," + p.getName();
                        }

                    }
                }

                Locale clientLocale = request.getLocale();
                Calendar calendar = Calendar.getInstance(clientLocale);
                TimeZone clientTimeZone = calendar.getTimeZone();
                String clientZone = clientTimeZone.getID();
                DateTime dt = new DateTime();
                DateTimeZone dtZone = DateTimeZone.forID(clientZone);
                DateTime dtus = dt.withZone(dtZone);
                Date dateInIndia = dtus.toLocalDateTime().toDate();

                AuditLogRecord record = new AuditLogRecord();
                record.setActionDate(dateInIndia);

                record.setActionData("Viewed the Teams Reports");
                record.setActionType(AuditType.VIEW);
                record.setActionPerformed("Viewed the Teams Reports");
                record.setIpOrigin(request.getSession().getAttribute("ipAddress").toString());
                /*try {
                   InetAddress inetAddress = InetAddress.getLocalHost();
                   record.setIpOrigin(inetAddress.getHostAddress());
                } catch (UnknownHostException e) {
                   e.printStackTrace();
                }*/
                record.setUserId((Integer) request.getSession().getAttribute("userid"));
                record.setUserName(request.getSession().getAttribute("username").toString());
                auditRecordService.saveRecord(record);

                teams.setProjects(projects);
                teams.setUserName(
                        "<center><table width=70% border=1><tr><th><center>User Names</center></th></tr><tr><td><center>"
                                + users + "</center></td></tr></table></center>");
                teamReports.add(teams);

            }
        }

        List<UserProject> projectList = userProjectService
                .getByUserId((Integer) request.getSession().getAttribute("userid"));

        if (projectList != null) {
            Iterator<UserProject> itr = projectList.iterator();
            while (itr.hasNext()) {
                UserProject userProj = itr.next();
                projList.add(projectService.getById(userProj.getUserProjectComp().getProjectId()));
            }
        }

        List<Role> rolelist = new ArrayList<Role>();
        List<Role> list = roleService.list();
        if (list != null) {
            Iterator<Role> itrRole = list.iterator();
            while (itrRole.hasNext()) {
                Role r = itrRole.next();
                Role r1 = new Role();
                r1.setId(r.getId());
                r1.setDescription(r.getDescription());
                r1.setCreatedBy("1");
                r1.setName(r.getName());
                rolelist.add(r1);

            }
        }

        List<Project> projs = new ArrayList<Project>();
        UserTenant ut = userTenantService.findByUserId((Integer) request.getSession().getAttribute("userid"));
        List<ProjectTenant> projTenant = projectTenantService
                .getByTenantId(ut.getUserTenantComp().getTenantId());
        if (projTenant != null) {
            Iterator<ProjectTenant> projTenantItr = projTenant.iterator();
            while (projTenantItr.hasNext()) {
                ProjectTenant pt = projTenantItr.next();
                Project p = projectService.getById(pt.getProjectTenantComp().getProjectId());
                projs.add(p);
            }
        }

        model.addAttribute("project_list", projs);

        List<Role> rolesList = roleService.list();
        List<Role> newRoleList = new ArrayList<Role>();
        for (Role role : rolesList) {
            if (!role.getName().equalsIgnoreCase("System Administrator")) {
                if (!role.getName().equalsIgnoreCase("Application Administrator")) {
                    newRoleList.add(role);
                }

            }
        }
        model.addAttribute("role_list", newRoleList);
        model.addAttribute("team_list", teamReports);

        model.addAttribute("teamsreports", "teamsreports");
    } catch (Exception e) {
        LOG.error(e.toString());
        e.printStackTrace();
    }
    return "home";
}

From source file:com.infotree.qliktest.admin.web.controller.ReportsController.java

License:Open Source License

/**
 * This method is used to save the other reports
 *///from   w  w  w .j  av a 2s. com
@RequestMapping(value = "/savedashboardreports", method = RequestMethod.POST)
public String save(@Valid DashBoardReports entity, BindingResult bindingResult, Model model,
        HttpServletRequest request) {
    try {
        /*DateTime dt = new DateTime();
        DateTimeZone dtZone = DateTimeZone.forID("Asia/Kolkata");
        DateTime dtus = dt.withZone(dtZone);
        Date dateInIndia = dtus.toLocalDateTime().toDate();*/
        Locale clientLocale = request.getLocale();
        Calendar calendar = Calendar.getInstance(clientLocale);
        TimeZone clientTimeZone = calendar.getTimeZone();
        String clientZone = clientTimeZone.getID();
        DateTime dt = new DateTime();
        DateTimeZone dtZone = DateTimeZone.forID(clientZone);
        DateTime dtus = dt.withZone(dtZone);
        Date dateInIndia = dtus.toLocalDateTime().toDate();
        DashBoardReports dashBoard = new DashBoardReports();
        DashBoardReports report = reportsService.findByName(entity.getName());
        Integer userid = (Integer) request.getSession().getAttribute("userid");
        if (report != null) {
            model.addAttribute("reportupdated", "Report Name Already Exists");
        } else {
            dashBoard.setId(entity.getId());
            dashBoard.setName(entity.getName());
            dashBoard.setDisplayname(entity.getDisplayname());
            dashBoard.setDescription(entity.getDescription());
            //dashBoard.setCreatedBy(entity.getCreatedBy());
            dashBoard.setCreatedBy(userid.toString());
            dashBoard.setCreatedDate(dateInIndia);
            dashBoard.setModifiedBy(entity.getModifiedBy());
            dashBoard.setModifiedDate(dateInIndia);

            reportsService.save(dashBoard);
            if (reportsService.save(dashBoard) == null) {
                model.addAttribute("reportupdated", "Report Saved Successfully");
            } else {
                model.addAttribute("reportupdated", "Report Saved Successfully");
            }
        }

        model.addAttribute("crudObj", new DashBoardReports());
        model.addAttribute("other_reports", reportsService.getOtherReports());
        model.addAttribute("otherreports", "otherreports");
    } catch (Exception e) {
        LOG.error(e.toString());
        e.printStackTrace();
    }
    return "home";
}

From source file:com.infotree.qliktest.admin.web.controller.RoleModuleController.java

/**
 * This method is used to save the roles to the modules
 *///  ww  w .  ja v a2 s.  com
@RequestMapping(value = "/saveassignroletomodule", method = RequestMethod.POST)
public String saveAssignRoleToModule(@Valid RoleModulePojo entity, BindingResult bindingResule, Model model,
        HttpServletRequest request) {

    String displayMessage = null;
    try {
        List<Integer> beforeAssignedRoleList = (List<Integer>) request.getSession().getAttribute("roleIds");
        List<Integer> newlyAssignedRoleList = entity.getRoleIds();
        //System.out.println("beforeAssignedUserList >>> "+beforeAssignedUserList);
        //System.out.println("newlyassignedUserList >>> "+newlyAssignedUserList);
        int beforeAssignedRoleSize = beforeAssignedRoleList.size();
        int newlyAssignedRoleSize = 0;
        if (newlyAssignedRoleList != null)
            newlyAssignedRoleSize = newlyAssignedRoleList.size();

        if (beforeAssignedRoleSize == 0 && newlyAssignedRoleSize == 0) {
            //System.out.println("No changes done....");
            displayMessage = "Please assign atleast one role to the package";
            //System.out.println("displayMessage : "+displayMessage);
            model.addAttribute("displayMessage", displayMessage);
            model.addAttribute("assignroletomodule", "assignroletomodule");
            model.addAttribute("crudObj", new RoleModulePojo());
            model.addAttribute("module_list", moduleService.list());
            return "home";
        } else if (beforeAssignedRoleSize > 0 && newlyAssignedRoleSize == 0) {
            if (beforeAssignedRoleSize == 1)
                displayMessage = "1 role is removed";
            else
                displayMessage = beforeAssignedRoleSize + " roles are removed ";
        } else if (beforeAssignedRoleSize == 0 && newlyAssignedRoleSize > 0) {
            if (newlyAssignedRoleSize == 1)
                displayMessage = " 1 role is assigned";
            else
                displayMessage = newlyAssignedRoleSize + " roles are assigned ";
        } else {
            int sameRoleAssigned = 0;
            if (newlyAssignedRoleList != null) {
                for (Integer roleId : newlyAssignedRoleList) {
                    if (beforeAssignedRoleList != null) {
                        for (Integer rid : beforeAssignedRoleList) {
                            if (roleId.intValue() == rid.intValue()) {
                                sameRoleAssigned++;
                                break;
                            }
                        }
                    }
                }

            }

            int removedRole = beforeAssignedRoleSize - sameRoleAssigned;
            if (removedRole == 0)
                displayMessage = "";
            else if (removedRole == 1)
                displayMessage = " and 1 role is removed";
            else
                displayMessage = " and " + removedRole + " roles are removed";
            int assignedRole = newlyAssignedRoleSize - sameRoleAssigned;
            if (assignedRole == 0 && beforeAssignedRoleSize == newlyAssignedRoleSize)
                displayMessage = "No changes are made";
            else if (assignedRole == 0) {
                if (removedRole == 0)
                    displayMessage = "";
                else if (removedRole == 1)
                    displayMessage = " 1 role is removed";
                else
                    displayMessage = removedRole + " roles are removed";
            } else if (assignedRole == 1)
                displayMessage = "1 role is assigned" + displayMessage;
            else
                displayMessage = assignedRole + " roles are assigned" + displayMessage;

        }
        //System.out.println(displayMessage);
        model.addAttribute("displayMessage", displayMessage);

        roleModuleService.deleteByModuleId(entity.getModuleId());
        List<Integer> roleIds = entity.getRoleIds();
        /*DateTime dt = new DateTime();
        DateTimeZone dtZone = DateTimeZone.forID("Asia/Kolkata");
        DateTime dtus = dt.withZone(dtZone);
        Date dateInIndia = dtus.toLocalDateTime().toDate();*/
        Locale clientLocale = request.getLocale();
        Calendar calendar = Calendar.getInstance(clientLocale);
        TimeZone clientTimeZone = calendar.getTimeZone();
        String clientZone = clientTimeZone.getID();
        DateTime dt = new DateTime();
        DateTimeZone dtZone = DateTimeZone.forID(clientZone);
        DateTime dtus = dt.withZone(dtZone);
        Date dateInIndia = dtus.toLocalDateTime().toDate();
        if (roleIds != null) {
            Iterator<Integer> iterator = roleIds.iterator();
            while (iterator.hasNext()) {
                RoleModule roleModule = new RoleModule();
                RoleModuleComp rolemodComp = new RoleModuleComp();
                rolemodComp.setModuleId(entity.getModuleId());
                rolemodComp.setRoleId(iterator.next());
                roleModule.setRoleModuleComp(rolemodComp);
                roleModule.setCreatedBy(entity.getCreatedBy());
                roleModule.setCreatedDate(dateInIndia);
                roleModule.setModifiedBy(entity.getModifiedBy());
                roleModule.setModifiedDate(dateInIndia);
                roleModuleService.save(roleModule);
            }
            model.addAttribute("assignroletomodule", "assignroletomodule");

            AuditLogRecord record = new AuditLogRecord();
            record.setActionDate(dateInIndia);

            Module module = moduleService.getById(entity.getModuleId());

            record.setActionData("Module name is " + module.getName());
            record.setActionType(AuditType.ASSIGN);
            record.setActionPerformed("Module Assigned");
            record.setIpOrigin(request.getSession().getAttribute("ipAddress").toString());
            /*try {
               InetAddress inetAddress = InetAddress.getLocalHost();
               record.setIpOrigin(inetAddress.getHostAddress());
            } catch (UnknownHostException e) {
               e.printStackTrace();
            }*/
            record.setUserId((Integer) request.getSession().getAttribute("userid"));
            record.setUserName(request.getSession().getAttribute("username").toString());
            auditRecordService.saveRecord(record);
            model.addAttribute("roleassigned", "Role(s) Assigned.");
        } else {
            model.addAttribute("roleassigned", "Role(s) Assigned.");
        }
        model.addAttribute("assignroletomodule", "assignroletomodule");
        model.addAttribute("crudObj", new RoleModulePojo());
        model.addAttribute("module_list", moduleService.list());
    } catch (Exception e) {
        LOG.error(e.toString());
        e.printStackTrace();
    }
    return "home";
}

From source file:com.infotree.qliktest.admin.web.controller.RolePermissionsController.java

/**
 * This method is used to save the permissions to the role
 *///from   w  w  w .j  av a2 s  .c om
@RequestMapping(value = "/savepermissionstorole", method = RequestMethod.POST)
public String saveLicenseAuth(@Valid RolePermissionsPojo entity, BindingResult bindingResult, Model model,
        HttpServletRequest request) {

    rolePermissionsService.deleteByRoleId(entity.getRoleId());
    /*DateTime dt = new DateTime();
    DateTimeZone dtZone = DateTimeZone.forID("Asia/Kolkata");
    DateTime dtus = dt.withZone(dtZone);
    Date dateInIndia = dtus.toLocalDateTime().toDate();*/
    Locale clientLocale = request.getLocale();
    Calendar calendar = Calendar.getInstance(clientLocale);
    TimeZone clientTimeZone = calendar.getTimeZone();
    String clientZone = clientTimeZone.getID();
    DateTime dt = new DateTime();
    DateTimeZone dtZone = DateTimeZone.forID(clientZone);
    DateTime dtus = dt.withZone(dtZone);
    Date dateInIndia = dtus.toLocalDateTime().toDate();
    try {
        int count = 0;
        String permissionName = "";
        model.addAttribute("managerolesandpermissions", "managerolesandpermissions");
        model.addAttribute("crudObj", new RolePermissionsPojo());
        List<Integer> permissions = entity.getPermissionIds();
        if (permissions != null) {
            Iterator<Integer> iterator = permissions.iterator();
            while (iterator.hasNext()) {
                RolePermissions rolePerm = new RolePermissions();
                RolePermissionsComp comp = new RolePermissionsComp();

                Integer permId = iterator.next();
                comp.setPermissionId(permId);
                comp.setRoleId(entity.getRoleId());
                rolePerm.setUserPermissionsComp(comp);
                rolePerm.setCreatedBy(entity.getCreatedBy());
                rolePerm.setCreatedDate(dateInIndia);

                rolePermissionsService.save(rolePerm);

                Permissions p = permissionsService.getById(permId);
                if (permissionName == "") {
                    permissionName = p.getName();
                } else {
                    permissionName = permissionName + "," + p.getName();
                }

            }
        } else {

        }

        AuditLogRecord record = new AuditLogRecord();
        record.setActionDate(dateInIndia);
        record.setActionType(AuditType.ASSIGN);

        Role role = roleService.getById(entity.getRoleId());

        record.setActionData("Permissions names " + permissionName + " and Role name is" + role.getName());
        record.setIpOrigin(request.getSession().getAttribute("ipAddress").toString());
        /*try {
           InetAddress inetAddress = InetAddress.getLocalHost();
           record.setIpOrigin(inetAddress.getHostAddress());
        } catch (UnknownHostException e) {
           e.printStackTrace();
        }*/
        record.setUserId((Integer) request.getSession().getAttribute("userid"));
        record.setUserName(request.getSession().getAttribute("username").toString());
        auditLogService.saveRecord(record);
        model.addAttribute("managerolesandpermissions", "managerolesandpermissions");
        model.addAttribute("role_list", roleService.list());
        model.addAttribute("permissions_list", permissionsService.list());
        model.addAttribute("permissionsassigned", "Permissions Assigned ");

        if (count == 0) {
            model.addAttribute("permissionsassigned", "Permission(s) Assigned.'");
        } else {
            model.addAttribute("permissionsassigned", "Permission(s) assigned.'" + "<font color='red'>" + count
                    + "'Permission(s) not assigned(Already available.)</font>");
        }
    } catch (Exception e) {
        LOG.error(e.toString());
        e.printStackTrace();
    }

    return "home";
}

From source file:com.inspireon.dragonfly.common.logging.ExtendedDailyRollingFileAppender.java

License:Apache License

int computeCheckPeriod() {
    RollingCalendar rollingCalendar = new RollingCalendar(GMT, Locale.ENGLISH);

    // set sate to 1970-01-01 00:00:00 GMT
    DateTime epoch = new DateTime(0);

    if (datePattern != null) {
        for (int i = TOP_OF_MINUTE; i <= TOP_OF_MONTH; i++) {
            //                SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern);
            //                simpleDateFormat.setTimeZone(GMT); // do all date
            // formatting in GMT
            epoch = epoch.withZone(DateTimeZone.forID(Constants.TIME_ZONE_GMT));
            String r0 = epoch.toString(DateTimeFormat.forPattern(datePattern));
            //                String r0 = simpleDateFormat.format(epoch);
            rollingCalendar.setType(i);/*from w ww . ja v a2  s.c o  m*/

            DateTime next = new DateTime(rollingCalendar.getNextCheckMillis(epoch.toDate()));
            next = next.withZone(DateTimeZone.forID(Constants.TIME_ZONE_GMT));
            String r1 = next.toString(DateTimeFormat.forPattern(datePattern));
            //                String r1 = simpleDateFormat.format(next);

            if ((r0 != null) && (r1 != null) && !r0.equals(r1)) {
                return i;
            }
        }
    }

    return TOP_OF_TROUBLE; // Deliberately head for trouble...
}

From source file:com.jgoetsch.eventtrader.filter.TimeOfDayFilter.java

License:Apache License

public static TimeOfDayFilter getUSStockRTHFilter() {
    return new TimeOfDayFilter(new LocalTime(9, 30), new LocalTime(16, 0),
            DateTimeZone.forID("America/New_York"));
}

From source file:com.jgoetsch.tradeframework.marketdata.HistoricalMarketDataFeed.java

License:Apache License

/**
 * Overridable method to adjust a timestamp to the next regular trading session
 * of the given contract if it falls outside of the contract's regular trading hours.
 * //from  w  w  w  . j  av  a  2s.co  m
 * @param timestamp
 * @param contract
 * @return millisecond timestamp adjusted up to a regular trading session.
 */
protected long adjustTimestampToRTH(long timestamp, Contract contract) {
    if ("STK".equals(contract.getType()) && "USD".equals(contract.getCurrency())) {
        DateTime dt = new DateTime(timestamp, DateTimeZone.forID("America/New_York"));
        LocalTime time = new LocalTime(dt);
        if (time.compareTo(new LocalTime(9, 30)) < 0)
            dt = dt.withHourOfDay(9).withMinuteOfHour(30);
        else if (time.compareTo(new LocalTime(16, 0)) >= 0) {
            dt = dt.plusDays(1).withHourOfDay(9).withMinuteOfHour(30);
        }
        if (dt.getDayOfWeek() == DateTimeConstants.SATURDAY)
            dt = dt.plusDays(2);
        else if (dt.getDayOfWeek() == DateTimeConstants.SUNDAY)
            dt = dt.plusDays(1);
        return dt.getMillis();
    } else if ("FUT".equals(contract.getType()) && "USD".equals(contract.getCurrency())) {
        DateTime dt = new DateTime(timestamp, DateTimeZone.forID("America/Chicago"));
        if (dt.getDayOfWeek() == DateTimeConstants.SATURDAY)
            dt = dt.plusDays(2).withHourOfDay(9).withMinuteOfHour(0);
        else if (dt.getDayOfWeek() == DateTimeConstants.SUNDAY)
            dt = dt.plusDays(1).withHourOfDay(9).withMinuteOfHour(0);
        return dt.getMillis();
    } else
        return timestamp;
}

From source file:com.kikini.logging.simpledb.SimpleDBAppender.java

License:Apache License

/**
 * Obtain a SimpleDB instance from the Factory and get the logging domain
 * /*from w  w  w . j  av  a  2  s  .com*/
 * @see ch.qos.logback.core.AppenderBase#start()
 */
@Override
public void start() {
    boolean requiredPropsSet = true;

    if (null == accessId) {
        addStatus(new ErrorStatus("Access ID not set", this));
        requiredPropsSet = false;
    }
    if (null == secretKey) {
        addStatus(new ErrorStatus("Secret key not set", this));
        requiredPropsSet = false;
    }
    if (null == domainName) {
        addStatus(new ErrorStatus("Domain name not set", this));
        requiredPropsSet = false;
    }
    if (null == endPoint) {
        addStatus(new ErrorStatus("EndPoint not set", this));
        requiredPropsSet = false;
    }
    if (!requiredPropsSet)
        return;

    if (sdb == null) {
        try {
            if (instanceRole != null && !instanceRole.equals("")) {
                //Use instance profile credentials
                sdb = new AmazonSimpleDBClient();
            } else {
                final AWSCredentials credentials = new BasicAWSCredentials(accessId, secretKey);
                sdb = new AmazonSimpleDBClient(credentials);
            }
            sdb.setEndpoint(this.endPoint);

            // See if the domain exists
            boolean found = false;
            ListDomainsResult result = sdb.listDomains();
            for (String dom : result.getDomainNames()) {
                if (dom.equals(domainName)) {
                    found = true;
                    break;
                }
            }
            // Didn't find it, so create it
            if (!found) {
                sdb.createDomain(new CreateDomainRequest(domainName));
            }
        } catch (AmazonClientException e) {
            addStatus(new ErrorStatus("Could not get access SimpleDB", this, e));
            return;
        }
    }

    if (queue == null) {
        this.queue = new DelayQueue<SimpleDBRow>();
    }

    if (writer == null) {
        this.writer = new SimpleDBWriter(sdb, domainName);
    }

    if (timeZone != null) {
        writer.setTimeZone(DateTimeZone.forID(timeZone));
    }

    if (consumer == null) {
        consumer = new SimpleDBConsumer(queue, writer);
    }

    Thread consumerThread = new Thread(consumer);
    Runnable shutdown = new SimpleDBShutdownHook(queue, writer, consumerThread);
    Runtime.getRuntime().addShutdownHook(new Thread(shutdown));
    consumerThread.setDaemon(true);
    consumerThread.start();
    super.start();
}

From source file:com.kubaspatny.nuntius.dto.ShortMessageDto.java

License:Apache License

public String getTimestampString() {
    DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
    return dateTimeFormatter.print(this.mMessageTimestamp.toDateTime(DateTimeZone.forID("Europe/Prague")));
}

From source file:com.lithium.yoda.ToEpoch.java

License:Apache License

@Override
public Object evaluate(DeferredObject[] arguments) throws HiveException {
    if (dateOi instanceof StringObjectInspector) {
        String dateStr = ((StringObjectInspector) dateOi).getPrimitiveJavaObject(arguments[0].get());
        DateTimeFormatter dtf;//from w w w. ja v a 2  s  . c  om
        if (hasSecondArg) {
            if (constSecondArg == null) {
                dtf = DateTimeFormat.forPattern(formatOi.getPrimitiveJavaObject(arguments[1].get()));
            } else {
                dtf = DateTimeFormat.forPattern(constSecondArg);
            }
        } else {
            dtf = ISODateTimeFormat.dateTimeParser().withOffsetParsed();
        }
        return dtf.parseDateTime(dateStr).getMillis();
    } else if (dateOi instanceof TimestampObjectInspector) {
        Timestamp ts = ((TimestampObjectInspector) dateOi).getPrimitiveJavaObject(arguments[0].get());
        if (hasSecondArg) {
            DateTime dt;
            if (constSecondArg == null) {
                dt = new DateTime(ts.getTime(),
                        DateTimeZone.forID(formatOi.getPrimitiveJavaObject(arguments[1].get())));
            } else {
                dt = new DateTime(ts.getTime(), DateTimeZone.forID(constSecondArg));
            }
            return dt.getMillis();
        } else {
            return ts.getTime();
        }
    }

    return null;
}