Example usage for org.joda.time MutableDateTime setYear

List of usage examples for org.joda.time MutableDateTime setYear

Introduction

In this page you can find the example usage for org.joda.time MutableDateTime setYear.

Prototype

public void setYear(final int year) 

Source Link

Document

Set the year to the specified value.

Usage

From source file:com.tmathmeyer.sentinel.ui.views.month.MonthDay.java

License:Open Source License

public MonthDay(DateTime initDay, DayStyle style, final MonthCalendar parent) {
    this.day = initDay;
    this.style = style;
    Color grayit = Colors.TABLE_GRAY_HEADER, textit = Colors.TABLE_TEXT, bg = Colors.TABLE_BACKGROUND;
    switch (style) {
    case Normal:/*from w  w  w.  j  a va2  s .  co  m*/
        grayit = Colors.TABLE_GRAY_HEADER;
        textit = Colors.TABLE_GRAY_TEXT;
        break;
    case OutOfMonth:
        grayit = bg;
        break;
    case Today:
        grayit = Colors.TABLE_GRAY_HEADER;
        textit = Colors.TABLE_GRAY_TEXT;
        break;
    default:
        throw new IllegalStateException("DayStyle is not a valid DayStyle!");
    }
    setBackground(bg);
    setForeground(textit);
    borderTop = grayit.equals(bg);
    setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.Y_AXIS));

    header.setBackground(grayit);
    header.setForeground(textit);
    header.setFont(new java.awt.Font("DejaVu Sans", style == DayStyle.Today ? Font.BOLD : Font.PLAIN, 12));
    header.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    header.setText(Integer.toString(initDay.getDayOfMonth()));
    header.setAutoscrolls(true);
    header.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
    header.setMaximumSize(new java.awt.Dimension(10000, 17));
    header.setOpaque(true);

    if (style == DayStyle.Today) {
        Font font = header.getFont();
        Map<TextAttribute, ?> attributes = font.getAttributes();
        Map<TextAttribute, Object> newtributes = new HashMap<>();
        newtributes.putAll(attributes);
        newtributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
        header.setFont(font.deriveFont(newtributes));
    }

    add(header);

    addMouseListener(new MouseListener() {
        @Override
        public void mousePressed(MouseEvent e) {
            parent.dispatchEvent(e);
            MainPanel.getInstance().setSelectedDay(day);
            MainPanel.getInstance().clearSelected();
            parent.setEscaped(false);
        }

        @Override
        public void mouseClicked(MouseEvent e) {

        }

        @Override
        public void mouseReleased(MouseEvent e) {
            if (parent.isEscaped()) {
                MonthDay releasedDay = parent.getMonthDayAtCursor();
                Displayable selected = MainPanel.getInstance().getSelectedEvent();
                if (selected != null && releasedDay != null) {
                    MutableDateTime newTime = new MutableDateTime(selected.getStart());

                    newTime.setYear(releasedDay.day.getYear());
                    newTime.setDayOfYear(releasedDay.day.getDayOfYear());

                    selected.setTime(newTime.toDateTime());

                    selected.update();
                }
            }
            parent.dispatchEvent(e);
        }

        @Override
        public void mouseEntered(MouseEvent e) {
            parent.dispatchEvent(e);
        }

        @Override
        public void mouseExited(MouseEvent e) {
            setBackground(Colors.TABLE_BACKGROUND);
            parent.setEscaped(true);

        }
    });

    header.addMouseListener(new MouseListener() {

        @Override
        public void mousePressed(MouseEvent e) {
            MainPanel.getInstance().setSelectedDay(day);
            MainPanel.getInstance().clearSelected();
        }

        @Override
        public void mouseClicked(MouseEvent e) {
            MainPanel.getInstance().miniMove(day);
            MainPanel.getInstance().viewDay();
        }

        @Override
        public void mouseReleased(MouseEvent e) {
        }

        @Override
        public void mouseEntered(MouseEvent e) {
        }

        @Override
        public void mouseExited(MouseEvent e) {
            setBackground(Colors.TABLE_BACKGROUND);
        }
    });

    addMouseMotionListener(new MouseMotionListener() {

        @Override
        public void mouseDragged(MouseEvent e) {
            parent.repaint();
            parent.dispatchEvent(e);
        }

        @Override
        public void mouseMoved(MouseEvent e) {
            parent.dispatchEvent(e);
        }

    });
}

