@@ -0,0 +1,2037 @@
+/*%0A * Tapestry Web Application Framework%0A * Copyright (c) 2000, 2001 by Howard Ship and Primix%0A *%0A * Primix%0A * 311 Arsenal Street%0A * Watertown, MA 02472%0A * http://www.primix.com%0A * mailto:hship@primix.com%0A * %0A * This library is free software.%0A * %0A * You may redistribute it and/or modify it under the terms of the GNU%0A * Lesser General Public License as published by the Free Software Foundation.%0A *%0A * Version 2.1 of the license should be included with this distribution in%0A * the file LICENSE, as well as License.html. If the license is not%0A * included with this distribution, you may find a copy at the FSF web%0A * site at 'www.gnu.org' or 'www.fsf.org', or you may write to the%0A * Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.%0A *%0A * This library is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU%0A * Lesser General Public License for more details.%0A *%0A */%0A%0Apackage com.primix.vlib;%0A%0Aimport com.primix.tapestry.*;%0Aimport com.primix.vlib.pages.*;%0Aimport com.primix.tapestry.callback.*;%0A%0A/**%0A *  Base page for any pages restricted to administrators.%0A *%0A *  @author Howard Ship%0A *  @version $Id$%0A */%0A%0A%0Apublic class AdminPage%0A%09extends Protected%0A%7B%0A%09private String message;%0A%09%0A%09public void reset()%0A%09%7B%0A%09%09message = null;%0A%09%09%0A%09%09super.reset();%0A%09%7D%0A%09%0A%09public String getMessage()%0A%09%7B%0A%09%09return message;%0A%09%7D%0A%09%0A%09public void setMessage(String value)%0A%09%7B%0A%09%09message = value;%0A%09%7D%0A%09%0A%09public void validate(IRequestCycle cycle)%0A%09%09throws RequestCycleException%0A%09%7B%0A%09%09Visit visit = (Visit)engine.getVisit();%0A%09%09%0A%09%09if (visit == null %7C%7C !visit.isUserLoggedIn())%0A%09%09%7B%0A%09%09%09Login login = (Login)cycle.getPage(%22Login%22);%0A%09%09%09%0A%09%09%09login.setCallback(new PageCallback(this));%0A%09%09%09%0A%09%09%09throw new PageRedirectException(login);%0A%09%09%7D%0A%0A%09%09if (!visit.getUser().isAdmin())%0A%09%09%7B%0A%09%09%09visit.getEngine().presentError(%0A%09%09%09%09%09%22That function is restricted to adminstrators.%22, cycle);%0A%09%09%09%0A%09%09%09throw new PageRedirectException(cycle.getPage());%0A%09%09%7D%0A%09%7D%0A%7D%0A%0A

Check in missing file (AdminPage.java).