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)); }
/** * 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; }
/** * 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 } }