From source file:com.yahoo.bard.webservice.sql.helper.SqlTimeConverter.java

License:Apache License

/**
 * Sets the correct part of a {@link DateTime} corresponding to a
 * {@link SqlDatePartFunction}./*w ww.  ja  v  a 2 s  .c  o m*/
 *
 * @param value  The value to be set for the dateTime with the sqlDatePartFn
 * @param sqlDatePartFn  The function used to extract part of a date with sql.
 * @param dateTime  The original dateTime to create a copy of.
 */
protected void setDateTime(int value, SqlDatePartFunction sqlDatePartFn, MutableDateTime dateTime) {
    if (YEAR.equals(sqlDatePartFn)) {
        dateTime.setYear(value);
    } else if (MONTH.equals(sqlDatePartFn)) {
        dateTime.setMonthOfYear(value);
    } else if (WEEK.equals(sqlDatePartFn)) {
        dateTime.setWeekOfWeekyear(value);
        dateTime.setDayOfWeek(1);
    } else if (DAYOFYEAR.equals(sqlDatePartFn)) {
        dateTime.setDayOfYear(value);
    } else if (HOUR.equals(sqlDatePartFn)) {
        dateTime.setHourOfDay(value);
    } else if (MINUTE.equals(sqlDatePartFn)) {
        dateTime.setMinuteOfHour(value);
    } else if (SECOND.equals(sqlDatePartFn)) {
        dateTime.setSecondOfMinute(value);
    } else {
        throw new IllegalArgumentException("Can't set value " + value + " for " + sqlDatePartFn);
    }
}

From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.navigation.GoToPanel.java

License:Open Source License

/**
 * Parses the input to the goTo field to ensure proper formatting and handle
 * syntax errors//from  ww  w  . j  a v a 2s .  c  o m
 * @param text string to parse
 */
public void parseGoto(String text) {

    DateTime dt;
    boolean isValidYear = true;

    try {
        dt = gotoField.parseDateTime(text);
        if (dt.getYear() < 1900 || dt.getYear() > 2100) {
            isValidYear = false;
            dt = null;
        }
    }

    catch (IllegalArgumentException illArg) {
        try {
            MutableDateTime mdt = gotoFieldShort.parseMutableDateTime(text);
            mdt.setYear(currentDate.getYear()); // this format does not provide years. add it
            dt = mdt.toDateTime();
        } catch (IllegalArgumentException varArg) {
            dt = null;
        }
    }
    if (dt != null) {
        MainPanel.getInstance().display(dt);
        MainPanel.getInstance().refreshView();
        gotoErrorText.setText(" ");
    } else {
        if (isValidYear)
            gotoErrorText.setText("* Use format: mm/dd/yyyy");
        else
            gotoErrorText.setText("* Year out of range (1900-2100)");
    }
}

From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.views.month.MonthDay.java

License:Open Source License

