Package com.vaadin.tests.components.calendar

Source Code of com.vaadin.tests.components.calendar.CalendarRescheduleEvent

/*
* Copyright 2000-2014 Vaadin Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.vaadin.tests.components.calendar;

import java.util.Date;
import java.util.List;

import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Calendar;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.components.calendar.event.BasicEvent;
import com.vaadin.ui.components.calendar.event.BasicEventProvider;
import com.vaadin.ui.components.calendar.event.CalendarEvent;
import com.vaadin.ui.components.calendar.event.CalendarEventProvider.EventSetChangeEvent;
import com.vaadin.ui.components.calendar.event.CalendarEventProvider.EventSetChangeListener;

/**
* Test UI to check ability to reschedule events unlimited times.
*
* @author Vaadin Ltd
*/
public class CalendarRescheduleEvent extends AbstractTestUI {

    @Override
    protected void setup(VaadinRequest request) {
        final Calendar calendar = new Calendar("Test calendar");
        final java.util.Calendar cal = getAdjustedCalendar(1);

        Date from = cal.getTime();

        cal.add(java.util.Calendar.HOUR, 1);
        Date to = cal.getTime();

        final BasicEvent basicEvent = new BasicEvent("event", "description",
                from, to);

        HorizontalLayout info = new HorizontalLayout();
        info.setSpacing(true);
        info.setMargin(true);
        addComponent(info);
        final Label startLbl = new Label();
        startLbl.addStyleName("start");
        info.addComponent(startLbl);

        final Label endLbl = new Label();
        endLbl.addStyleName("end");
        info.addComponent(endLbl);

        BasicEventProvider provider = new BasicEventProvider();
        provider.addEvent(basicEvent);
        calendar.setEventProvider(provider);
        provider.addEventSetChangeListener(new EventSetChangeListener() {

            @Override
            public void eventSetChange(EventSetChangeEvent event) {
                List<CalendarEvent> events = event.getProvider().getEvents(
                        new Date(0), new Date(Long.MAX_VALUE));
                CalendarEvent calEvent = events.get(0);
                Date startEvent = calEvent.getStart();
                Date endEvent = calEvent.getEnd();

                startLbl.setValue(String.valueOf(startEvent.getTime()));
                endLbl.setValue(String.valueOf(endEvent.getTime()));
            }
        });

        addComponent(calendar);
    }

    @Override
    protected String getTestDescription() {
        return "It should be possible to reschedule events unlimited times.";
    }

    @Override
    protected Integer getTicketNumber() {
        return 13233;
    }

    private java.util.Calendar getAdjustedCalendar(int hour) {
        final java.util.Calendar cal = java.util.Calendar.getInstance();

        cal.set(java.util.Calendar.HOUR_OF_DAY, hour);
        cal.set(java.util.Calendar.MINUTE, 0);
        cal.set(java.util.Calendar.SECOND, 0);
        cal.set(java.util.Calendar.MILLISECOND, 0);
        return cal;
    }

}
TOP

Related Classes of com.vaadin.tests.components.calendar.CalendarRescheduleEvent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.