Exemplo n.º 1
0
  private static void addRfc3164TimeStamp(StringBuilder sbr, SyslogMessage message) {
    // SDF isn't going to help much here.

    Calendar cal = message.getTimestamp();

    String firstLetter = MONTHS.values()[cal.get(Calendar.MONTH)].toString().substring(0, 1); // Get
    // first
    // letter
    String remainder = MONTHS.values()[cal.get(Calendar.MONTH)].toString().substring(1); // Get
    // remainder
    // of
    // word.
    String capitalized = firstLetter.toUpperCase() + remainder.toLowerCase();

    sbr.append(capitalized);
    sbr.append(" ");

    if (cal.get(Calendar.DAY_OF_MONTH) < 10) {
      sbr.append(" ").append(cal.get(Calendar.DAY_OF_MONTH));
    } else {
      sbr.append(cal.get(Calendar.DAY_OF_MONTH));
    }

    sbr.append(" ");

    if (cal.get(Calendar.HOUR_OF_DAY) < 10) {
      sbr.append("0").append(cal.get(Calendar.HOUR_OF_DAY));
    } else {
      sbr.append(cal.get(Calendar.HOUR_OF_DAY));
    }
    sbr.append(":");

    if (cal.get(Calendar.MINUTE) < 10) {
      sbr.append("0").append(cal.get(Calendar.MINUTE));
    } else {
      sbr.append(cal.get(Calendar.MINUTE));
    }
    sbr.append(":");

    if (cal.get(Calendar.SECOND) < 10) {
      sbr.append("0").append(cal.get(Calendar.SECOND));
    } else {
      sbr.append(cal.get(Calendar.SECOND));
    }
  }
 @Test
 public void monthsBetween() {
   assertThat(
       MONTHS.between(
           PlainTimestamp.of(2012, 1, 31, 12, 45), PlainTimestamp.of(2012, 2, 29, 12, 45)),
       is(0L));
   assertThat(
       MONTHS.between(
           PlainTimestamp.of(2012, 1, 31, 12, 45), PlainTimestamp.of(2012, 2, 29, 12, 44, 59)),
       is(0L));
   assertThat(
       MONTHS.between(
           PlainTimestamp.of(2012, 1, 29, 12, 45), PlainTimestamp.of(2012, 2, 29, 12, 45)),
       is(1L));
   assertThat(
       MONTHS.between(
           PlainTimestamp.of(2012, 1, 29, 12, 45), PlainTimestamp.of(2012, 2, 29, 12, 44, 59)),
       is(0L));
   assertThat(
       PlainTimestamp.of(2012, 1, 29, 12, 45)
           .until(PlainTimestamp.of(2012, 3, 28, 12, 44, 59), MONTHS.withCarryOver()),
       is(1L));
 }