public MonthDay(DateTime initDay, DayStyle style, final MonthCalendar parent) {
    this.day = initDay;
    this.parent = parent;
    this.style = style;
    Color grayit = Colors.TABLE_GRAY_HEADER, textit = Colors.TABLE_TEXT, bg = Colors.TABLE_BACKGROUND;
    switch (style) {
    case Normal://ww  w.  ja  va  2 s.  c om
        grayit = Colors.TABLE_GRAY_HEADER;
        textit = Colors.TABLE_GRAY_TEXT;
        break;
    case OutOfMonth:
        grayit = bg;
        break;
    case Today:
        grayit = Colors.TABLE_GRAY_HEADER;
        textit = Colors.TABLE_GRAY_TEXT;
        break;
    default:
        throw new IllegalStateException("DayStyle is not a valid DayStyle!");
    }
    setBackground(bg);
    setForeground(textit);
    borderTop = grayit.equals(bg);
    setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.Y_AXIS));

    header.setBackground(grayit);
    header.setForeground(textit);
    header.setFont(new java.awt.Font("DejaVu Sans", style == DayStyle.Today ? Font.BOLD : Font.PLAIN, 12));
    header.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    header.setText(Integer.toString(initDay.getDayOfMonth()));
    header.setAutoscrolls(true);
    header.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
    header.setMaximumSize(new java.awt.Dimension(10000, 17));
    header.setOpaque(true);

    if (style == DayStyle.Today) {
        Font font = header.getFont();
        Map attributes = font.getAttributes();
        attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
        header.setFont(font.deriveFont(attributes));
    }

    add(header);

    addMouseListener(new MouseListener() {
        @Override
        public void mousePressed(MouseEvent e) {
            parent.dispatchEvent(e);
            MainPanel.getInstance().setSelectedDay(day);
            MainPanel.getInstance().clearSelected();
            parent.setEscaped(false);
        }

        @Override
        public void mouseClicked(MouseEvent e) {

        }

        @Override
        public void mouseReleased(MouseEvent e) {
            if (parent.isEscaped()) {
                MonthDay releasedDay = parent.getMonthDayAtCursor();
                Displayable selected = MainPanel.getInstance().getSelectedEvent();
                if (selected != null) {
                    MutableDateTime newTime = new MutableDateTime(selected.getStart());

                    newTime.setYear(releasedDay.day.getYear());
                    newTime.setDayOfYear(releasedDay.day.getDayOfYear());

                    selected.setTime(newTime.toDateTime());

                    selected.update();
                }
            }
            parent.dispatchEvent(e);
        }

        @Override
        public void mouseEntered(MouseEvent e) {
            parent.dispatchEvent(e);
        }

        @Override
        public void mouseExited(MouseEvent e) {
            setBackground(Colors.TABLE_BACKGROUND);
            parent.setEscaped(true);

        }
    });

    header.addMouseListener(new MouseListener() {

        @Override
        public void mousePressed(MouseEvent e) {
            MainPanel.getInstance().setSelectedDay(day);
            MainPanel.getInstance().clearSelected();
        }

        @Override
        public void mouseClicked(MouseEvent e) {
            MainPanel.getInstance().miniMove(day);
            MainPanel.getInstance().viewDay();
        }

        @Override
        public void mouseReleased(MouseEvent e) {
        }

        @Override
        public void mouseEntered(MouseEvent e) {
        }

        @Override
        public void mouseExited(MouseEvent e) {
            setBackground(Colors.TABLE_BACKGROUND);
        }
    });

    addMouseMotionListener(new MouseMotionListener() {

        @Override
        public void mouseDragged(MouseEvent e) {
            parent.repaint();
            parent.dispatchEvent(e);
        }

        @Override
        public void mouseMoved(MouseEvent e) {
            parent.dispatchEvent(e);
        }

    });
}

From source file:influent.server.rest.BigChartResource.java

License:MIT License

