/* This file belongs to the Servoy development and deployment environment, Copyright (C) 1997-2010 Servoy BV This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program; if not, see http://www.gnu.org/licenses or write to the Free Software Foundation,Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 */ package com.servoy.j2db.server.headlessclient; import java.text.MessageFormat; import java.util.ResourceBundle; import org.apache.wicket.Session; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import com.servoy.j2db.Messages; import com.servoy.j2db.util.Utils; /** * A special {@link WebPage} that is thrown when a unsupported browser is encountered. * * @author jcompagner */ public class UnsupportedBrowserPage extends WebPage { @SuppressWarnings("nls") public UnsupportedBrowserPage(String browserString) { String message = "Unsupported browser encountered '" + browserString + "', please upgrade"; if (Session.exists()) { WebClientSession session = (WebClientSession)Session.get(); WebClient client = session.getWebClient(); if (client != null) { message = client.getI18NMessage("servoy.client.message.unsupportedBrowser", new Object[] { browserString }); } else { // client is not there yet. fall back to only use the bundled messages.. // this happens probably all the time, because the client info is get early in the solution loader. ResourceBundle resources = ResourceBundle.getBundle(Messages.BUNDLE_NAME, session.getLocale()); if (resources != null) { String rbMessage = resources.getString("servoy.client.message.unsupportedBrowser"); if (rbMessage != null) { rbMessage = Utils.stringReplace(rbMessage, "'", "''"); //$NON-NLS-1$ //$NON-NLS-2$ MessageFormat mf = new MessageFormat(rbMessage); mf.setLocale(session.getLocale()); message = mf.format(new Object[] { browserString }); } } } } add(new Label("title", message)); add(new Label("message", message)); } }