Exemplo n.º 3
0
  /**
   * This is the constructor which initializes the instance variables and the components. Also at
   * last it will display the initial screen.
   *
   * @param m is the model and HAS-A relationship gets constructed here.
   */
  public MonthlyView(Model m) {
    // CHANGING THE FONT AND SIZE
    java.io.InputStream is = DailyView.class.getResourceAsStream("Raleway-Regular.ttf");
    try {
      Font font = Font.createFont(Font.TRUETYPE_FONT, is);
      railWay = font.deriveFont(Font.PLAIN, 12);
      railWayMed = font.deriveFont(Font.PLAIN, 20);
      railWayBigBold = font.deriveFont(Font.BOLD, 26);
      railWayHuge = font.deriveFont(Font.PLAIN, 100);

    } catch (FontFormatException e1) {
      e1.printStackTrace();
    } catch (IOException e1) {
      e1.printStackTrace();
    }

    // MAIN MONTH VIEW PANEL
    // --------------------------------------------------------------------
    this.setLayout(new FlowLayout());
    monthViewPanel = new JPanel();
    monthViewPanel.setBackground(Color.WHITE);
    model = m;

    ghettoCurrDate =
        new int[] {
          MONTHS.valueOf(model.getCurrentMonth() + "").ordinal(),
          model.getCurrentDay(),
          model.getCurrentYear()
        }; // {month, day,
    // year}
    // (Derick)

    currDate = model.getCurrentDate();
    temp = new GregorianCalendar();
    temp.set(currDate.get(Calendar.YEAR), currDate.get(Calendar.MONTH), 1);
    firstdayoftheweek = temp.get(Calendar.DAY_OF_WEEK);
    daysInMonth = currDate.getActualMaximum(Calendar.DATE);
    dayButton = new JButton[31];

    // UPPER HALF PANEL
    // --------------------------------------------------------------------------
    JPanel upperPanel = new JPanel();
    upperPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
    upperPanel.setBackground(Color.WHITE);

    // CURRENT MONTH & YEAR PANEL

    dateLabelOfMonthPanel.setBackground(Color.WHITE);
    // JLabel dateLabelOfMonth = new JLabel("");
    // JLabel dateLabelOfYear = new JLabel("");
    dateLabelOfMonth.setText(model.getCurrentMonth() + " ");
    dateLabelOfYear.setText(Integer.toString(model.getCurrentYear()));
    dateLabelOfMonth.setFont(railWayHuge);
    dateLabelOfYear.setFont(railWayHuge);
    dateLabelOfMonth.setForeground(Color.BLACK);
    dateLabelOfYear.setForeground(babyTeal);
    dateLabelOfMonthPanel.add(dateLabelOfMonth);
    dateLabelOfMonthPanel.add(dateLabelOfYear);

    upperPanel.add(dateLabelOfMonthPanel, BorderLayout.CENTER);

    // PREVIOUS & NEXT BUTTON PANEL
    // JPanel previousNextButtonPanel = new JPanel(new GridLayout(1, 2));
    // JPanel previousButtonLeftPanel = new JPanel();
    // JButton previousButton = new JButton();
    // try
    // {
    // Image img = ImageIO.read(getClass().getResource("pre1.png"));
    // previousButton.setIcon(new ImageIcon(img));
    // Image newimg = img.getScaledInstance(50, 50,
    // java.awt.Image.SCALE_SMOOTH);
    // previousButton.setIcon(new ImageIcon(newimg));
    // } catch (IOException ex)
    // {
    // }
    // previousButton.setOpaque(false);
    // previousButton.setBorderPainted(false);
    // previousButton.addActionListener(new ActionListener()
    // {
    // public void actionPerformed(ActionEvent e)
    // {
    // model.prevMonth();;
    // }
    // });
    // dateLabelOfMonthPanel.add(previousButton);
    // previousButtonLeftPanel.add(previousButton);
    // previousNextButtonPanel.add(previousButtonLeftPanel, new
    // FlowLayout(FlowLayout.LEFT));
    // upperPanel.add(previousNextButtonPanel);
    //
    // // Creates the next button
    // JButton nextButton = new JButton();
    // try
    // {
    // Image img = ImageIO.read(getClass().getResource("next1.png"));
    // Image newimg = img.getScaledInstance(50, 50,
    // java.awt.Image.SCALE_SMOOTH);
    // nextButton.setIcon(new ImageIcon(newimg));
    // } catch (IOException ex)
    // {
    // }
    // nextButton.setOpaque(false);
    // nextButton.setBorderPainted(false);
    // nextButton.setPreferredSize(new Dimension(50, 50));
    // nextButton.addActionListener(new ActionListener()
    // {
    // public void actionPerformed(ActionEvent e)
    // {
    // model.nextDay();
    // }
    // });

    // JPanel daysOftheWeekPanel = new JPanel();
    JLabel daysOftheWeek = new JLabel("");
    daysOftheWeekPanel.setLayout(new GridLayout());
    daysOftheWeekPanel.setBackground(babyTeal);

    String[] days = {"SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"};
    for (int i = 0; i < days.length; i++) {
      final String label = days[i];
      JLabel dayLabel = new JLabel(label);
      dayLabel.setForeground(Color.BLACK);
      dayLabel.setBackground(lightBlue);
      dayLabel.setHorizontalAlignment(SwingConstants.CENTER);
      daysOftheWeekPanel.add(dayLabel);

      dayLabel.setFont(railWayMed);
      daysOftheWeekPanel.add(dayLabel);
    }
    dayDayPanel.setLayout(new GridLayout(0, 7));
    for (int i = 1; i < firstdayoftheweek; i++) {
      JLabel dayLabell = new JLabel("");
      dayDayPanel.add(dayLabell);
    }
    for (int i = 0; i < dayButton.length; i++) {
      final int counter = i + 1;

      GregorianCalendar foo = new GregorianCalendar();
      foo.set(model.getCurrentYear(), model.getCurrentDate().get(Calendar.MONTH), i + 1);
      String star = "";
      if (model.findEvent(foo) == true) star = " *";
      dayButton[i] = new JButton(Integer.toString(i + 1) + star);
      dayButton[i].setOpaque(true);
      dayButton[i].setBorder(dayBorder);
      dayButton[i].setBackground(lightBlue);
      dayButton[i].setPreferredSize(new Dimension(205, 90));
      dayButton[i].addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              daynumber = counter;
              model.changeDay(daynumber);
              DailyView.createAndShowDailyViewGUI(model);
            }
          });
    }
    for (int i = 0; i <= daysInMonth; i++) {
      dayDayPanel.add(dayButton[i]);
      dayButton[i].setPreferredSize(new Dimension(205, 90));
      dayButton[i].setBackground(Color.WHITE);
      dayButton[i].setHorizontalAlignment(SwingConstants.LEFT);
      dayButton[i].setVerticalAlignment(SwingConstants.NORTH);
      // set the current date to a certain color
      if (i + 1 == model.getCurrentDay()) {
        dayButton[i].setBackground(lightBlue);
      }
    }
    dayViewPanel = new JPanel();
    dayViewPanel.setLayout(new BorderLayout());
    dayLabel = new JLabel();
    dayViewPanel.setBackground(Color.WHITE);

    dayLabel.setText(
        model.getCurrentDayoftheWeek()
            + " "
            + (model.getCurrentDate().get(Calendar.MONTH) + 1)
            + "/"
            + model.getCurrentDay());
    // JTextArea dayViewArea = new JTextArea(20,50);

    ArrayList<Event> listofE = new ArrayList<Event>();
    listofE = model.getEventsOfToday();
    if (listofE != null) {
      Collections.sort(listofE);
    }
    String s = "";

    for (int i = 0; i <= 24; i++) {
      if (i < 10) {
        s += ("0" + i);
        s += ("-------\n");

        if (listofE != null) {
          for (Event ev : listofE) {
            if (ev.getStartingTime().get(GregorianCalendar.HOUR_OF_DAY) == i) {
              s += ev.getTitle();
              s += " at " + ev.getStartingTime().get(Calendar.HOUR) + ":";
              if (ev.getStartingTime().get(Calendar.MINUTE) < 10) {
                s += "0" + ev.getStartingTime().get(Calendar.MINUTE);
              } else s += ev.getStartingTime().get(Calendar.MINUTE);
              if (ev.getStartingTime().get(Calendar.AM_PM) == 0) {
                s += "AM";
              } else s += "PM";

              s += " to " + ev.getEndingTime().get(Calendar.HOUR) + ":";
              if (ev.getEndingTime().get(Calendar.MINUTE) < 10) {
                s += "0" + ev.getEndingTime().get(Calendar.MINUTE);
              } else s += ev.getEndingTime().get(Calendar.MINUTE);
              if (ev.getEndingTime().get(Calendar.AM_PM) == 0) {
                s += "AM";
              } else s += "PM";
            }
          }
        }

        s += "\n\n";
      } else {
        s += i;
        s += ("-------\n");

        if (listofE != null) {
          for (Event ev : listofE) {
            if (ev.getStartingTime().get(GregorianCalendar.HOUR_OF_DAY) == i) {
              s += ev.getTitle();
              s += " at " + ev.getStartingTime().get(Calendar.HOUR) + ":";
              if (ev.getStartingTime().get(Calendar.MINUTE) < 10) {
                s += "0" + ev.getStartingTime().get(Calendar.MINUTE);
              } else s += ev.getStartingTime().get(Calendar.MINUTE);
              if (ev.getStartingTime().get(Calendar.AM_PM) == 0) {
                s += "AM";
              } else s += "PM";

              s += " to " + ev.getEndingTime().get(Calendar.HOUR) + ":";
              if (ev.getEndingTime().get(Calendar.MINUTE) < 10) {
                s += "0" + ev.getEndingTime().get(Calendar.MINUTE);
              } else s += ev.getEndingTime().get(Calendar.MINUTE);
              if (ev.getEndingTime().get(Calendar.AM_PM) == 0) {
                s += "AM";
              } else s += "PM";
            }
          }
        }
        s += "\n\n";
      }
    }
    /*
     * dayViewArea.setText(s); dayViewScrollPane = new
     * JScrollPane(dayViewArea); dayViewPanel.add(dayLabel,
     * BorderLayout.NORTH); dayViewPanel.add(dayViewScrollPane,
     * BorderLayout.CENTER);
     */

    monthViewPanel.setLayout(new BoxLayout(monthViewPanel, BoxLayout.Y_AXIS));
    monthViewPanel.add(dateLabelOfMonthPanel);
    monthViewPanel.add(daysOftheWeekPanel);
    monthViewPanel.add(dayDayPanel);
    monthViewPanel.setAlignmentX(Component.CENTER_ALIGNMENT);
    dayDayPanel.setBackground(Color.WHITE);

    add(monthViewPanel);
  }
  @Override
  public SwaptionSecurity createSecurity() {
    final int optionLength = getRandom(OPTION_LENGTH);
    ZonedDateTime expiry = ZonedDateTime.now().plusMonths(optionLength);
    final SwapSecurity underlying = createUnderlying(expiry.plusMonths(2), expiry);
    final Currency currency = FinancialSecurityUtils.getCurrency(underlying);
    expiry = nextWorkingDay(expiry, currency);
    final boolean isPayer = getRandom().nextBoolean();
    final boolean isLong = getRandom().nextBoolean();
    final boolean isCashSettled = getRandom().nextBoolean();
    final ZonedDateTime settlementDate = nextWorkingDay(expiry.plusDays(2), currency);
    final Double notional =
        underlying
            .getPayLeg()
            .getNotional()
            .accept(
                new NotionalVisitor<Double>() {

                  @Override
                  public Double visitCommodityNotional(final CommodityNotional notional) {
                    return null;
                  }

                  @Override
                  public Double visitInterestRateNotional(final InterestRateNotional notional) {
                    return notional.getAmount();
                  }

                  @Override
                  public Double visitSecurityNotional(final SecurityNotional notional) {
                    return null;
                  }

                  @Override
                  public Double visitVarianceSwapNotional(final VarianceSwapNotional notional) {
                    return notional.getAmount();
                  }
                });
    if (notional == null) {
      return null;
    }
    Double rate = getRate(underlying.getPayLeg());
    if (rate == null) {
      rate = getRate(underlying.getReceiveLeg());
      if (rate == null) {
        return null;
      }
    }
    final SwaptionSecurity security =
        new SwaptionSecurity(
            isPayer,
            getSecurityPersister().storeSecurity(underlying).iterator().next(),
            isLong,
            new Expiry(expiry),
            isCashSettled,
            currency,
            notional,
            new EuropeanExerciseType(),
            settlementDate);
    security.setName(
        createName(
            currency,
            optionLength,
            (int) MONTHS.between(underlying.getEffectiveDate(), underlying.getMaturityDate()),
            notional,
            rate));
    return security;
  }