@Post("json")
public Map<String, ChartData> getBigChartData(String jsonData) {

    try {/*from  www  .  j  a v a 2s . com*/
        JSONProperties request = new JSONProperties(jsonData);

        final String focusContextId = request.getString("focuscontextid", null);

        final String sessionId = request.getString("sessionId", null);
        if (!GuidValidator.validateGuidString(sessionId)) {
            throw new ResourceException(Status.CLIENT_ERROR_EXPECTATION_FAILED,
                    "sessionId is not a valid UUID");
        }

        DateTime startDate = null;
        try {
            startDate = DateTimeParser.parse(request.getString("startDate", null));
        } catch (IllegalArgumentException iae) {
            throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
                    "BigChartResource: An illegal argument was passed into the 'startDate' parameter.");
        }

        DateTime endDate = null;
        try {
            endDate = DateTimeParser.parse(request.getString("endDate", null));
        } catch (IllegalArgumentException iae) {
            throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
                    "BigChartResource: An illegal argument was passed into the 'endDate' parameter.");
        }

        List<String> focusIds = new LinkedList<String>();
        Iterable<String> focusIter = request.getStrings("focusId");

        for (String entityId : focusIter) {
            List<String> entities = new ArrayList<String>();

            InfluentId id = InfluentId.fromInfluentId(entityId);

            // Point account owners and summaries to their owner account
            if (id.getIdClass() == InfluentId.ACCOUNT_OWNER || id.getIdClass() == InfluentId.CLUSTER_SUMMARY) {

                entities.add(InfluentId.fromNativeId(InfluentId.ACCOUNT, id.getIdType(), id.getNativeId())
                        .toString());

            } else if (id.getIdClass() == InfluentId.CLUSTER) {

                String nId = id.getNativeId();
                if (nId.startsWith("|")) { // group cluster
                    for (String sId : nId.split("\\|")) {
                        if (!sId.isEmpty()) {
                            entities.add(sId);
                        }
                    }
                } else {
                    entities.add(entityId);
                }
            } else {
                entities.add(entityId);
            }

            for (String fid : entities) {
                if (!focusIds.contains(fid)) {
                    focusIds.add(fid);
                }
            }
        }

        final Double focusMaxDebitCredit = request.getDouble("focusMaxDebitCredit", null);
        final Integer width = request.getInteger("width", 145);
        final Integer height = request.getInteger("height", 60);

        List<Properties> entityArray = Lists.newArrayList(request.getPropertiesSets("entities"));

        Map<String, ChartData> infoList = new HashMap<String, ChartData>(entityArray.size());

        /// TODO : make this date range sanity check better
        if (startDate.getYear() < 1900 || startDate.getYear() > 9999) {
            MutableDateTime msdt = new MutableDateTime(startDate);
            msdt.setYear(2007);
            startDate = msdt.toDateTime();
            logger.warn("Invalid start date passed from UI, setting to default");
        }
        if (endDate.getYear() < 1900 || endDate.getYear() > 9999) {
            MutableDateTime medt = new MutableDateTime(endDate);
            medt.setYear(2013);
            endDate = medt.toDateTime();
            logger.warn("Invalid end date passed from UI, setting to default");
        }
        FL_DateRange dateRange = DateRangeBuilder.getBigChartDateRange(startDate, endDate);

        // compute an individual chart for each entity received
        for (Properties entityRequest : entityArray) {
            final String entityId = entityRequest.getString("dataId", null);
            final String entityContextId = entityRequest.getString("contextId", null);

            List<String> entityIds = new ArrayList<String>();

            // Check to see if this entityId belongs to a group cluster.
            InfluentId id = InfluentId.fromInfluentId(entityId);

            if (id.getIdClass() == InfluentId.CLUSTER) {
                String nId = id.getNativeId();
                if (nId.startsWith("|")) { // group cluster
                    for (String sId : nId.split("\\|")) {
                        if (!sId.isEmpty()) {
                            entityIds.add(sId);
                        }
                    }
                } else {
                    entityIds.add(entityId);
                }
            } else {
                entityIds.add(entityId);
            }

            ChartHash hash = new ChartHash(entityIds, startDate, endDate, focusIds, focusMaxDebitCredit,
                    dateRange.getNumBins().intValue(), width, height, entityContextId, focusContextId,
                    sessionId, contextCache);

            ChartData chartData = chartBuilder.computeChart(dateRange, entityIds, focusIds, entityContextId,
                    focusContextId, sessionId, dateRange.getNumBins().intValue(), hash);

            infoList.put(entityId, //memberIds.get(0), 
                    chartData);
        }

        return infoList;

    } catch (AvroRemoteException e) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "Data access error.", e);
    } catch (JSONException je) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "JSON parse error.", je);
    }
}

From source file:influent.server.rest.ChartResource.java

License:MIT License

