@@ -0,0 +1,1698 @@
+/*%0A * Copyright 2015 Ryan Gilera.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage com.github.daytron.revworks.ui.dashboard;%0A%0Aimport com.vaadin.navigator.View;%0Aimport com.vaadin.navigator.ViewChangeListener;%0Aimport com.vaadin.ui.Label;%0Aimport com.vaadin.ui.VerticalLayout;%0Aimport com.vaadin.ui.themes.Reindeer;%0A%0A/**%0A * The screen when a user tried to navigate to a view that does not exist.%0A *%0A * @author Ryan Gilera%0A */%0Apublic class ErrorView extends VerticalLayout implements View %7B%0A%0A    private final Label errorLabel;%0A%0A    public ErrorView() %7B%0A        setMargin(true);%0A        setSpacing(true);%0A%0A        Label headerErrorLabel = new Label(%22The view could not be found!%22);%0A        headerErrorLabel.addStyleName(Reindeer.LABEL_H1);%0A%0A        addComponent(headerErrorLabel);%0A%0A        this.errorLabel = new Label();%0A        addComponent(this.errorLabel);%0A    %7D%0A%0A    @Override%0A    public void enter(ViewChangeListener.ViewChangeEvent event) %7B%0A        String message = String.format(%0A                %22You attempted to navigate to a view ('%25s') %22%0A                + %22that does not exist.%22,%0A                event.getViewName());%0A%0A        this.errorLabel.setValue(message);%0A    %7D%0A%0A%7D%0A

Add an errow view for navigator