/*******************************************************************************
* Copyright (c) 2012-2013 RelationWare, Benno Luthiger
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* RelationWare, Benno Luthiger
******************************************************************************/
package org.ripla.web.internal.views;
import org.ripla.exceptions.NoControllerFoundException;
import org.ripla.interfaces.IMessages;
import org.ripla.web.Activator;
import com.vaadin.shared.ui.label.ContentMode;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.Label;
/**
* Default implementation of a view component.<br/>
* Subclasses may extend.
*
* @author Luthiger
*/
@SuppressWarnings("serial")
public class DefaultRiplaView extends CustomComponent {
/**
* Creates view component displaying an exceptions message.
*
* @param inExc
* Exception
*/
public DefaultRiplaView(final Exception inExc) {
super();
final IMessages lMessages = Activator.getMessages();
String lMessage = inExc.getMessage() == null ? inExc.toString() : inExc
.getMessage();
if (inExc instanceof NoControllerFoundException) {
lMessage = lMessages.getMessage("errmsg.error.contactAdmin"); //$NON-NLS-1$
}
init(String.format(
"<span style=\"color:red;\"><strong>%s:</strong> %s</span>", //$NON-NLS-1$
lMessages.getMessage("label.error"), lMessage)); //$NON-NLS-1$
}
/**
* Creates view component displaying a simple message.
*
* @param inMessage
* String
*/
public DefaultRiplaView(final String inMessage) {
super();
init(String.format("<span>%s</span>", inMessage)); //$NON-NLS-1$
}
private void init(final String inMessage) {
setSizeFull();
final Label lLabel = new Label(inMessage, ContentMode.HTML);
setCompositionRoot(lLabel);
}
}