@Post("json")
public Map<String, ChartData> getChartData(String jsonData) {

    try {/*from   ww  w. j ava2 s .  c  om*/
        JSONProperties request = new JSONProperties(jsonData);

        final String focusContextId = request.getString("focuscontextid", null);

        final String sessionId = request.getString("sessionId", null);
        if (!GuidValidator.validateGuidString(sessionId)) {
            throw new ResourceException(Status.CLIENT_ERROR_EXPECTATION_FAILED,
                    "sessionId is not a valid UUID");
        }

        DateTime startDate = null;
        try {
            startDate = DateTimeParser.parse(request.getString("startDate", null));
        } catch (IllegalArgumentException iae) {
            throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
                    "ChartResource: An illegal argument was passed into the 'startDate' parameter.");
        }

        DateTime endDate = null;
        try {
            endDate = DateTimeParser.parse(request.getString("endDate", null));
        } catch (IllegalArgumentException iae) {
            throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
                    "ChartResource: An illegal argument was passed into the 'endDate' parameter.");
        }

        List<String> focusIds = new LinkedList<String>();
        Iterable<String> focusIter = request.getStrings("focusId");

        for (String entityId : focusIter) {
            List<String> entities = new ArrayList<String>();

            InfluentId id = InfluentId.fromInfluentId(entityId);

            // Point account owners and summaries to their owner account
            if (id.getIdClass() == InfluentId.ACCOUNT_OWNER || id.getIdClass() == InfluentId.CLUSTER_SUMMARY) {

                entities.add(InfluentId.fromNativeId(InfluentId.ACCOUNT, id.getIdType(), id.getNativeId())
                        .toString());

            } else if (id.getIdClass() == InfluentId.CLUSTER) {

                String nId = id.getNativeId();
                if (nId.startsWith("|")) { // group cluster
                    for (String sId : nId.split("\\|")) {
                        if (!sId.isEmpty()) {
                            entities.add(sId);
                        }
                    }
                } else {
                    entities.add(entityId);
                }
            } else {
                entities.add(entityId);
            }

            for (String fid : entities) {
                if (!focusIds.contains(fid)) {
                    focusIds.add(fid);
                }
            }
        }

        final Double focusMaxDebitCredit = request.getDouble("focusMaxDebitCredit", null);
        final Integer width = request.getInteger("width", 140);
        final Integer height = request.getInteger("height", 60);

        List<Properties> entityArray = Lists.newArrayList(request.getPropertiesSets("entities"));

        Map<String, ChartData> infoList = new HashMap<String, ChartData>(entityArray.size());

        final Integer numBuckets = request.getInteger("numBuckets", 15);

        /// TODO : make this date range sanity check better
        if (startDate.getYear() < 1900 || startDate.getYear() > 9999) {
            MutableDateTime msdt = new MutableDateTime(startDate);
            msdt.setYear(2007);
            startDate = msdt.toDateTime();
            logger.warn("Invalid start date passed from UI, setting to default");
        }
        if (endDate.getYear() < 1900 || endDate.getYear() > 9999) {
            MutableDateTime medt = new MutableDateTime(endDate);
            medt.setYear(2013);
            endDate = medt.toDateTime();
            logger.warn("Invalid end date passed from UI, setting to default");
        }
        FL_DateRange dateRange = DateRangeBuilder.getDateRange(startDate, endDate);

        // compute an individual chart for each entity received
        for (Properties entityRequest : entityArray) {
            final String entityId = entityRequest.getString("dataId", null);
            final String entityContextId = entityRequest.getString("contextId", null);

            List<String> entityIds = new ArrayList<String>();

            InfluentId id = InfluentId.fromInfluentId(entityId);

            if (id.getIdClass() == InfluentId.CLUSTER) {
                String nId = id.getNativeId();
                if (nId.startsWith("|")) {
                    for (String sId : nId.split("\\|")) {
                        if (!sId.isEmpty()) {
                            entityIds.add(sId);
                        }
                    }
                } else {
                    entityIds.add(entityId);
                }
            } else {
                entityIds.add(entityId);
            }
            ChartHash hash = new ChartHash(entityIds, startDate, endDate, focusIds, focusMaxDebitCredit,
                    numBuckets, width, height, entityContextId, focusContextId, sessionId, contextCache);

            ChartData chartData = chartBuilder.computeChart(dateRange, entityIds, focusIds, entityContextId,
                    focusContextId, sessionId, numBuckets, hash);

            infoList.put(entityId, //memberIds.get(0), 
                    chartData);
        }

        return infoList;

    } catch (AvroRemoteException e) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "Data access error.", e);
    } catch (JSONException je) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "JSON parse error.", je);
    }
}

From source file:org.joda.example.time.DateTimePerformance.java

License:Apache License

private void checkJodaSetYear() {
    int COUNT = COUNT_FAST;
    // Is it fair to use only MutableDateTime here? You decide.
    MutableDateTime dt = new MutableDateTime(GJChronology.getInstance());
    for (int i = 0; i < AVERAGE; i++) {
        start("Joda", "setYear");
        for (int j = 0; j < COUNT; j++) {
            dt.setYear(1972);
            if (dt == null) {
                System.out.println("Anti optimise");
            }//w w w  .j a va  2  s. c o  m
        }
        end(COUNT);
    }
}

From source file:org.joda.example.time.DateTimePerformance.java

