001 /* 002 * Copyright 2002-2004 the original author or authors. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 005 * use this file except in compliance with the License. You may obtain a copy of 006 * the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 013 * License for the specific language governing permissions and limitations under 014 * the License. 015 */ 016 package org.springframework.richclient.samples.showcase; 017 018 import org.apache.commons.logging.Log; 019 import org.apache.commons.logging.LogFactory; 020 import org.springframework.richclient.application.ApplicationLauncher; 021 022 /** 023 * This is an archetype application using the Spring Richclient platform. 024 * <p> 025 * The Spring Rich platform relies on the <a href="http://www.springframework.org/">Spring</a> 026 * project to manage the application context with all the associated benefits it offers. 027 * <p> 028 * A start at the Spring Rich Client documentation can be found on the <a 029 * href="http://opensource.atlassian.com/confluence/spring/display/RCP/Home">wiki</a>. 030 * </p> 031 * 032 * @author Larry Streepy 033 * @see The <a 034 * href="http://www.springframework.org/">Spring project</a> 035 * @see The <a 036 * href="http://opensource.atlassian.com/confluence/spring/display/RCP/Home">Spring 037 * Rich Wiki</a> 038 */ 039 public class ShowcaseMain { 040 041 private static final Log logger = LogFactory.getLog(ShowcaseMain.class); 042 043 /** 044 * Main routine for the simple sample application. 045 * 046 * @param args 047 */ 048 public static void main( String[] args ) { 049 logger.info("Showcase application starting up"); 050 051 // In order to launch the platform, we have to construct an 052 // application context that defines the beans (services) and 053 // wiring. This is pretty much straight Spring. 054 // 055 // Part of this configuration will indicate the initial page to be 056 // displayed. 057 058 String rootContextDirectoryClassPath = "/org/springframework/richclient/samples/showcase/ctx"; 059 060 // The startup context defines elements that should be available 061 // quickly such as a splash screen image. 062 063 String startupContextPath = rootContextDirectoryClassPath + "/richclient-startup-context.xml"; 064 065 String richclientApplicationContextPath = rootContextDirectoryClassPath 066 + "/richclient-application-context.xml"; 067 068 // The ApplicationLauncher is responsible for loading the contexts, 069 // presenting the splash screen, initializing the Application 070 // singleton instance, creating the application window to display 071 // the initial page. 072 try { 073 new ApplicationLauncher(startupContextPath, new String[] { richclientApplicationContextPath }); 074 } catch (RuntimeException e) { 075 logger.error("RuntimeException during startup", e); 076 } 077 } 078 079 }