Exemplo n.º 5
0
/**
 * GUICalendar Controller of MVC Pattern controlls interations between the model(My Calendar) and
 * viewers(MonthPanel and DayPanel)
 *
 * @author Sung Chi
 */
public class GUICalendar extends JFrame implements MouseListener, ChangeListener, ActionListener {

  private JPanel contentPane;
  private DayPanel dayPanel;
  private MonthPanel monthPanel;
  private Calendar initCalendar;
  private static EventManager eventManager;
  private Label label;
  private MONTHS[] arrayOfMonths = MONTHS.values();
  DAYS[] arrayOfDays = DAYS.values();
  MONTHS Month;
  int Date;
  int Year;

  /** Create the frame. */
  public GUICalendar() {
    setResizable(false);
    eventManager = new EventManager();

    this.initCalendar = eventManager.getCalendar();
    eventManager.addChangeListener(this);

    // load event.txt by default.
    try {
      load();
    } catch (IOException e1) {
      e1.printStackTrace();
    }
    // eventManager.eventList();

    Month = arrayOfMonths[initCalendar.get(Calendar.MONTH)];
    Date = initCalendar.get(Calendar.DAY_OF_MONTH);
    Year = initCalendar.get(Calendar.YEAR);

    // puts dates of this month into the array
    GregorianCalendar temp =
        new GregorianCalendar(initCalendar.get(Calendar.YEAR), initCalendar.get(Calendar.MONTH), 1);
    int[] arr = new int[42];

    int firstDayOfWeek = temp.get(Calendar.DAY_OF_WEEK) - 1;
    int lastDayOfMonth = temp.getActualMaximum(Calendar.DAY_OF_MONTH);
    for (int i = 0; i < arr.length; i++) {
      arr[i] = i + 1 + (firstDayOfWeek * -1);
    }

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 650, 320);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout(0, 0));
    setContentPane(contentPane);

    JPanel panel = new JPanel();
    panel.setBackground(new Color(255, 255, 255));
    contentPane.add(panel, BorderLayout.NORTH);

    JButton button = new JButton("<");
    button.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            eventManager.setCalendar(-1);
            // System.out.print(eventManager.getCalendar().get(Calendar.DAY_OF_MONTH));
          }
        });
    panel.add(button);

    JButton button_1 = new JButton(">");
    button_1.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            eventManager.setCalendar(1);
            // System.out.print(eventManager.getCalendar().get(Calendar.DAY_OF_MONTH));
          }
        });
    panel.add(button_1);

    JButton btnQuit = new JButton("QUIT");
    btnQuit.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            try {
              quit();
            } catch (IOException e) {
              e.printStackTrace();
            }
          }
        });
    btnQuit.setFont(new Font("SansSerif", Font.PLAIN, 11));
    panel.add(btnQuit);

    JPanel panel_1 = new JPanel();
    panel_1.setBackground(new Color(255, 255, 255));
    contentPane.add(panel_1, BorderLayout.WEST);
    panel_1.setLayout(new BorderLayout(0, 0));

    JButton btnNewButton = new JButton("CREATE");
    btnNewButton.setBorder(UIManager.getBorder("Button.border"));
    btnNewButton.setPreferredSize(new Dimension(71, 30));
    btnNewButton.setFont(new Font("SansSerif", Font.PLAIN, 11));
    btnNewButton.addMouseListener(
        new MouseAdapter() {
          @Override
          public void mousePressed(MouseEvent e) {
            CreateDialog dialog =
                new CreateDialog(eventManager.getCalendar(), dayPanel, eventManager);
            dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
            dialog.setVisible(true);
          }
        });
    btnNewButton.setForeground(new Color(255, 255, 255));
    btnNewButton.setBackground(new Color(220, 20, 60));
    panel_1.add(btnNewButton, BorderLayout.NORTH);

    label = new Label(Month + " " + Year);
    label.setAlignment(Label.CENTER);
    panel_1.add(label, BorderLayout.CENTER);

    monthPanel = new MonthPanel(initCalendar, eventManager);
    panel_1.add(monthPanel, BorderLayout.SOUTH);

    String date =
        String.format("%02d", initCalendar.get(Calendar.MONTH) + 1)
            + "/"
            + String.format("%02d", initCalendar.get(Calendar.DAY_OF_MONTH))
            + "/"
            + initCalendar.get(Calendar.YEAR);
    ArrayList<String> eventList = eventManager.eventPrinter(date);
    dayPanel = new DayPanel(initCalendar, eventList);
    dayPanel.setBackground(new Color(255, 255, 255));
    dayPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));
    contentPane.add(dayPanel, BorderLayout.CENTER);
    setVisible(true);
  }

  public void load() throws IOException {
    eventManager.loadCalendar();
  }

  /**
   * Initiate quiting service
   *
   * @throws IOException
   */
  public void quit() throws IOException {
    eventManager.updateFile();
    System.out.println("Saving Data...events.txt");
    setVisible(false);
    dispose();
  }

  @Override
  public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub

  }

  @Override
  public void stateChanged(ChangeEvent event) {
    monthPanel.setData(eventManager.getCalendar());
    label.setText(
        arrayOfMonths[eventManager.getCalendar().get(Calendar.MONTH)]
            + " "
            + eventManager.getCalendar().get(Calendar.YEAR));

    String date =
        String.format("%02d", eventManager.getCalendar().get(Calendar.MONTH) + 1)
            + "/"
            + String.format("%02d", eventManager.getCalendar().get(Calendar.DAY_OF_MONTH))
            + "/"
            + eventManager.getCalendar().get(Calendar.YEAR);
    ArrayList<String> eventList = eventManager.eventPrinter(date);
    dayPanel.setData(eventManager.getCalendar(), eventList);
  }

  @Override
  public void mouseClicked(MouseEvent arg0) {
    // TODO Auto-generated method stub

  }

  @Override
  public void mouseEntered(MouseEvent arg0) {
    // TODO Auto-generated method stub

  }

  @Override
  public void mouseExited(MouseEvent arg0) {
    // TODO Auto-generated method stub

  }

  @Override
  public void mousePressed(MouseEvent arg0) {
    // TODO Auto-generated method stub

  }

  @Override
  public void mouseReleased(MouseEvent arg0) {
    // TODO Auto-generated method stub

  }
}