License:Apache License

private void checkJISOSetYear() {
    int COUNT = COUNT_FAST;
    // Is it fair to use only MutableDateTime here? You decide.
    MutableDateTime dt = new MutableDateTime();
    for (int i = 0; i < AVERAGE; i++) {
        start("JISO", "setYear");
        for (int j = 0; j < COUNT; j++) {
            dt.setYear(1972);
            if (dt == null) {
                System.out.println("Anti optimise");
            }//from w w  w  .ja  v  a 2 s  .  c  o  m
        }
        end(COUNT);
    }
}

From source file:org.talend.components.netsuite.avro.converter.XMLGregorianCalendarToDateTimeConverter.java

License:Open Source License

@Override
public Object convertToAvro(XMLGregorianCalendar xts) {
    if (xts == null) {
        return null;
    }//from   ww  w.j av a2s . c  o  m

    MutableDateTime dateTime = new MutableDateTime();
    try {
        dateTime.setYear(xts.getYear());
        dateTime.setMonthOfYear(xts.getMonth());
        dateTime.setDayOfMonth(xts.getDay());
        dateTime.setHourOfDay(xts.getHour());
        dateTime.setMinuteOfHour(xts.getMinute());
        dateTime.setSecondOfMinute(xts.getSecond());
        dateTime.setMillisOfSecond(xts.getMillisecond());

        DateTimeZone tz = DateTimeZone.forOffsetMillis(xts.getTimezone() * 60000);
        if (tz != null) {
            dateTime.setZoneRetainFields(tz);
        }

        return Long.valueOf(dateTime.getMillis());
    } catch (IllegalArgumentException e) {
        throw new ComponentException(e);
    }
}

From source file:y.elf.DbReader.java

License:Open Source License

public static List<ElfValue> readOldCentralineFile(String filename, int defaultvalue, int fieldnn) {
    final String separatorDate = "/";
    final String separatorTime = ":";
    final int UNUSED = Integer.MIN_VALUE;

    List<ElfValue> list = new ArrayList<ElfValue>();

    BufferedReader reader = null;

    try {/* w ww. j a  va 2 s . c o  m*/
        reader = new BufferedReader(new FileReader(filename));
        String line;
        MutableDateTime lasttime = new MutableDateTime(0, 1, 1, 0, 0, 0, 0);
        final MutableDateTime invalidtime = new MutableDateTime(0, 1, 1, 0, 0, 0, 0);

        while ((line = reader.readLine()) != null) {
            if (line.isEmpty())
                continue;

            try {
                boolean valid = true;
                final String[] parts = tokenize(line);
                int value = UNUSED;
                int maxvalue = 0;

                for (int i = 0; i < parts.length; i++) {
                    if (parts[i].equals("*"))
                        valid = false;
                    else if (parts[i].contains(separatorDate)) {
                        final String[] date = parts[i].split(separatorDate);

                        lasttime.setDayOfMonth(Integer.parseInt(date[0]));
                        lasttime.setMonthOfYear(Integer.parseInt(date[1]));
                        lasttime.setYear(Integer.parseInt(date[2]));
                    } else if (parts[i].contains(separatorTime)) {
                        final String[] hour = parts[i].split(separatorTime);
                        lasttime.setHourOfDay(Integer.parseInt(hour[0]));
                        lasttime.setMinuteOfHour(Integer.parseInt(hour[1]));
                    } else if (value == UNUSED)
                        value = translateValue(parts[i], defaultvalue);
                    else
                        maxvalue = translateValue(parts[i], defaultvalue);
                }

                if (lasttime.equals(invalidtime)) // invalid line (header)
                    continue;

                final DateTime currentdatetime = lasttime.toDateTime();

                if (value > 0) {
                    if (fieldnn == 2)
                        list.add(new ElfValue(currentdatetime, maxvalue, value, valid));
                    else
                        list.add(new ElfValue(currentdatetime, value, maxvalue, valid));
                } else
                    list.add(new ElfValue(currentdatetime, 0, 0, false));
            } catch (Exception e) {
                continue;
            } // on error, skip line
        }
    } catch (Exception e) {
        //         System.out.println(e.getMessage());
    } finally {
        if (reader != null)
            try {
                reader.close();
            } catch (IOException e) {
            }
    }

    return list;
}