Return-Path: Delivered-To: apmail-incubator-click-commits-archive@minotaur.apache.org Received: (qmail 18442 invoked from network); 26 Apr 2009 13:18:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 26 Apr 2009 13:18:39 -0000 Received: (qmail 57261 invoked by uid 500); 26 Apr 2009 13:18:39 -0000 Delivered-To: apmail-incubator-click-commits-archive@incubator.apache.org Received: (qmail 57244 invoked by uid 500); 26 Apr 2009 13:18:39 -0000 Mailing-List: contact click-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: click-dev@incubator.apache.org Delivered-To: mailing list click-commits@incubator.apache.org Received: (qmail 57234 invoked by uid 99); 26 Apr 2009 13:18:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 26 Apr 2009 13:18:39 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 26 Apr 2009 13:18:29 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C5635238899B; Sun, 26 Apr 2009 13:18:08 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r768701 - in /incubator/click/trunk/click: ./ examples/ examples/src/ examples/src/org/apache/click/examples/acegi/ examples/src/org/apache/click/examples/domain/ examples/src/org/apache/click/examples/page/ examples/src/org/apache/click/ex... Date: Sun, 26 Apr 2009 13:18:07 -0000 To: click-commits@incubator.apache.org From: medgar@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090426131808.C5635238899B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: medgar Date: Sun Apr 26 13:18:06 2009 New Revision: 768701 URL: http://svn.apache.org/viewvc?rev=768701&view=rev Log: CLK-534 - added ACEGI security example Added: incubator/click/trunk/click/examples/src/org/apache/click/examples/acegi/ incubator/click/trunk/click/examples/src/org/apache/click/examples/acegi/UserDetailsAdaptor.java incubator/click/trunk/click/examples/src/org/apache/click/examples/acegi/UserDetailsService.java incubator/click/trunk/click/examples/src/org/apache/click/examples/acegi/package.html incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/ incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/CreateAccountPage.java incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LoginPage.java incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LogoutPage.java incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/NotAuthorizedPage.java incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/secure/ incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/secure/SecurePage.java incubator/click/trunk/click/examples/webapp/acegi/ incubator/click/trunk/click/examples/webapp/acegi/create-account.htm incubator/click/trunk/click/examples/webapp/acegi/login.htm incubator/click/trunk/click/examples/webapp/acegi/logout.htm incubator/click/trunk/click/examples/webapp/acegi/not-authorized.htm incubator/click/trunk/click/examples/webapp/acegi/secure/ incubator/click/trunk/click/examples/webapp/acegi/secure/secure.htm Modified: incubator/click/trunk/click/.classpath incubator/click/trunk/click/examples/build.xml incubator/click/trunk/click/examples/src/click-page.properties incubator/click/trunk/click/examples/src/org/apache/click/examples/domain/PostCode.java incubator/click/trunk/click/examples/src/org/apache/click/examples/page/SourceViewer.java incubator/click/trunk/click/examples/src/org/apache/click/examples/service/UserService.java incubator/click/trunk/click/examples/webapp/WEB-INF/lib/ (props changed) incubator/click/trunk/click/examples/webapp/WEB-INF/menu.xml incubator/click/trunk/click/examples/webapp/WEB-INF/spring-beans.xml incubator/click/trunk/click/examples/webapp/WEB-INF/web.xml incubator/click/trunk/click/examples/webapp/assets/css/style.css Modified: incubator/click/trunk/click/.classpath URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/.classpath?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/.classpath (original) +++ incubator/click/trunk/click/.classpath Sun Apr 26 13:18:06 2009 @@ -30,5 +30,6 @@ + Modified: incubator/click/trunk/click/examples/build.xml URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/build.xml?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/examples/build.xml (original) +++ incubator/click/trunk/click/examples/build.xml Sun Apr 26 13:18:06 2009 @@ -26,6 +26,7 @@ + @@ -162,6 +163,10 @@ dest="${dir.weblib}/${jar.cayenne}" verbose="true" usetimestamp="true"/> + + + +Provides the Spring ACEGI Security example. + \ No newline at end of file Modified: incubator/click/trunk/click/examples/src/org/apache/click/examples/domain/PostCode.java URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/src/org/apache/click/examples/domain/PostCode.java?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/examples/src/org/apache/click/examples/domain/PostCode.java (original) +++ incubator/click/trunk/click/examples/src/org/apache/click/examples/domain/PostCode.java Sun Apr 26 13:18:06 2009 @@ -22,4 +22,6 @@ public class PostCode extends _PostCode { + private static final long serialVersionUID = 1L; + } Modified: incubator/click/trunk/click/examples/src/org/apache/click/examples/page/SourceViewer.java URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/src/org/apache/click/examples/page/SourceViewer.java?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/examples/src/org/apache/click/examples/page/SourceViewer.java (original) +++ incubator/click/trunk/click/examples/src/org/apache/click/examples/page/SourceViewer.java Sun Apr 26 13:18:06 2009 @@ -76,8 +76,9 @@ "login-config", "auth-method", "realm-name", "security-role", "url-pattern", "welcome-file-list", "welcome-file", "Context", "ResourceLink", "menu", "?xml", "controls", "control", - "listener-class", "listener", "beans", "context-param", - "context:component-scan" }; + "listener-class", "listener", "beans", "bean", "context-param", + "context:component-scan", "property", "constructor-arg", + "list", "value", "ref" }; private static final String[] VELOCITY_KEYWORDS = { "#if", "#if(", "#elseif", "#elseif(", "#else", "#else(", "#end", "#set", "#set(", Added: incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/CreateAccountPage.java URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/CreateAccountPage.java?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/CreateAccountPage.java (added) +++ incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/CreateAccountPage.java Sun Apr 26 13:18:06 2009 @@ -0,0 +1,136 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.click.examples.page.acegi; + +import javax.annotation.Resource; + +import org.acegisecurity.Authentication; +import org.acegisecurity.AuthenticationManager; +import org.acegisecurity.context.SecurityContext; +import org.acegisecurity.context.SecurityContextHolder; +import org.acegisecurity.context.SecurityContextImpl; +import org.acegisecurity.providers.UsernamePasswordAuthenticationToken; +import org.apache.click.ActionListener; +import org.apache.click.Control; +import org.apache.click.control.Form; +import org.apache.click.control.HiddenField; +import org.apache.click.control.PasswordField; +import org.apache.click.control.Submit; +import org.apache.click.control.TextField; +import org.apache.click.examples.domain.User; +import org.apache.click.examples.page.BorderPage; +import org.apache.click.examples.page.acegi.secure.SecurePage; +import org.apache.click.examples.service.UserService; +import org.apache.click.extras.control.EmailField; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Component; + +@Component +public class CreateAccountPage extends BorderPage { + + private Form form = new Form("form"); + private TextField fullNameField = new TextField(User.FULLNAME_PROPERTY, "Full Name", true); + private EmailField emailField = new EmailField(User.EMAIL_PROPERTY); + private TextField userNameField = new TextField(User.USERNAME_PROPERTY, true); + private PasswordField passwordField = new PasswordField("password", true); + private PasswordField passwordAgainField = new PasswordField("passwordAgain", "Password again", true); + private HiddenField redirectField = new HiddenField("redirect", String.class); + + @Resource(name="authenticationManager") + private AuthenticationManager authenticationManager; + + @Resource(name="userService") + private UserService userService; + + // Constructor ------------------------------------------------------------ + + public CreateAccountPage() { + addControl(form); + + form.setDefaultFieldSize(30); + + form.add(fullNameField); + form.add(emailField); + form.add(userNameField); + form.add(passwordField); + form.add(passwordAgainField); + + Submit submit = new Submit("create"); + submit.setActionListener(new ActionListener() { + public boolean onAction(Control source) { + return onCreate(); + } + }); + form.add(submit); + + form.add(redirectField); + } + + // Event Handlers --------------------------------------------------------- + + @Override + public void onInit() { + super.onInit(); + + if (getContext().isGet()) { + redirectField.setValue(getContext().getRequestParameter("redirect")); + } + } + + public boolean onCreate() { + if (form.isValid()) { + + String fullName = fullNameField.getValue(); + String email = emailField.getValue(); + String username = userNameField.getValue(); + String password1 = passwordField.getValue(); + String password2 = passwordAgainField.getValue(); + + if (!password1.equals(password2)) { + passwordField.setError("Password and password again do not match"); + return true; + } + + User user = userService.getUser(username); + + if (user != null) { + userNameField.setError(getMessage("usernameExistsError")); + return true; + } + + user = userService.createUser(fullName, email, username, password1); + + Authentication token = new UsernamePasswordAuthenticationToken(username, password1); + Authentication result = authenticationManager.authenticate(token); + SecurityContext securityContext = new SecurityContextImpl(); + securityContext.setAuthentication(result); + SecurityContextHolder.setContext(securityContext); + + String path = redirectField.getValue(); + if (StringUtils.isNotBlank(path)) { + setRedirect(path); + } else { + setRedirect(SecurePage.class); + } + } + + return true; + } + +} Added: incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LoginPage.java URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LoginPage.java?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LoginPage.java (added) +++ incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LoginPage.java Sun Apr 26 13:18:06 2009 @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.click.examples.page.acegi; + +import org.apache.click.examples.page.BorderPage; + +/** + * Provides a ACEGI Security login page. + * + * @author Malcolm Edgar + */ +public class LoginPage extends BorderPage { + +} Added: incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LogoutPage.java URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LogoutPage.java?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LogoutPage.java (added) +++ incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/LogoutPage.java Sun Apr 26 13:18:06 2009 @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.click.examples.page.acegi; + +import org.apache.click.examples.page.BorderPage; +import org.apache.click.examples.page.acegi.secure.SecurePage; + +/** + * Provides a ACEGI Security logout page. + * + * @author Malcolm Edgar + */ +public class LogoutPage extends BorderPage { + + // Event Handlers --------------------------------------------------------- + + @Override + public boolean onSecurityCheck() { + getContext().getSession().invalidate(); + setRedirect(SecurePage.class); + return false; + } + +} Added: incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/NotAuthorizedPage.java URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/NotAuthorizedPage.java?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/NotAuthorizedPage.java (added) +++ incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/NotAuthorizedPage.java Sun Apr 26 13:18:06 2009 @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.click.examples.page.acegi; + +import org.apache.click.examples.page.BorderPage; + +/** + * Provides a ACEGI Security logout page. + * + * @author Malcolm Edgar + */ +public class NotAuthorizedPage extends BorderPage { + +} Added: incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/secure/SecurePage.java URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/secure/SecurePage.java?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/secure/SecurePage.java (added) +++ incubator/click/trunk/click/examples/src/org/apache/click/examples/page/acegi/secure/SecurePage.java Sun Apr 26 13:18:06 2009 @@ -0,0 +1,7 @@ +package org.apache.click.examples.page.acegi.secure; + +import org.apache.click.examples.page.BorderPage; + +public class SecurePage extends BorderPage { + +} Modified: incubator/click/trunk/click/examples/src/org/apache/click/examples/service/UserService.java URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/src/org/apache/click/examples/service/UserService.java?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/examples/src/org/apache/click/examples/service/UserService.java (original) +++ incubator/click/trunk/click/examples/src/org/apache/click/examples/service/UserService.java Sun Apr 26 13:18:06 2009 @@ -45,4 +45,18 @@ public User getUser(String username) { return (User) findObject(User.class, "username", username); } + + public User createUser(String fullName, String email, String username, String password) { + User user = new User(); + getDataContext().registerNewObject(user); + + user.setEmail(email); + user.setFullname(fullName); + user.setUsername(username); + user.setPassword(password); + + commitChanges(); + + return user; + } } Propchange: incubator/click/trunk/click/examples/webapp/WEB-INF/lib/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Sun Apr 26 13:18:06 2009 @@ -32,3 +32,4 @@ spring-core-2.5.4.jar geronimo-annotation_1.0_spec-1.1.1.jar spring-2.5.6.jar +acegi-security-1.0.7.jar Modified: incubator/click/trunk/click/examples/webapp/WEB-INF/menu.xml URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/WEB-INF/menu.xml?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/examples/webapp/WEB-INF/menu.xml (original) +++ incubator/click/trunk/click/examples/webapp/WEB-INF/menu.xml Sun Apr 26 13:18:06 2009 @@ -43,7 +43,6 @@ - @@ -135,9 +134,13 @@ - - - + + + + + + + Modified: incubator/click/trunk/click/examples/webapp/WEB-INF/spring-beans.xml URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/WEB-INF/spring-beans.xml?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/examples/webapp/WEB-INF/spring-beans.xml (original) +++ incubator/click/trunk/click/examples/webapp/WEB-INF/spring-beans.xml Sun Apr 26 13:18:06 2009 @@ -26,5 +26,91 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Modified: incubator/click/trunk/click/examples/webapp/WEB-INF/web.xml URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/WEB-INF/web.xml?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/examples/webapp/WEB-INF/web.xml (original) +++ incubator/click/trunk/click/examples/webapp/WEB-INF/web.xml Sun Apr 26 13:18:06 2009 @@ -75,6 +75,23 @@ */excel-export.htm + + + + FilterToBeanProxy + org.acegisecurity.util.FilterToBeanProxy + + targetClass + org.acegisecurity.util.FilterChainProxy + + + + + FilterToBeanProxy + /* + DatabaseInitFilter Added: incubator/click/trunk/click/examples/webapp/acegi/create-account.htm URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/acegi/create-account.htm?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/webapp/acegi/create-account.htm (added) +++ incubator/click/trunk/click/examples/webapp/acegi/create-account.htm Sun Apr 26 13:18:06 2009 @@ -0,0 +1,30 @@ + + +
+ +
+ +
Create Account
+ +$form + +
+ +
Added: incubator/click/trunk/click/examples/webapp/acegi/login.htm URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/acegi/login.htm?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/webapp/acegi/login.htm (added) +++ incubator/click/trunk/click/examples/webapp/acegi/login.htm Sun Apr 26 13:18:06 2009 @@ -0,0 +1,79 @@ + + +
+ +
+ +
+ + +#if ($request.getParameter("auth-error")) + +#else + +#end + + + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + + + + + + + + + +
+ + +
Added: incubator/click/trunk/click/examples/webapp/acegi/logout.htm URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/acegi/logout.htm?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/webapp/acegi/logout.htm (added) +++ incubator/click/trunk/click/examples/webapp/acegi/logout.htm Sun Apr 26 13:18:06 2009 @@ -0,0 +1,18 @@ + \ No newline at end of file Added: incubator/click/trunk/click/examples/webapp/acegi/not-authorized.htm URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/acegi/not-authorized.htm?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/webapp/acegi/not-authorized.htm (added) +++ incubator/click/trunk/click/examples/webapp/acegi/not-authorized.htm Sun Apr 26 13:18:06 2009 @@ -0,0 +1,30 @@ + + +
+ +
+ +
+You are not authorized to access this page. +
+ +
+ +
Added: incubator/click/trunk/click/examples/webapp/acegi/secure/secure.htm URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/acegi/secure/secure.htm?rev=768701&view=auto ============================================================================== --- incubator/click/trunk/click/examples/webapp/acegi/secure/secure.htm (added) +++ incubator/click/trunk/click/examples/webapp/acegi/secure/secure.htm Sun Apr 26 13:18:06 2009 @@ -0,0 +1,31 @@ + + +

+You are now logged into an ACEGI Security protected page. +To logout click here. +

+ +

+ACEGI security is provided by a FilterToBeanProxy filter configured in +web.xml, +which is itself configured using Spring beans in the +spring-bean.xml +file. +

\ No newline at end of file Modified: incubator/click/trunk/click/examples/webapp/assets/css/style.css URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/examples/webapp/assets/css/style.css?rev=768701&r1=768700&r2=768701&view=diff ============================================================================== --- incubator/click/trunk/click/examples/webapp/assets/css/style.css (original) +++ incubator/click/trunk/click/examples/webapp/assets/css/style.css Sun Apr 26 13:18:06 2009 @@ -236,3 +236,17 @@ .menustyle img.link { margin-right: 2px; } + +/* + * ACEGI example style. + */ +div.dialogForm { + background-color: #f0f0f0; + width: 305px; + margin-top: 100px; + padding: 20px 20px 20px 20px; + border-top: 1px solid #e0e0e0; + border-left: 1px solid #e0e0e0; + border-bottom: 1px solid #c0c0c0; + border-right: 1px solid #c0c0c0; +}