From b0413aa7d43cd19908360ebaff1cbf250a79c46b Mon Sep 17 00:00:00 2001 From: Ted Nathan Husted Date: Tue, 10 Oct 2006 21:40:12 +0000 Subject: [PATCH] Tag r462587 as Struts 2.0.1 (again) git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_0_1@462588 13f79535-47bb-0310-9956-ffa450edef68 --- trunk/all/pom.xml | 125 + trunk/api/pom.xml | 47 + .../main/java/org/apache/struts2/Action.java | 45 + .../java/org/apache/struts2/MessageAware.java | 41 + .../java/org/apache/struts2/Messages.java | 196 + .../java/org/apache/struts2/ResultNames.java | 36 + .../java/org/apache/struts2/Validatable.java | 17 + .../struts2/servlet/ParameterAware.java | 18 + .../struts2/servlet/ServletRequestAware.java | 18 + .../struts2/servlet/ServletResponseAware.java | 18 + .../org/apache/struts2/spi/ActionContext.java | 59 + .../org/apache/struts2/spi/Interceptor.java | 16 + .../apache/struts2/spi/RequestContext.java | 101 + .../struts2/spi/RequestContextAware.java | 19 + .../java/org/apache/struts2/spi/Result.java | 18 + .../org/apache/struts2/spi/ValueStack.java | 93 + trunk/apps/blank/README.txt | 10 + trunk/apps/blank/pom.xml | 46 + .../src/main/java/example/ExampleSupport.java | 9 + .../src/main/java/example/HelloWorld.java | 40 + .../blank/src/main/java/example/Login.java | 38 + .../blank/src/main/java/example/build.bat | 3 + .../apps/blank/src/main/resources/example.xml | 24 + .../resources/example/Login-validation.xml | 16 + .../main/resources/example/package.properties | 5 + .../resources/example/package_es.properties | 5 + .../src/main/resources/struts.properties | 2 + .../apps/blank/src/main/resources/struts.xml | 11 + .../webapp/WEB-INF/applicationContext.xml | 6 + .../blank/src/main/webapp/WEB-INF/web.xml | 34 + .../src/main/webapp/example/HelloWorld.jsp | 28 + .../blank/src/main/webapp/example/Login.jsp | 15 + .../blank/src/main/webapp/example/Menu.jsp | 3 + .../blank/src/main/webapp/example/Missing.jsp | 11 + .../src/main/webapp/example/Register.jsp | 3 + .../blank/src/main/webapp/example/Welcome.jsp | 18 + trunk/apps/blank/src/main/webapp/index.html | 10 + .../src/test/java/example/ConfigTest.java | 76 + .../src/test/java/example/HelloWorldTest.java | 16 + .../src/test/java/example/LoginTest.java | 36 + trunk/apps/mailreader/README.txt | 18 + trunk/apps/mailreader/pom.xml | 58 + .../src/main/java/alternate.properties | 3 + .../src/main/java/alternate_ja.properties | 1 + .../src/main/java/applicationContext.xml | 6 + .../src/main/java/mailreader-default.xml | 47 + .../src/main/java/mailreader-support.xml | 63 + .../java/mailreader2/ApplicationListener.java | 231 + .../AuthenticationInterceptor.java | 31 + .../src/main/java/mailreader2/Constants.java | 125 + .../src/main/java/mailreader2/Login.java | 45 + .../java/mailreader2/Logon-validation.xml | 14 + .../src/main/java/mailreader2/Logout.java | 32 + .../java/mailreader2/MailreaderSupport.java | 559 + .../mailreader2/MailreaderSupport.properties | 93 + .../MailreaderSupport_ja.properties | 89 + .../MailreaderSupport_ru.properties | 89 + ...istration-Registration!save-validation.xml | 28 + .../mailreader2/Registration-validation.xml | 32 + .../main/java/mailreader2/Registration.java | 101 + ...scription-Subscription!save-validation.xml | 23 + .../mailreader2/Subscription-validation.xml | 11 + .../main/java/mailreader2/Subscription.java | 124 + .../src/main/java/mailreader2/Welcome.java | 28 + .../src/main/java/struts.properties | 4 + .../apps/mailreader/src/main/java/struts.xml | 12 + .../src/main/webapp/ChangePassword.jsp | 25 + .../apps/mailreader/src/main/webapp/Error.jsp | 40 + .../mailreader/src/main/webapp/Footer.jsp | 6 + .../apps/mailreader/src/main/webapp/Login.jsp | 30 + .../src/main/webapp/META-INF/context.xml | 3 + .../mailreader/src/main/webapp/MainMenu.jsp | 25 + .../src/main/webapp/Registration.jsp | 126 + .../src/main/webapp/Subscription.jsp | 68 + .../src/main/webapp/WEB-INF/database.xml | 13 + .../src/main/webapp/WEB-INF/web.xml | 41 + .../mailreader/src/main/webapp/Welcome.jsp | 56 + .../src/main/webapp/css/mailreader.css | 46 + .../mailreader/src/main/webapp/index.html | 10 + .../src/main/webapp/struts-power.gif | Bin 0 -> 1798 bytes .../apps/mailreader/src/main/webapp/tour.html | 2479 ++++ trunk/apps/pom.xml | 216 + trunk/apps/portlet/README.txt | 17 + trunk/apps/portlet/pom.xml | 44 + trunk/apps/portlet/src/main/etc/exo/web.xml | 63 + .../main/etc/gridsphere/README-gridsphere.txt | 2 + .../etc/gridsphere/gridsphere-portlet.xml | 24 + .../portlet/src/main/etc/gridsphere/group.xml | 10 + .../src/main/etc/gridsphere/layout.xml | 19 + .../src/main/etc/gridsphere/struts-portlet | 0 .../portlet/src/main/etc/gridsphere/web.xml | 63 + .../src/main/etc/jbossportal2.0/jboss-app.xml | 3 + .../main/etc/jbossportal2.0/jboss-portlet.xml | 12 + .../src/main/etc/jbossportal2.0/jboss-web.xml | 3 + .../etc/jbossportal2.0/portlet-instances.xml | 11 + .../jbossportal2.0/struts-portlet-pages.xml | 18 + .../src/main/etc/jbossportal2.2/jboss-app.xml | 3 + .../main/etc/jbossportal2.2/jboss-portlet.xml | 12 + .../src/main/etc/jbossportal2.2/jboss-web.xml | 3 + .../jbossportal2.2/struts-portlet-object.xml | 25 + .../main/etc/jetspeed2/README-jetspeed2.txt | 1 + .../main/etc/jetspeed2/struts-portlet.psml | 20 + .../portlet/src/main/etc/liferay3.6.1/web.xml | 75 + .../portlet/example/ExampleAction.java | 36 + .../struts2/portlet/example/FormExample.java | 44 + .../example/FormExampleWithValidation.java | 44 + .../portlet/example/FormResultAction.java | 46 + .../portlet/example/FormTestAction.java | 33 + .../portlet/example/SavePrefsAction.java | 59 + .../portlet/example/spring/SpringAction.java | 55 + .../portlet/example/spring/ThingManager.java | 35 + .../main/resources/commons-logging.properties | 2 + .../apps/portlet/src/main/resources/log4j.xml | 15 + ...le-processValidationExample-validation.xml | 13 + .../src/main/resources/struts.properties | 1 + .../template/xhtml/components/checkbox.vm | 12 + .../template/xhtml/components/datefield.vm | 8 + .../template/xhtml/components/mytextfield.vm | 15 + .../portlet/src/main/resources/validators.xml | 13 + .../apps/portlet/src/main/resources/xwork.xml | 161 + .../webapp/WEB-INF/applicationContext.xml | 18 + .../portlet/src/main/webapp/WEB-INF/dwr.xml | 21 + .../main/webapp/WEB-INF/edit/defaultEdit.jsp | 5 + .../main/webapp/WEB-INF/edit/formExample.jsp | 5 + .../webapp/WEB-INF/edit/formExampleInput.jsp | 8 + .../src/main/webapp/WEB-INF/edit/index.jsp | 11 + .../webapp/WEB-INF/edit/namespaceTest.jsp | 4 + .../main/webapp/WEB-INF/edit/prefsForm.jsp | 6 + .../main/webapp/WEB-INF/edit/prefsSaved.jsp | 5 + .../src/main/webapp/WEB-INF/edit/test.jsp | 4 + .../main/webapp/WEB-INF/help/defaultHelp.jsp | 1 + .../src/main/webapp/WEB-INF/help/index.jsp | 1 + .../src/main/webapp/WEB-INF/portlet.xml | 118 + .../src/main/webapp/WEB-INF/readme.txt | 10 + .../src/main/webapp/WEB-INF/view/ajax.jsp | 1 + .../src/main/webapp/WEB-INF/view/ajaxData.jsp | 1 + .../main/webapp/WEB-INF/view/ajaxExample.jsp | 48 + .../main/webapp/WEB-INF/view/formExample.jsp | 5 + .../webapp/WEB-INF/view/formExampleInput.jsp | 8 + .../view/formExampleInputValidation.jsp | 8 + .../webapp/WEB-INF/view/freeMarkerExample.ftl | 3 + .../WEB-INF/view/freeMarkerExampleInput.ftl | 5 + .../main/webapp/WEB-INF/view/helloWorld.vm | 1 + .../src/main/webapp/WEB-INF/view/index.jsp | 15 + .../webapp/WEB-INF/view/notImplemented.jsp | 1 + .../webapp/WEB-INF/view/springExample.jsp | 16 + .../main/webapp/WEB-INF/view/tokenExample.jsp | 5 + .../webapp/WEB-INF/view/tokenExampleInput.jsp | 20 + .../portlet/src/main/webapp/WEB-INF/web.xml | 49 + .../portlet/src/main/webapp/styles/styles.css | 7 + trunk/apps/showcase/README.txt | 10 + trunk/apps/showcase/pom.xml | 161 + trunk/apps/showcase/quickstart.xml | 66 + .../apache/struts2/showcase/DateAction.java | 104 + .../struts2/showcase/DateAction.properties | 1 + .../showcase/DynamicTreeSelectAction.java | 35 + .../org/apache/struts2/showcase/Guess.java | 68 + .../LotsOfOptiontransferselectAction.java | 223 + ...-lotsOfRichtexteditorSubmit-validation.xml | 30 + .../showcase/LotsOfRichtexteditorAction.java | 75 + .../showcase/ShowDynamicTreeAction.java | 17 + .../UITagExample-conversion.properties | 1 + .../apache/struts2/showcase/UITagExample.java | 314 + .../showcase/action/AbstractCRUDAction.java | 93 + .../EmployeeAction-conversion.properties | 1 + .../action/EmployeeAction-validation.xml | 21 + .../showcase/action/EmployeeAction.java | 122 + .../showcase/action/EmployeeAction.properties | 9 + .../action/EmployeeAction_de.properties | 9 + .../action/SkillAction-validation.xml | 11 + .../struts2/showcase/action/SkillAction.java | 85 + .../showcase/action/SkillAction.properties | 6 + .../showcase/action/SkillAction_de.properties | 6 + .../showcase/actionchaining/ActionChain1.java | 42 + .../showcase/actionchaining/ActionChain2.java | 55 + .../showcase/actionchaining/ActionChain3.java | 65 + .../struts2/showcase/ajax/AjaxTestAction.java | 49 + .../ajax/Example4ShowPanelAction.java | 72 + .../struts2/showcase/ajax/Example5Action.java | 23 + .../struts2/showcase/ajax/tree/Category.java | 101 + .../showcase/ajax/tree/GetCategory.java | 46 + .../struts2/showcase/ajax/tree/Toggle.java | 32 + .../showcase/application/MemoryStorage.java | 140 + .../struts2/showcase/application/Storage.java | 47 + .../application/TestDataProvider.java | 115 + .../chat/ChatAuthenticationInterceptor.java | 57 + .../struts2/showcase/chat/ChatException.java | 33 + .../showcase/chat/ChatInterceptor.java | 58 + .../showcase/chat/ChatLoginAction.java | 65 + .../showcase/chat/ChatLogoutAction.java | 55 + .../struts2/showcase/chat/ChatMessage.java | 46 + .../struts2/showcase/chat/ChatService.java | 34 + .../showcase/chat/ChatServiceImpl.java | 112 + .../showcase/chat/ChatSessionListener.java | 50 + .../struts2/showcase/chat/Constants.java | 22 + .../struts2/showcase/chat/CrudRoomAction.java | 61 + .../struts2/showcase/chat/DateConverter.java | 56 + .../showcase/chat/EnterRoomAction.java | 59 + .../struts2/showcase/chat/ExitRoomAction.java | 55 + .../chat/MessagesAvailableInRoomAction.java | 56 + .../apache/struts2/showcase/chat/Room.java | 98 + .../showcase/chat/RoomsAvailableAction.java | 45 + .../chat/SendMessageToRoomAction.java | 67 + .../apache/struts2/showcase/chat/User.java | 45 + .../showcase/chat/UsersAvailableAction.java | 46 + .../chat/UsersAvailableInRoomAction.java | 58 + .../struts2/showcase/conversion/Address.java | 35 + .../AddressAction-conversion.properties | 6 + .../showcase/conversion/AddressAction.java | 44 + .../conversion/EnumTypeConverter.java | 55 + .../showcase/conversion/OperationsEnum.java | 30 + ...OperationsEnumAction-conversion.properties | 4 + .../conversion/OperationsEnumAction.java | 53 + .../struts2/showcase/conversion/Person.java | 34 + .../PersonAction-conversion.properties | 1 + .../showcase/conversion/PersonAction.java | 43 + .../struts2/showcase/dao/AbstractDao.java | 74 + .../org/apache/struts2/showcase/dao/Dao.java | 50 + .../struts2/showcase/dao/EmployeeDao.java | 64 + .../apache/struts2/showcase/dao/SkillDao.java | 38 + .../showcase/exception/CreateException.java | 40 + .../showcase/exception/DeleteException.java | 41 + .../exception/DuplicateKeyException.java | 41 + .../showcase/exception/StorageException.java | 41 + .../showcase/exception/UpdateException.java | 42 + .../filedownload/FileDownloadAction.java | 41 + .../showcase/fileupload/FileUploadAction.java | 82 + .../freemarker/CustomFreemarkerManager.java | 54 + .../CustomFreemarkerManagerUtil.java | 39 + .../hangman/GetUpdatedHangmanAction.java | 39 + .../hangman/GuessCharacterAction.java | 39 + .../struts2/showcase/hangman/Hangman.java | 106 + .../showcase/hangman/HangmanConstants.java | 6 + .../showcase/hangman/HangmanException.java | 41 + .../showcase/hangman/HangmanService.java | 31 + .../hangman/PropertiesVocabSource.java | 68 + .../showcase/hangman/StartHangmanAction.java | 58 + .../struts2/showcase/hangman/Vocab.java | 83 + .../struts2/showcase/hangman/VocabSource.java | 22 + .../integration/EditGangsterAction.java | 41 + .../showcase/integration/GangsterForm.java | 89 + .../integration/SaveGangsterAction.java | 48 + .../showcase/jsf/JsfEmployeeAction.java | 119 + .../struts2/showcase/model/Employee.java | 173 + .../struts2/showcase/model/IdEntity.java | 33 + .../apache/struts2/showcase/model/Skill.java | 69 + .../showcase/modelDriven/Gangster.java | 59 + .../modelDriven/ModelDrivenAction.java | 42 + .../person/CreatePerson-validation.xml | 8 + .../struts2/showcase/person/CreatePerson.java | 48 + .../person/EditPerson-conversion.properties | 3 + .../struts2/showcase/person/EditPerson.java | 76 + .../struts2/showcase/person/ListPeople.java | 52 + .../showcase/person/Person-validation.xml | 13 + .../struts2/showcase/person/Person.java | 83 + .../showcase/person/PersonManager.java | 55 + .../sitemesh/NoneDecoratorMapper.java | 20 + .../showcase/source/ViewSourceAction.java | 217 + .../tag/nonui/actionPrefix/SubmitAction.java | 22 + .../tag/nonui/actiontag/ActionTagDemo.java | 35 + .../iteratortag/AppendIteratorTagDemo.java | 77 + .../IteratorGeneratorTagDemo-validation.xml | 22 + .../iteratortag/IteratorGeneratorTagDemo.java | 66 + .../iteratortag/MergeIteratorTagDemo.java | 78 + .../iteratortag/SubsetIteratorTagDemo.java | 85 + .../struts2/showcase/token/TokenAction.java | 81 + .../struts2/showcase/tutorial/HelloName.java | 23 + .../struts2/showcase/tutorial/HelloName2.java | 29 + .../struts2/showcase/tutorial/HelloWorld.java | 23 + .../AbstractValidationActionSupport.java | 33 + ...idatorsExampleAction-conversion.properties | 1 + ...ClientSideValidationExample-validation.xml | 74 + ...bmitFieldValidatorsExamples-validation.xml | 68 + .../FieldValidatorsExampleAction.java | 104 + .../FieldValidatorsExampleAction.properties | 1 + ...tNonFieldValidatorsExamples-validation.xml | 18 + .../NonFieldValidatorsExampleAction.java | 57 + .../validation/QuizAction-validation.xml | 23 + .../showcase/validation/QuizAction.java | 61 + .../validation/SubmitApplication.java | 57 + .../User-userContext-validation.xml | 27 + .../struts2/showcase/validation/User.java | 50 + ...itVisitorValidatorsExamples-validation.xml | 20 + .../VisitorValidatorsExampleAction.java | 39 + .../showcase/wait/LongProcessAction.java | 47 + .../main/resources/globalMessages.properties | 7 + .../resources/globalMessages_de.properties | 7 + .../src/main/resources/log4j.properties | 31 + .../myTheme/myAnotherTemplate.ftl | 6 + .../struts2/showcase/DateAction.properties | 1 + ...-lotsOfRichtexteditorSubmit-validation.xml | 30 + .../UITagExample-conversion.properties | 1 + .../EmployeeAction-conversion.properties | 1 + .../action/EmployeeAction-validation.xml | 21 + .../showcase/action/EmployeeAction.properties | 9 + .../action/EmployeeAction_de.properties | 9 + .../action/SkillAction-validation.xml | 11 + .../showcase/action/SkillAction.properties | 6 + .../showcase/action/SkillAction_de.properties | 6 + .../ajax/Example5Action-validation.xml | 19 + .../ChatLoginAction-chatLogin-validation.xml | 14 + .../chat/ChatMessage-conversion.properties | 1 + .../CrudRoomAction-createRoom-validation.xml | 20 + .../showcase/chat/Room-conversion.properties | 1 + ...oomAction-sendMessageToRoom-validation.xml | 15 + .../PersonAction-conversion.properties | 1 + .../person/CreatePerson-validation.xml | 8 + .../person/EditPerson-conversion.properties | 3 + .../showcase/person/Person-validation.xml | 13 + .../IteratorGeneratorTagDemo-validation.xml | 22 + ...idatorsExampleAction-conversion.properties | 1 + ...ClientSideValidationExample-validation.xml | 74 + ...bmitFieldValidatorsExamples-validation.xml | 68 + .../FieldValidatorsExampleAction.properties | 1 + ...tNonFieldValidatorsExamples-validation.xml | 18 + .../validation/QuizAction-validation.xml | 23 + ...plication-submitApplication-validation.xml | 24 + .../User-userContext-validation.xml | 27 + ...itVisitorValidatorsExamples-validation.xml | 20 + .../main/resources/struts-actionchaining.xml | 21 + .../src/main/resources/struts-ajax.xml | 71 + .../src/main/resources/struts-chat.xml | 135 + .../main/resources/struts-continuations.xml | 10 + .../src/main/resources/struts-conversion.xml | 75 + .../main/resources/struts-filedownload.xml | 24 + .../src/main/resources/struts-fileupload.xml | 23 + .../src/main/resources/struts-freemarker.xml | 14 + .../src/main/resources/struts-hangman.xml | 48 + .../src/main/resources/struts-integration.xml | 49 + .../src/main/resources/struts-jsf.xml | 38 + .../main/resources/struts-model-driven.xml | 20 + .../src/main/resources/struts-person.xml | 31 + .../src/main/resources/struts-tags-non-ui.xml | 123 + .../src/main/resources/struts-tags-ui.xml | 61 + .../src/main/resources/struts-tags.xml | 7 + .../src/main/resources/struts-token.xml | 63 + .../src/main/resources/struts-validation.xml | 124 + .../src/main/resources/struts-wait.xml | 35 + .../src/main/resources/struts.properties | 11 + .../showcase/src/main/resources/struts.xml | 115 + .../webapp/WEB-INF/applicationContext.xml | 117 + .../src/main/webapp/WEB-INF/decorators.xml | 27 + .../main/webapp/WEB-INF/decorators/main.jsp | 119 + .../showcase/src/main/webapp/WEB-INF/dwr.xml | 25 + .../webapp/WEB-INF/sitemesh-decorator.tld | 79 + .../src/main/webapp/WEB-INF/sitemesh-page.tld | 95 + .../src/main/webapp/WEB-INF/sitemesh.xml | 54 + .../src/main/webapp/WEB-INF/validation.xml | 37 + .../showcase/src/main/webapp/WEB-INF/web.xml | 151 + .../actionchaining/actionChainingResult.jsp | 14 + .../src/main/webapp/ajax/AjaxResult.jsp | 10 + .../src/main/webapp/ajax/AjaxResult2.js | 2 + .../src/main/webapp/ajax/AjaxResult3.jsp | 12 + .../src/main/webapp/ajax/commonInclude.jsp | 4 + .../showcase/src/main/webapp/ajax/footer.jsp | 9 + .../showcase/src/main/webapp/ajax/index.jsp | 20 + .../main/webapp/ajax/remotediv/example1.jsp | 24 + .../main/webapp/ajax/remotediv/example2.jsp | 24 + .../main/webapp/ajax/remotediv/example3.jsp | 24 + .../main/webapp/ajax/remotediv/example4.jsp | 25 + .../main/webapp/ajax/remotediv/example5.jsp | 24 + .../main/webapp/ajax/remotediv/example6.jsp | 24 + .../main/webapp/ajax/remotediv/example7.jsp | 24 + .../main/webapp/ajax/remotediv/example8.jsp | 27 + .../src/main/webapp/ajax/remotediv/index.jsp | 56 + .../main/webapp/ajax/remoteforms/index.jsp | 111 + .../main/webapp/ajax/remoteforms/test1.jsp | 18 + .../main/webapp/ajax/remoteforms/test2.jsp | 6 + .../main/webapp/ajax/remoteforms/test3.jsp | 8 + .../src/main/webapp/ajax/remotelink/index.jsp | 112 + .../main/webapp/ajax/tabbedpanel/example1.jsp | 113 + .../main/webapp/ajax/tabbedpanel/example2.jsp | 52 + .../main/webapp/ajax/tabbedpanel/example3.jsp | 57 + .../main/webapp/ajax/tabbedpanel/example4.ftl | 18 + .../main/webapp/ajax/tabbedpanel/example5.jsp | 27 + .../webapp/ajax/tabbedpanel/example5Ok.jsp | 9 + .../main/webapp/ajax/tabbedpanel/index.jsp | 33 + .../ajax/tabbedpanel/nodecorate/panel1.ftl | 3 + .../ajax/tabbedpanel/nodecorate/panel2.ftl | 7 + .../tabbedpanel/nodecorate/panel2Submit.ftl | 2 + .../ajax/tabbedpanel/nodecorate/panel3.ftl | 9 + .../tabbedpanel/nodecorate/panel3Submit.ftl | 2 + .../showcase/src/main/webapp/ajax/testjs.jsp | 14 + .../src/main/webapp/ajax/tree/getCategory.jsp | 24 + .../webapp/ajax/tree/partialChunkHeader.jsp | 6 + .../src/main/webapp/ajax/tree/toggle.jsp | 12 + .../src/main/webapp/ajax/tree/tree.jsp | 13 + .../src/main/webapp/ajax/widgets/index.jsp | 36 + .../src/main/webapp/chat/chatLogin.ftl | 16 + .../src/main/webapp/chat/createRoom.ftl | 2 + .../showcase/src/main/webapp/chat/index.jsp | 3 + .../webapp/chat/messagesAvailableInRoom.ftl | 33 + .../src/main/webapp/chat/roomSelection.ftl | 163 + .../src/main/webapp/chat/roomsAvailable.ftl | 44 + .../webapp/chat/sendMessageToRoomResult.ftl | 2 + .../src/main/webapp/chat/showRoom.ftl | 160 + .../src/main/webapp/chat/usersAvailable.ftl | 6 + .../main/webapp/chat/usersAvailableInRoom.ftl | 8 + .../src/main/webapp/continuations/guess.ftl | 18 + .../main/webapp/conversion/Address.java.txt | 35 + .../webapp/conversion/AddressAction.java.txt | 44 + .../conversion/EnumTypeConverter.java.txt | 55 + .../webapp/conversion/OperationsEnum.java.txt | 30 + .../conversion/OperationsEnumAction.java.txt | 53 + .../OperationsEnumActionConversion.txt | 4 + .../main/webapp/conversion/Person.java.txt | 34 + .../webapp/conversion/PersonAction.java.txt | 43 + .../webapp/conversion/enterAddressInfo.jsp | 48 + .../webapp/conversion/enterOperations.jsp | 31 + .../webapp/conversion/enterPersonInfo.jsp | 58 + .../src/main/webapp/conversion/index.jsp | 26 + .../webapp/conversion/showAddressInfo.jsp | 15 + .../main/webapp/conversion/showOperations.jsp | 17 + .../main/webapp/conversion/showPersonInfo.jsp | 17 + .../customTheme/ftlCustomTemplate.ftl | 7 + .../customTheme/jspCustomTemplate.jsp | 8 + trunk/apps/showcase/src/main/webapp/date.jsp | 2 + .../main/webapp/empmanager/editEmployee.jsp | 41 + .../src/main/webapp/empmanager/editSkill.jsp | 27 + .../src/main/webapp/empmanager/index.jsp | 21 + .../main/webapp/empmanager/listEmployees.jsp | 26 + .../src/main/webapp/empmanager/listSkills.jsp | 24 + .../src/main/webapp/filedownload/index.jsp | 14 + .../main/webapp/fileupload/upload-success.jsp | 25 + .../src/main/webapp/fileupload/upload.jsp | 21 + .../customFreemarkerManagerUsage.ftl | 26 + .../src/main/webapp/freemarker/index.jsp | 20 + .../src/main/webapp/hangman/blank.ftl | 0 .../src/main/webapp/hangman/hangmanAjax.ftl | 232 + .../src/main/webapp/hangman/hangmanMenu.ftl | 18 + .../main/webapp/hangman/hangmanNonAjax.ftl | 135 + .../webapp/hangman/images/Chalkboard_0.png | Bin 0 -> 1307 bytes .../webapp/hangman/images/Chalkboard_1.png | Bin 0 -> 1226 bytes .../webapp/hangman/images/Chalkboard_2.png | Bin 0 -> 1221 bytes .../webapp/hangman/images/Chalkboard_3.png | Bin 0 -> 1227 bytes .../webapp/hangman/images/Chalkboard_4.png | Bin 0 -> 1240 bytes .../webapp/hangman/images/Chalkboard_5.png | Bin 0 -> 1260 bytes .../webapp/hangman/images/Chalkboard_A.png | Bin 0 -> 1391 bytes .../webapp/hangman/images/Chalkboard_B.png | Bin 0 -> 1460 bytes .../webapp/hangman/images/Chalkboard_C.png | Bin 0 -> 1271 bytes .../webapp/hangman/images/Chalkboard_D.png | Bin 0 -> 1420 bytes .../webapp/hangman/images/Chalkboard_E.png | Bin 0 -> 1363 bytes .../webapp/hangman/images/Chalkboard_F.png | Bin 0 -> 1270 bytes .../webapp/hangman/images/Chalkboard_G.png | Bin 0 -> 1368 bytes .../webapp/hangman/images/Chalkboard_H.png | Bin 0 -> 1310 bytes .../webapp/hangman/images/Chalkboard_I.png | Bin 0 -> 1296 bytes .../webapp/hangman/images/Chalkboard_J.png | Bin 0 -> 1225 bytes .../webapp/hangman/images/Chalkboard_K.png | Bin 0 -> 1431 bytes .../webapp/hangman/images/Chalkboard_L.png | Bin 0 -> 1252 bytes .../webapp/hangman/images/Chalkboard_M.png | Bin 0 -> 1353 bytes .../webapp/hangman/images/Chalkboard_N.png | Bin 0 -> 1419 bytes .../webapp/hangman/images/Chalkboard_O.png | Bin 0 -> 1412 bytes .../webapp/hangman/images/Chalkboard_P.png | Bin 0 -> 1371 bytes .../webapp/hangman/images/Chalkboard_Q.png | Bin 0 -> 1474 bytes .../webapp/hangman/images/Chalkboard_R.png | Bin 0 -> 1446 bytes .../webapp/hangman/images/Chalkboard_S.png | Bin 0 -> 1393 bytes .../webapp/hangman/images/Chalkboard_T.png | Bin 0 -> 1284 bytes .../webapp/hangman/images/Chalkboard_U.png | Bin 0 -> 1377 bytes .../webapp/hangman/images/Chalkboard_V.png | Bin 0 -> 1322 bytes .../webapp/hangman/images/Chalkboard_W.png | Bin 0 -> 1440 bytes .../webapp/hangman/images/Chalkboard_X.png | Bin 0 -> 1397 bytes .../webapp/hangman/images/Chalkboard_Y.png | Bin 0 -> 1318 bytes .../webapp/hangman/images/Chalkboard_Z.png | Bin 0 -> 1353 bytes .../hangman/images/Chalkboard_underscroll.png | Bin 0 -> 1110 bytes .../src/main/webapp/hangman/images/choose.png | Bin 0 -> 3321 bytes .../src/main/webapp/hangman/images/guess.png | Bin 0 -> 2900 bytes .../webapp/hangman/images/guesses-left.png | Bin 0 -> 2372 bytes .../main/webapp/hangman/images/hangman.png | Bin 0 -> 3850 bytes .../webapp/hangman/images/letter-spacer.png | Bin 0 -> 926 bytes .../main/webapp/hangman/images/play-again.png | Bin 0 -> 8607 bytes .../webapp/hangman/images/scaffold_-1.png | Bin 0 -> 9806 bytes .../main/webapp/hangman/images/scaffold_0.png | Bin 0 -> 9017 bytes .../main/webapp/hangman/images/scaffold_1.png | Bin 0 -> 7999 bytes .../main/webapp/hangman/images/scaffold_2.png | Bin 0 -> 7260 bytes .../main/webapp/hangman/images/scaffold_3.png | Bin 0 -> 6715 bytes .../main/webapp/hangman/images/scaffold_4.png | Bin 0 -> 6268 bytes .../main/webapp/hangman/images/scaffold_5.png | Bin 0 -> 4267 bytes .../src/main/webapp/hangman/images/start.png | Bin 0 -> 5145 bytes .../main/webapp/hangman/images/you-lose.png | Bin 0 -> 7500 bytes .../main/webapp/hangman/images/you-win.png | Bin 0 -> 6544 bytes .../showcase/src/main/webapp/hangman/test.ftl | 21 + .../hangman/updateCharacterAvailable.ftl | 47 + .../main/webapp/hangman/updateGuessLeft.ftl | 7 + .../main/webapp/hangman/updateScaffold.ftl | 3 + .../webapp/hangman/updateVocabCharacters.ftl | 20 + trunk/apps/showcase/src/main/webapp/help.jsp | 31 + .../src/main/webapp/images/struts-power.gif | Bin 0 -> 1798 bytes .../src/main/webapp/images/struts.gif | Bin 0 -> 4720 bytes trunk/apps/showcase/src/main/webapp/index.jsp | 1 + .../main/webapp/integration/modelDriven.jsp | 31 + .../webapp/integration/modelDrivenResult.jsp | 24 + .../src/main/webapp/jsf/employee/edit.jsp | 106 + .../src/main/webapp/jsf/employee/list.jsp | 69 + .../showcase/src/main/webapp/jsf/index.jsp | 24 + .../main/webapp/modelDriven/modelDriven.jsp | 31 + .../webapp/modelDriven/modelDrivenResult.jsp | 24 + .../src/main/webapp/person/editPeople.jsp | 41 + .../showcase/src/main/webapp/person/index.jsp | 12 + .../src/main/webapp/person/listPeople.ftl | 28 + .../src/main/webapp/person/newPerson.ftl | 19 + .../showcase/src/main/webapp/showcase.jsp | 82 + .../showcase/src/main/webapp/styles/forms.css | 102 + .../main/webapp/styles/layout-navtop-1col.css | 33 + .../webapp/styles/layout-navtop-localleft.css | 36 + .../src/main/webapp/styles/layout.css | 136 + .../showcase/src/main/webapp/styles/main.css | 5 + .../src/main/webapp/styles/nav-horizontal.css | 80 + .../showcase/src/main/webapp/styles/tools.css | 68 + .../showcase/src/main/webapp/styles/typo.css | 195 + .../showcase/src/main/webapp/tags/index.jsp | 16 + .../tags/non-ui/actionPrefix/actionPrefix.ftl | 19 + .../actionPrefix/actionPrefixExample.ftl | 45 + .../webapp/tags/non-ui/actionPrefix/index.jsp | 13 + .../tags/non-ui/actionPrefix/methodPrefix.ftl | 19 + .../tags/non-ui/actionPrefix/normalSubmit.ftl | 17 + .../actionPrefix/redirectActionPrefix.ftl | 22 + .../tags/non-ui/actionTag/includedPage.jsp | 1 + .../tags/non-ui/actionTag/includedPage2.jsp | 2 + .../tags/non-ui/actionTag/includedPage3.jsp | 2 + .../non-ui/actionTag/showActionTagDemo.jsp | 43 + .../src/main/webapp/tags/non-ui/date.jsp | 104 + .../src/main/webapp/tags/non-ui/debug.jsp | 20 + .../main/webapp/tags/non-ui/ifTag/testIf.ftl | 607 + .../main/webapp/tags/non-ui/ifTag/testIf.jsp | 616 + .../src/main/webapp/tags/non-ui/index.jsp | 24 + .../appendIteratorTagDemoResult.jsp | 25 + .../iteratorGeneratorTagDemoResult.jsp | 19 + .../mergeIteratorTagDemoResult.jsp | 25 + .../iteratorTag/showAppendIteratorTagDemo.jsp | 19 + .../showIteratorGeneratorTagDemo.jsp | 21 + .../iteratorTag/showMergeIteratorTagDemo.jsp | 17 + .../iteratorTag/subsetIteratorTagDemo.jsp | 20 + .../subsetIteratorTagDemoResult.jsp | 21 + .../webapp/tags/ui/componentTagExample.jsp | 62 + .../main/webapp/tags/ui/dynamicTreeSelect.jsp | 6 + .../src/main/webapp/tags/ui/example.jsp | 126 + .../src/main/webapp/tags/ui/example.vm | 32 + .../main/webapp/tags/ui/exampleSubmited.jsp | 43 + .../main/webapp/tags/ui/exampleSubmited.vm | 47 + .../webapp/tags/ui/images/backgroundImage.jpg | Bin 0 -> 13192 bytes .../main/webapp/tags/ui/images/leopard.jpg | Bin 0 -> 3850 bytes .../src/main/webapp/tags/ui/index.jsp | 20 + .../tags/ui/lotsOfOptiontransferselect.jsp | 109 + .../ui/lotsOfOptiontransferselectSubmit.jsp | 101 + .../main/webapp/tags/ui/staticTreeSelect.jsp | 28 + .../webapp/tags/ui/treeExampleDynamic.jsp | 47 + .../main/webapp/tags/ui/treeExampleStatic.jsp | 53 + .../main/webapp/template/xhtml/mytemplate.jsp | 9 + .../src/main/webapp/token/doublePost.jsp | 15 + .../src/main/webapp/token/example1.jsp | 24 + .../src/main/webapp/token/example2.jsp | 24 + .../src/main/webapp/token/example3.jsp | 24 + .../src/main/webapp/token/example4.ftl | 26 + .../showcase/src/main/webapp/token/index.jsp | 33 + .../src/main/webapp/token/transferDone.jsp | 25 + .../clientSideValidationExample.jsp | 55 + .../validation/fieldValidatorsExample.jsp | 55 + .../src/main/webapp/validation/footer.jsp | 9 + .../src/main/webapp/validation/index.jsp | 42 + .../validation/nonFieldValidatorsExample.jsp | 38 + .../src/main/webapp/validation/quiz-ajax.jsp | 23 + .../src/main/webapp/validation/quiz-basic.jsp | 27 + .../webapp/validation/quiz-client-css.jsp | 24 + .../main/webapp/validation/quiz-client.jsp | 24 + .../main/webapp/validation/quiz-success.jsp | 14 + .../storeErrorsAcrossRequestCancel.jsp | 21 + .../storeErrorsAcrossRequestExample.jsp | 35 + .../validation/storeErrorsAcrossRequestOk.jsp | 23 + .../successClientSideValidationExample.jsp | 53 + .../successFieldValidatorsExample.jsp | 48 + .../successNonFieldValidatorsExample.jsp | 33 + .../successVisitorValidatorsExample.jsp | 35 + .../validation/validationExamplesStyles.css | 11 + .../validation/visitorValidatorsExample.jsp | 36 + .../showcase/src/main/webapp/viewSource.jsp | 53 + .../src/main/webapp/wait/complete.jsp | 13 + .../src/main/webapp/wait/example1.jsp | 16 + .../src/main/webapp/wait/example2.jsp | 17 + .../src/main/webapp/wait/example3.jsp | 18 + .../showcase/src/main/webapp/wait/index.jsp | 19 + .../showcase/src/main/webapp/wait/wait.jsp | 16 + .../struts2/showcase/tutorial/HelloTest.java | 18 + trunk/assembly/pom.xml | 442 + trunk/assembly/src/main/assembly/all.xml | 188 + trunk/assembly/src/main/assembly/apps.xml | 43 + trunk/assembly/src/main/assembly/lib.xml | 43 + trunk/assembly/src/main/assembly/src.xml | 121 + trunk/assembly/src/main/resources/LICENSE.txt | 174 + trunk/assembly/src/main/resources/NOTICE.txt | 3 + trunk/assembly/src/main/resources/build.xml | 53 + trunk/backport/ASM-LICENSE.txt | 28 + trunk/backport/LICENSE.txt | 29 + trunk/backport/RETROTRANSLATOR-LICENSE.txt | 29 + trunk/backport/S2-FOR-J4-README.txt | 22 + trunk/backport/STRUTS-LICENSE.txt | 174 + trunk/backport/XWORK-LICENSE.txt | 50 + trunk/backport/backport-util-concurrent.jar | Bin 0 -> 326319 bytes trunk/backport/readme.html | 549 + .../retrotranslator-runtime-1.0.7.jar | Bin 0 -> 168707 bytes .../retrotranslator-runtime-1.0.8.jar | Bin 0 -> 173833 bytes .../retrotranslator-transformer-1.0.8.jar | Bin 0 -> 88716 bytes trunk/backport/translate.bat | 4 + trunk/core/pom.xml | 275 + trunk/core/src/main/etc/taglib-settings.xml | 5 + .../java/org/apache/struts2/RequestUtils.java | 53 + .../apache/struts2/ServletActionContext.java | 146 + .../org/apache/struts2/StrutsConstants.java | 133 + .../org/apache/struts2/StrutsException.java | 101 + .../org/apache/struts2/StrutsStatics.java | 65 + .../org/apache/struts2/StrutsTestCase.java | 60 + .../struts2/components/ActionComponent.java | 294 + .../struts2/components/ActionError.java | 62 + .../struts2/components/ActionMessage.java | 58 + .../org/apache/struts2/components/Anchor.java | 139 + .../struts2/components/AppendIterator.java | 170 + .../org/apache/struts2/components/Bean.java | 146 + .../apache/struts2/components/Checkbox.java | 82 + .../struts2/components/CheckboxList.java | 53 + .../struts2/components/ClosingUIBean.java | 65 + .../apache/struts2/components/ComboBox.java | 211 + .../apache/struts2/components/Component.java | 463 + .../org/apache/struts2/components/Date.java | 383 + .../apache/struts2/components/DatePicker.java | 177 + .../org/apache/struts2/components/Debug.java | 96 + .../org/apache/struts2/components/Div.java | 159 + .../struts2/components/DoubleListUIBean.java | 667 + .../struts2/components/DoubleSelect.java | 60 + .../org/apache/struts2/components/Else.java | 69 + .../org/apache/struts2/components/ElseIf.java | 104 + .../apache/struts2/components/FieldError.java | 107 + .../org/apache/struts2/components/File.java | 103 + .../org/apache/struts2/components/Form.java | 509 + .../apache/struts2/components/FormButton.java | 174 + .../struts2/components/GenericUIBean.java | 125 + .../org/apache/struts2/components/Head.java | 134 + .../org/apache/struts2/components/Hidden.java | 59 + .../org/apache/struts2/components/I18n.java | 130 + .../org/apache/struts2/components/If.java | 95 + .../apache/struts2/components/Include.java | 403 + .../struts2/components/IteratorComponent.java | 290 + .../org/apache/struts2/components/Label.java | 87 + .../apache/struts2/components/ListUIBean.java | 156 + .../struts2/components/MergeIterator.java | 182 + .../apache/struts2/components/OptGroup.java | 149 + .../components/OptionTransferSelect.java | 545 + .../org/apache/struts2/components/Panel.java | 120 + .../org/apache/struts2/components/Param.java | 159 + .../apache/struts2/components/Password.java | 74 + .../apache/struts2/components/Property.java | 162 + .../org/apache/struts2/components/Push.java | 148 + .../org/apache/struts2/components/Radio.java | 59 + .../struts2/components/RemoteCallUIBean.java | 99 + .../org/apache/struts2/components/Reset.java | 99 + .../org/apache/struts2/components/Select.java | 153 + .../org/apache/struts2/components/Set.java | 142 + .../org/apache/struts2/components/Submit.java | 287 + .../struts2/components/TabbedPanel.java | 156 + .../org/apache/struts2/components/Text.java | 189 + .../apache/struts2/components/TextArea.java | 110 + .../apache/struts2/components/TextField.java | 111 + .../apache/struts2/components/TimePicker.java | 153 + .../org/apache/struts2/components/Token.java | 116 + .../org/apache/struts2/components/Tree.java | 498 + .../apache/struts2/components/TreeNode.java | 102 + .../org/apache/struts2/components/UIBean.java | 1090 ++ .../org/apache/struts2/components/URL.java | 414 + .../struts2/components/UpDownSelect.java | 230 + .../components/table/AbstractFilterModel.java | 101 + .../components/table/RenderFilterModel.java | 44 + .../components/table/SortFilterModel.java | 196 + .../components/table/SortableTableModel.java | 37 + .../struts2/components/table/WebTable.java | 360 + .../components/table/WebTableColumn.java | 81 + .../table/renderer/AbstractCellRenderer.java | 71 + .../table/renderer/BooleanCellRenderer.java | 62 + .../table/renderer/CellRenderer.java | 27 + .../table/renderer/DateCellRenderer.java | 61 + .../table/renderer/DefaultCellRenderer.java | 39 + .../table/renderer/FixedTextCellRenderer.java | 46 + .../table/renderer/LinkCellRenderer.java | 240 + .../table/renderer/NumericCellRenderer.java | 100 + .../components/table/renderer/package.html | 1 + .../template/BaseTemplateEngine.java | 101 + .../template/FreemarkerTemplateEngine.java | 148 + .../template/JspTemplateEngine.java | 83 + .../struts2/components/template/Template.java | 88 + .../components/template/TemplateEngine.java | 43 + .../template/TemplateEngineManager.java | 79 + .../template/TemplateRenderingContext.java | 73 + .../template/VelocityTemplateEngine.java | 101 + .../struts2/config/DefaultSettings.java | 145 + .../struts2/config/DelegatingSettings.java | 150 + .../struts2/config/PropertiesSettings.java | 106 + .../config/ServletContextSingleton.java | 88 + .../org/apache/struts2/config/Settings.java | 228 + .../StrutsXmlConfigurationProvider.java | 119 + .../org/apache/struts2/config/package.html | 1 + .../dispatcher/ActionContextCleanUp.java | 155 + .../struts2/dispatcher/ApplicationMap.java | 191 + .../dispatcher/DefaultActionSupport.java | 69 + .../apache/struts2/dispatcher/Dispatcher.java | 670 + .../dispatcher/DispatcherListener.java | 39 + .../struts2/dispatcher/FilterDispatcher.java | 399 + .../FilterDispatcherCompatWeblogic61.java | 104 + .../struts2/dispatcher/HttpHeaderResult.java | 157 + .../struts2/dispatcher/PlainTextResult.java | 167 + .../apache/struts2/dispatcher/RequestMap.java | 146 + .../ServletActionRedirectResult.java | 240 + .../dispatcher/ServletDispatcherResult.java | 142 + .../dispatcher/ServletRedirectResult.java | 146 + .../apache/struts2/dispatcher/SessionMap.java | 204 + .../struts2/dispatcher/StreamResult.java | 239 + .../dispatcher/StrutsRequestWrapper.java | 85 + .../dispatcher/StrutsResultSupport.java | 220 + .../struts2/dispatcher/VelocityResult.java | 222 + .../dispatcher/mapper/ActionMapper.java | 59 + .../mapper/ActionMapperFactory.java | 66 + .../dispatcher/mapper/ActionMapping.java | 141 + .../mapper/DefaultActionMapper.java | 441 + .../mapper/RestfulActionMapper.java | 123 + .../multipart/JakartaMultiPartRequest.java | 281 + .../multipart/MultiPartRequest.java | 128 + .../multipart/MultiPartRequestWrapper.java | 305 + .../struts2/dispatcher/multipart/package.html | 1 + .../apache/struts2/dispatcher/package.html | 1 + .../struts2/impl/ActionContextImpl.java | 64 + .../struts2/impl/InterceptorAdapter.java | 49 + .../org/apache/struts2/impl/MessagesImpl.java | 134 + .../struts2/impl/RequestContextImpl.java | 177 + .../apache/struts2/impl/ResultAdapter.java | 20 + .../struts2/impl/StrutsActionProxy.java | 35 + .../impl/StrutsActionProxyFactory.java | 22 + .../struts2/impl/StrutsObjectFactory.java | 84 + .../struts2/impl/ValueStackAdapter.java | 58 + .../struts2/interceptor/ApplicationAware.java | 39 + .../interceptor/BackgroundProcess.java | 133 + .../interceptor/CheckboxInterceptor.java | 91 + .../interceptor/CreateSessionInterceptor.java | 92 + .../ExecuteAndWaitInterceptor.java | 333 + .../interceptor/FileUploadInterceptor.java | 369 + .../interceptor/MessageStoreInterceptor.java | 330 + .../struts2/interceptor/NoParameters.java | 29 + .../struts2/interceptor/ParameterAware.java | 42 + .../struts2/interceptor/PrincipalAware.java | 30 + .../struts2/interceptor/PrincipalProxy.java | 86 + .../ProfilingActivationInterceptor.java | 63 + .../struts2/interceptor/RequestAware.java | 38 + .../struts2/interceptor/ScopeInterceptor.java | 441 + .../interceptor/ServletConfigInterceptor.java | 158 + .../interceptor/ServletRequestAware.java | 40 + .../interceptor/ServletResponseAware.java | 40 + .../struts2/interceptor/SessionAware.java | 40 + .../StrutsConversionErrorInterceptor.java | 122 + .../struts2/interceptor/TokenInterceptor.java | 171 + .../TokenSessionStoreInterceptor.java | 152 + .../debugging/DebuggingInterceptor.java | 358 + .../debugging/PrettyPrintWriter.java | 174 + .../portlet/PortletActionConstants.java | 103 + .../portlet/PortletApplicationMap.java | 203 + .../struts2/portlet/PortletRequestMap.java | 164 + .../struts2/portlet/PortletSessionMap.java | 168 + .../portlet/context/PortletActionContext.java | 193 + .../portlet/context/PreparatorServlet.java | 63 + .../context/ServletContextHolderListener.java | 60 + .../DirectRenderFromEventAction.java | 70 + .../portlet/dispatcher/Jsr168Dispatcher.java | 597 + .../struts2/portlet/result/PortletResult.java | 243 + .../portlet/result/PortletVelocityResult.java | 293 + .../portlet/util/PortletUrlHelper.java | 299 + .../spring/StrutsSpringObjectFactory.java | 85 + ...xternalReferenceResolverSetupListener.java | 114 + .../struts2/util/AppendIteratorFilter.java | 81 + .../org/apache/struts2/util/AttributeMap.java | 134 + .../apache/struts2/util/ClassLoaderUtils.java | 131 + .../org/apache/struts2/util/ContainUtil.java | 66 + .../java/org/apache/struts2/util/Counter.java | 120 + .../apache/struts2/util/DateFormatter.java | 90 + .../util/FastByteArrayOutputStream.java | 217 + .../struts2/util/InvocationSessionStore.java | 118 + .../struts2/util/IteratorFilterSupport.java | 56 + .../struts2/util/IteratorGenerator.java | 138 + .../org/apache/struts2/util/ListEntry.java | 49 + .../org/apache/struts2/util/MakeIterator.java | 106 + .../struts2/util/MergeIteratorFilter.java | 87 + .../util/ObjectFactoryDestroyable.java | 30 + .../util/ObjectFactoryInitializable.java | 30 + .../struts2/util/ObjectFactoryLifecycle.java | 30 + .../org/apache/struts2/util/PrefixTrie.java | 63 + .../ResolverSetupServletContextListener.java | 87 + .../struts2/util/ServletContextAware.java | 29 + .../struts2/util/SortIteratorFilter.java | 105 + .../java/org/apache/struts2/util/Sorter.java | 149 + .../struts2/util/StrutsTypeConverter.java | 89 + .../org/apache/struts2/util/StrutsUtil.java | 290 + .../struts2/util/SubsetIteratorFilter.java | 173 + .../org/apache/struts2/util/TabbedPane.java | 65 + .../java/org/apache/struts2/util/Timer.java | 48 + .../org/apache/struts2/util/TokenHelper.java | 183 + .../java/org/apache/struts2/util/URLBean.java | 96 + .../struts2/util/VelocityStrutsUtil.java | 55 + .../struts2/validators/DWRValidator.java | 134 + .../struts2/views/JspSupportServlet.java | 37 + .../views/freemarker/FreemarkerManager.java | 342 + .../views/freemarker/FreemarkerResult.java | 280 + .../freemarker/PortletFreemarkerResult.java | 283 + .../views/freemarker/ScopesHashModel.java | 118 + .../views/freemarker/StrutsBeanWrapper.java | 95 + .../freemarker/StrutsClassTemplateLoader.java | 32 + .../freemarker/tags/ActionErrorModel.java | 39 + .../freemarker/tags/ActionMessageModel.java | 39 + .../views/freemarker/tags/ActionModel.java | 39 + .../views/freemarker/tags/AnchorModel.java | 39 + .../views/freemarker/tags/BeanModel.java | 39 + .../views/freemarker/tags/CallbackWriter.java | 96 + .../freemarker/tags/CheckboxListModel.java | 39 + .../views/freemarker/tags/CheckboxModel.java | 39 + .../views/freemarker/tags/ComboBoxModel.java | 39 + .../views/freemarker/tags/ComponentModel.java | 39 + .../views/freemarker/tags/DateModel.java | 41 + .../freemarker/tags/DatePickerModel.java | 39 + .../views/freemarker/tags/DivModel.java | 39 + .../freemarker/tags/DoubleSelectModel.java | 39 + .../views/freemarker/tags/ElseIfModel.java | 41 + .../views/freemarker/tags/ElseModel.java | 42 + .../freemarker/tags/FieldErrorModel.java | 39 + .../views/freemarker/tags/FileModel.java | 39 + .../views/freemarker/tags/FormModel.java | 39 + .../views/freemarker/tags/HeadModel.java | 39 + .../views/freemarker/tags/HiddenModel.java | 39 + .../views/freemarker/tags/I18nModel.java | 39 + .../views/freemarker/tags/IfModel.java | 41 + .../views/freemarker/tags/IncludeModel.java | 39 + .../views/freemarker/tags/IteratorModel.java | 39 + .../views/freemarker/tags/LabelModel.java | 39 + .../views/freemarker/tags/OptGroupModel.java | 40 + .../tags/OptionTransferSelectModel.java | 41 + .../views/freemarker/tags/PanelModel.java | 39 + .../views/freemarker/tags/ParamModel.java | 39 + .../views/freemarker/tags/PasswordModel.java | 39 + .../views/freemarker/tags/PropertyModel.java | 39 + .../views/freemarker/tags/PushModel.java | 39 + .../views/freemarker/tags/RadioModel.java | 39 + .../views/freemarker/tags/ResetModel.java | 39 + .../views/freemarker/tags/SelectModel.java | 39 + .../views/freemarker/tags/SetModel.java | 39 + .../views/freemarker/tags/StrutsModels.java | 463 + .../views/freemarker/tags/SubmitModel.java | 39 + .../freemarker/tags/TabbedPanelModel.java | 39 + .../views/freemarker/tags/TagModel.java | 102 + .../views/freemarker/tags/TextAreaModel.java | 39 + .../views/freemarker/tags/TextFieldModel.java | 39 + .../views/freemarker/tags/TextModel.java | 39 + .../freemarker/tags/TimePickerModel.java | 21 + .../views/freemarker/tags/TokenModel.java | 39 + .../views/freemarker/tags/TreeModel.java | 41 + .../views/freemarker/tags/TreeNodeModel.java | 40 + .../views/freemarker/tags/URLModel.java | 39 + .../freemarker/tags/UpDownSelectModel.java | 42 + .../views/freemarker/tags/WebTableModel.java | 39 + .../apache/struts2/views/jsp/ActionTag.java | 75 + .../org/apache/struts2/views/jsp/BeanTag.java | 55 + .../views/jsp/ComponentTagSupport.java | 60 + .../org/apache/struts2/views/jsp/DateTag.java | 63 + .../apache/struts2/views/jsp/ElseIfTag.java | 48 + .../org/apache/struts2/views/jsp/ElseTag.java | 39 + .../org/apache/struts2/views/jsp/I18nTag.java | 51 + .../org/apache/struts2/views/jsp/IfTag.java | 49 + .../apache/struts2/views/jsp/IncludeTag.java | 51 + .../struts2/views/jsp/IteratorStatus.java | 74 + .../apache/struts2/views/jsp/IteratorTag.java | 81 + .../apache/struts2/views/jsp/ParamTag.java | 57 + .../apache/struts2/views/jsp/PropertyTag.java | 64 + .../org/apache/struts2/views/jsp/PushTag.java | 51 + .../org/apache/struts2/views/jsp/SetTag.java | 64 + .../views/jsp/StrutsBodyTagSupport.java | 124 + .../apache/struts2/views/jsp/TagUtils.java | 104 + .../org/apache/struts2/views/jsp/TextTag.java | 51 + .../org/apache/struts2/views/jsp/URLTag.java | 120 + .../views/jsp/iterator/AppendIteratorTag.java | 44 + .../jsp/iterator/IteratorGeneratorTag.java | 253 + .../views/jsp/iterator/MergeIteratorTag.java | 45 + .../views/jsp/iterator/SortIteratorTag.java | 152 + .../views/jsp/iterator/SubsetIteratorTag.java | 288 + .../org/apache/struts2/views/jsp/package.html | 1 + .../views/jsp/ui/AbstractClosingTag.java | 36 + .../views/jsp/ui/AbstractDoubleListTag.java | 369 + .../struts2/views/jsp/ui/AbstractListTag.java | 49 + .../views/jsp/ui/AbstractRequiredListTag.java | 34 + .../struts2/views/jsp/ui/AbstractUITag.java | 225 + .../struts2/views/jsp/ui/ActionErrorTag.java | 40 + .../views/jsp/ui/ActionMessageTag.java | 39 + .../struts2/views/jsp/ui/AnchorTag.java | 83 + .../struts2/views/jsp/ui/CheckboxListTag.java | 39 + .../struts2/views/jsp/ui/CheckboxTag.java | 51 + .../struts2/views/jsp/ui/ComboBoxTag.java | 80 + .../struts2/views/jsp/ui/ComponentTag.java | 38 + .../struts2/views/jsp/ui/DatePickerTag.java | 71 + .../apache/struts2/views/jsp/ui/DebugTag.java | 19 + .../apache/struts2/views/jsp/ui/DivTag.java | 90 + .../struts2/views/jsp/ui/DoubleSelectTag.java | 50 + .../struts2/views/jsp/ui/FieldErrorTag.java | 39 + .../apache/struts2/views/jsp/ui/FileTag.java | 58 + .../apache/struts2/views/jsp/ui/FormTag.java | 106 + .../apache/struts2/views/jsp/ui/HeadTag.java | 63 + .../struts2/views/jsp/ui/HiddenTag.java | 39 + .../apache/struts2/views/jsp/ui/LabelTag.java | 51 + .../apache/struts2/views/jsp/ui/OgnlTool.java | 45 + .../struts2/views/jsp/ui/OptGroupTag.java | 76 + .../views/jsp/ui/OptionTransferSelectTag.java | 225 + .../apache/struts2/views/jsp/ui/PanelTag.java | 63 + .../struts2/views/jsp/ui/PasswordTag.java | 55 + .../apache/struts2/views/jsp/ui/RadioTag.java | 39 + .../apache/struts2/views/jsp/ui/ResetTag.java | 70 + .../struts2/views/jsp/ui/SelectTag.java | 77 + .../struts2/views/jsp/ui/SubmitTag.java | 113 + .../struts2/views/jsp/ui/TabbedPanelTag.java | 50 + .../struts2/views/jsp/ui/TextFieldTag.java | 70 + .../struts2/views/jsp/ui/TextareaTag.java | 71 + .../struts2/views/jsp/ui/TimePickerTag.java | 69 + .../apache/struts2/views/jsp/ui/TokenTag.java | 39 + .../struts2/views/jsp/ui/TreeNodeTag.java | 53 + .../apache/struts2/views/jsp/ui/TreeTag.java | 302 + .../struts2/views/jsp/ui/UpDownSelectTag.java | 120 + .../views/jsp/ui/table/WebTableTag.java | 71 + .../struts2/views/util/ContextUtil.java | 94 + .../struts2/views/util/ResourceUtil.java | 35 + .../apache/struts2/views/util/TextUtil.java | 242 + .../apache/struts2/views/util/UrlHelper.java | 307 + .../apache/struts2/views/util/package.html | 1 + .../views/velocity/StrutsResourceLoader.java | 48 + .../views/velocity/StrutsVelocityContext.java | 112 + .../views/velocity/StrutsVelocityServlet.java | 135 + .../views/velocity/VelocityManager.java | 672 + .../components/AbstractDirective.java | 126 + .../velocity/components/ActionDirective.java | 39 + .../components/ActionErrorDirective.java | 39 + .../components/ActionMessageDirective.java | 39 + .../velocity/components/AnchorDirective.java | 43 + .../velocity/components/BeanDirective.java | 39 + .../components/CheckBoxDirective.java | 39 + .../components/CheckBoxListDirective.java | 39 + .../components/ComboBoxDirective.java | 39 + .../components/ComponentDirective.java | 43 + .../velocity/components/DateDirective.java | 40 + .../components/DatePickerDirective.java | 39 + .../velocity/components/DivDirective.java | 39 + .../components/DoubleSelectDirective.java | 39 + .../components/FieldErrorDirective.java | 39 + .../velocity/components/FileDirective.java | 39 + .../velocity/components/FormDirective.java | 43 + .../velocity/components/HeadDirective.java | 39 + .../velocity/components/HiddenDirective.java | 39 + .../velocity/components/I18nDirective.java | 39 + .../velocity/components/IncludeDirective.java | 39 + .../velocity/components/LabelDirective.java | 39 + .../components/OptGroupDirective.java | 41 + .../OptionTransferSelectDirective.java | 41 + .../velocity/components/PanelDirective.java | 39 + .../velocity/components/ParamDirective.java | 39 + .../components/PasswordDirective.java | 39 + .../components/PropertyDirective.java | 38 + .../velocity/components/PushDirective.java | 39 + .../velocity/components/RadioDirective.java | 39 + .../velocity/components/ResetDirective.java | 39 + .../velocity/components/SelectDirective.java | 39 + .../velocity/components/SetDirective.java | 39 + .../velocity/components/SubmitDirective.java | 39 + .../components/TabbedPanelDirective.java | 39 + .../components/TextAreaDirective.java | 39 + .../velocity/components/TextDirective.java | 39 + .../components/TextFieldDirective.java | 39 + .../velocity/components/TokenDirective.java | 39 + .../velocity/components/TreeDirective.java | 40 + .../components/TreeNodeDirective.java | 41 + .../velocity/components/URLDirective.java | 39 + .../components/UpDownSelectDirective.java | 41 + .../components/WebTableDirective.java | 39 + .../struts2/views/velocity/package.html | 1 + .../views/xslt/AbstractAdapterElement.java | 137 + .../views/xslt/AbstractAdapterNode.java | 380 + .../struts2/views/xslt/AdapterFactory.java | 239 + .../struts2/views/xslt/AdapterNode.java | 75 + .../struts2/views/xslt/ArrayAdapter.java | 57 + .../struts2/views/xslt/BeanAdapter.java | 172 + .../struts2/views/xslt/CollectionAdapter.java | 57 + .../apache/struts2/views/xslt/MapAdapter.java | 83 + .../struts2/views/xslt/ProxyAttrAdapter.java | 82 + .../views/xslt/ProxyElementAdapter.java | 165 + .../struts2/views/xslt/ProxyNamedNodeMap.java | 78 + .../struts2/views/xslt/ProxyNodeAdapter.java | 131 + .../views/xslt/ProxyTextNodeAdapter.java | 94 + .../views/xslt/ServletURIResolver.java | 70 + .../views/xslt/SimpleAdapterDocument.java | 254 + .../struts2/views/xslt/SimpleNodeList.java | 55 + .../struts2/views/xslt/SimpleTextNode.java | 102 + .../struts2/views/xslt/StringAdapter.java | 112 + .../apache/struts2/views/xslt/XSLTResult.java | 347 + .../apache/struts2/views/xslt/package.html | 24 + .../main/resources/META-INF/struts-tags.tld | 11308 ++++++++++++++++ .../org/apache/struts2/default.properties | 146 + .../org/apache/struts2/dispatcher/error.ftl | 123 + .../struts2/interceptor/debugging/console.ftl | 14 + .../interceptor/debugging/webconsole.css | 19 + .../interceptor/debugging/webconsole.html | 21 + .../interceptor/debugging/webconsole.js | 58 + .../apache/struts2/interceptor/package.html | 1 + .../org/apache/struts2/interceptor/wait.ftl | 11 + .../resources/org/apache/struts2/package.html | 1 + .../struts2/sitegraph/sitegraph-usage.txt | 7 + .../apache/struts2/static/CommonFunctions.js | 97 + .../org/apache/struts2/static/dojo/LICENSE | 195 + .../org/apache/struts2/static/dojo/README | 175 + .../org/apache/struts2/static/dojo/build.txt | 13 + .../org/apache/struts2/static/dojo/dojo.js | 2521 ++++ .../static/dojo/dojo.js.uncompressed.js | 3476 +++++ .../apache/struts2/static/dojo/src/alg/Alg.js | 49 + .../static/dojo/src/alg/__package__.js | 12 + .../static/dojo/src/animation/Animation.js | 361 + .../static/dojo/src/animation/Timer.js | 39 + .../static/dojo/src/animation/__package__.js | 14 + .../struts2/static/dojo/src/bootstrap1.js | 663 + .../struts2/static/dojo/src/bootstrap2.js | 90 + .../struts2/static/dojo/src/browser_debug.js | 156 + .../static/dojo/src/collections/ArrayList.js | 101 + .../static/dojo/src/collections/BinaryTree.js | 200 + .../static/dojo/src/collections/ByteArray.js | 19 + .../dojo/src/collections/Collections.js | 74 + .../static/dojo/src/collections/Dictionary.js | 76 + .../static/dojo/src/collections/Graph.js | 142 + .../static/dojo/src/collections/List.js | 17 + .../static/dojo/src/collections/Queue.js | 51 + .../static/dojo/src/collections/Set.js | 75 + .../static/dojo/src/collections/SkipList.js | 143 + .../static/dojo/src/collections/SortedList.js | 141 + .../static/dojo/src/collections/Stack.js | 51 + .../dojo/src/collections/__package__.js | 22 + .../apache/struts2/static/dojo/src/crypto.js | 15 + .../static/dojo/src/crypto/Blowfish.js | 548 + .../struts2/static/dojo/src/crypto/LICENSE | 11 + .../struts2/static/dojo/src/crypto/MD5.js | 197 + .../static/dojo/src/crypto/Rijndael.js | 21 + .../struts2/static/dojo/src/crypto/SHA.js | 17 + .../struts2/static/dojo/src/crypto/SHA1.js | 150 + .../struts2/static/dojo/src/crypto/SHA256.js | 17 + .../static/dojo/src/crypto/__package__.js | 17 + .../apache/struts2/static/dojo/src/data.js | 15 + .../static/dojo/src/data/__package__.js | 14 + .../apache/struts2/static/dojo/src/date.js | 384 + .../static/dojo/src/dnd/DragAndDrop.js | 158 + .../static/dojo/src/dnd/HtmlDragAndDrop.js | 381 + .../static/dojo/src/dnd/HtmlDragManager.js | 365 + .../static/dojo/src/dnd/HtmlDragMove.js | 74 + .../struts2/static/dojo/src/dnd/Sortable.js | 28 + .../static/dojo/src/dnd/TreeDragAndDrop.js | 180 + .../static/dojo/src/dnd/__package__.js | 15 + .../org/apache/struts2/static/dojo/src/dom.js | 465 + .../apache/struts2/static/dojo/src/event.js | 484 + .../static/dojo/src/event/__package__.js | 15 + .../struts2/static/dojo/src/event/browser.js | 266 + .../struts2/static/dojo/src/event/topic.js | 90 + .../apache/struts2/static/dojo/src/flash.js | 703 + .../src/flash/flash6/DojoExternalInterface.as | 154 + .../src/flash/flash8/DojoExternalInterface.as | 44 + .../struts2/static/dojo/src/fx/__package__.js | 14 + .../apache/struts2/static/dojo/src/fx/html.js | 565 + .../apache/struts2/static/dojo/src/fx/svg.js | 100 + .../static/dojo/src/graphics/Colorspace.js | 944 ++ .../static/dojo/src/graphics/__package__.js | 14 + .../struts2/static/dojo/src/graphics/color.js | 414 + .../static/dojo/src/graphics/htmlEffects.js | 16 + .../static/dojo/src/hostenv_adobesvg.js | 571 + .../static/dojo/src/hostenv_browser.js | 375 + .../struts2/static/dojo/src/hostenv_jsc.js | 76 + .../struts2/static/dojo/src/hostenv_rhino.js | 176 + .../static/dojo/src/hostenv_spidermonkey.js | 80 + .../struts2/static/dojo/src/hostenv_svg.js | 223 + .../struts2/static/dojo/src/hostenv_wsh.js | 46 + .../apache/struts2/static/dojo/src/html.js | 987 ++ .../struts2/static/dojo/src/iCalendar.js | 264 + .../org/apache/struts2/static/dojo/src/io.js | 317 + .../struts2/static/dojo/src/io/BrowserIO.js | 623 + .../struts2/static/dojo/src/io/IframeIO.js | 219 + .../struts2/static/dojo/src/io/RepubsubIO.js | 524 + .../struts2/static/dojo/src/io/RhinoIO.js | 22 + .../struts2/static/dojo/src/io/__package__.js | 16 + .../struts2/static/dojo/src/io/cookie.js | 103 + .../struts2/static/dojo/src/io/cookies.js | 14 + .../apache/struts2/static/dojo/src/json.js | 126 + .../apache/struts2/static/dojo/src/lang.js | 687 + .../struts2/static/dojo/src/lang/Lang.js | 12 + .../static/dojo/src/lang/__package__.js | 14 + .../struts2/static/dojo/src/logging/Logger.js | 408 + .../static/dojo/src/logging/__package__.js | 15 + .../apache/struts2/static/dojo/src/math.js | 134 + .../struts2/static/dojo/src/math/Math.js | 12 + .../static/dojo/src/math/__package__.js | 18 + .../struts2/static/dojo/src/math/curves.js | 222 + .../struts2/static/dojo/src/math/matrix.js | 305 + .../struts2/static/dojo/src/math/points.js | 47 + .../apache/struts2/static/dojo/src/profile.js | 117 + .../static/dojo/src/reflect/__package__.js | 14 + .../static/dojo/src/reflect/reflection.js | 197 + .../apache/struts2/static/dojo/src/regexp.js | 566 + .../struts2/static/dojo/src/rpc/Deferred.js | 372 + .../struts2/static/dojo/src/rpc/JotService.js | 40 + .../static/dojo/src/rpc/JsonService.js | 97 + .../struts2/static/dojo/src/rpc/RpcService.js | 114 + .../static/dojo/src/rpc/__package__.js | 14 + .../struts2/static/dojo/src/selection.js | 403 + .../apache/struts2/static/dojo/src/storage.js | 72 + .../static/dojo/src/storage/Storage.as | 51 + .../static/dojo/src/storage/Storage.swf | Bin 0 -> 642 bytes .../static/dojo/src/storage/__package__.js | 16 + .../static/dojo/src/storage/browser.js | 102 + .../static/dojo/src/storage/storage.sh | 3 + .../apache/struts2/static/dojo/src/string.js | 318 + .../struts2/static/dojo/src/string/Builder.js | 105 + .../static/dojo/src/string/__package__.js | 17 + .../apache/struts2/static/dojo/src/style.js | 540 + .../org/apache/struts2/static/dojo/src/svg.js | 277 + .../struts2/static/dojo/src/text/Builder.js | 16 + .../struts2/static/dojo/src/text/String.js | 15 + .../struts2/static/dojo/src/text/Text.js | 15 + .../static/dojo/src/text/__package__.js | 17 + .../static/dojo/src/text/textDirectory.js | 81 + .../struts2/static/dojo/src/undo/Manager.js | 91 + .../apache/struts2/static/dojo/src/uri/Uri.js | 108 + .../static/dojo/src/uri/__package__.js | 14 + .../struts2/static/dojo/src/validate.js | 781 ++ .../static/dojo/src/webui/DomWidget.js | 28 + .../static/dojo/src/webui/HtmlWidget.js | 19 + .../static/dojo/src/webui/SvgWidget.js | 19 + .../struts2/static/dojo/src/webui/Widget.js | 21 + .../static/dojo/src/webui/WidgetManager.js | 18 + .../static/dojo/src/webui/__package__.js | 21 + .../static/dojo/src/webui/widgets/Button.js | 17 + .../static/dojo/src/webui/widgets/ComboBox.js | 19 + .../dojo/src/webui/widgets/ContextMenu.js | 17 + .../dojo/src/webui/widgets/DropdownButtons.js | 19 + .../dojo/src/webui/widgets/HTMLButton.js | 17 + .../dojo/src/webui/widgets/HTMLComboBox.js | 17 + .../dojo/src/webui/widgets/HTMLContextMenu.js | 17 + .../static/dojo/src/webui/widgets/HTMLMenu.js | 17 + .../dojo/src/webui/widgets/HTMLMenuItem.js | 17 + .../webui/widgets/HTMLResizableTextarea.js | 17 + .../dojo/src/webui/widgets/InlineEditBox.js | 18 + .../static/dojo/src/webui/widgets/Menu.js | 18 + .../static/dojo/src/webui/widgets/MenuItem.js | 18 + .../static/dojo/src/webui/widgets/Parse.js | 22 + .../dojo/src/webui/widgets/SVGButton.js | 17 + .../dojo/src/webui/widgets/SlideShow.js | 18 + .../static/dojo/src/webui/widgets/Tabs.js | 18 + .../dojo/src/webui/widgets/__package__.js | 14 + .../static/dojo/src/widget/Accordion.js | 200 + .../struts2/static/dojo/src/widget/Button.js | 23 + .../struts2/static/dojo/src/widget/Button2.js | 55 + .../struts2/static/dojo/src/widget/Chart.js | 170 + .../static/dojo/src/widget/Checkbox.js | 28 + .../dojo/src/widget/CiviCrmDatePicker.js | 119 + .../static/dojo/src/widget/ColorPalette.js | 181 + .../static/dojo/src/widget/ComboBox.js | 197 + .../static/dojo/src/widget/Container.js | 12 + .../static/dojo/src/widget/ContentPane.js | 16 + .../static/dojo/src/widget/ContextMenu.js | 33 + .../static/dojo/src/widget/DatePicker.js | 74 + .../static/dojo/src/widget/DebugConsole.js | 22 + .../struts2/static/dojo/src/widget/Dialog.js | 297 + .../static/dojo/src/widget/DomWidget.js | 534 + .../static/dojo/src/widget/DropdownButton.js | 29 + .../struts2/static/dojo/src/widget/Editor.js | 619 + .../static/dojo/src/widget/EditorTree.js | 499 + .../dojo/src/widget/EditorTreeContextMenu.js | 136 + .../dojo/src/widget/EditorTreeController.js | 742 + .../static/dojo/src/widget/EditorTreeNode.js | 454 + .../dojo/src/widget/EditorTreeSelector.js | 34 + .../static/dojo/src/widget/FisheyeList.js | 742 + .../static/dojo/src/widget/FloatingPane.js | 528 + .../static/dojo/src/widget/HslColorPicker.js | 25 + .../static/dojo/src/widget/HtmlWidget.js | 226 + .../static/dojo/src/widget/InlineEditBox.js | 196 + .../static/dojo/src/widget/LayoutPane.js | 17 + .../static/dojo/src/widget/LinkPane.js | 17 + .../struts2/static/dojo/src/widget/Manager.js | 279 + .../struts2/static/dojo/src/widget/Menu.js | 59 + .../struts2/static/dojo/src/widget/Menu2.js | 703 + .../static/dojo/src/widget/MenuItem.js | 47 + .../struts2/static/dojo/src/widget/Parse.js | 320 + .../static/dojo/src/widget/PopUpButton.js | 192 + .../dojo/src/widget/ResizableTextarea.js | 110 + .../static/dojo/src/widget/ResizeHandle.js | 101 + .../static/dojo/src/widget/RichText.js | 1041 ++ .../dojo/src/widget/SimpleDropdownButtons.js | 158 + .../static/dojo/src/widget/SlideShow.js | 133 + .../static/dojo/src/widget/SplitPane.js | 514 + .../static/dojo/src/widget/SvgButton.js | 143 + .../static/dojo/src/widget/SvgWidget.js | 92 + .../struts2/static/dojo/src/widget/TabPane.js | 155 + .../struts2/static/dojo/src/widget/Tabs.js | 279 + .../struts2/static/dojo/src/widget/TaskBar.js | 32 + .../dojo/src/widget/TemplatedContainer.js | 50 + .../static/dojo/src/widget/TimePicker.js | 113 + .../struts2/static/dojo/src/widget/Toggler.js | 40 + .../struts2/static/dojo/src/widget/Toolbar.js | 960 ++ .../struts2/static/dojo/src/widget/Tooltip.js | 24 + .../struts2/static/dojo/src/widget/Tree.js | 515 + .../struts2/static/dojo/src/widget/Widget.js | 475 + .../struts2/static/dojo/src/widget/Wizard.js | 209 + .../static/dojo/src/widget/__package__.js | 20 + .../static/dojo/src/widget/html/Button.js | 63 + .../static/dojo/src/widget/html/Button2.js | 280 + .../static/dojo/src/widget/html/Checkbox.js | 105 + .../static/dojo/src/widget/html/ComboBox.js | 419 + .../static/dojo/src/widget/html/Container.js | 46 + .../dojo/src/widget/html/ContentPane.js | 127 + .../dojo/src/widget/html/ContextMenu.js | 166 + .../static/dojo/src/widget/html/DatePicker.js | 307 + .../dojo/src/widget/html/DebugConsole.js | 32 + .../dojo/src/widget/html/DropdownButton.js | 188 + .../static/dojo/src/widget/html/LayoutPane.js | 418 + .../static/dojo/src/widget/html/LinkPane.js | 55 + .../static/dojo/src/widget/html/Menu.js | 51 + .../static/dojo/src/widget/html/MenuItem.js | 60 + .../static/dojo/src/widget/html/TaskBar.js | 74 + .../static/dojo/src/widget/html/TimePicker.js | 248 + .../static/dojo/src/widget/html/Tooltip.js | 108 + .../static/dojo/src/widget/html/stabile.js | 208 + .../static/dojo/src/widget/svg/Chart.js | 534 + .../dojo/src/widget/svg/HslColorPicker.js | 139 + .../src/widget/templates/AccordionPanel.css | 24 + .../src/widget/templates/AccordionPanel.html | 35 + .../src/widget/templates/HslColorPicker.svg | 30 + .../widget/templates/HtmlButton2Template.css | 59 + .../widget/templates/HtmlButton2Template.html | 6 + .../widget/templates/HtmlButtonTemplate.css | 83 + .../widget/templates/HtmlButtonTemplate.html | 3 + .../templates/HtmlCiviCrmDatePicker.html | 12 + .../src/widget/templates/HtmlComboBox.css | 39 + .../src/widget/templates/HtmlComboBox.html | 34 + .../templates/HtmlComboButton2Template.html | 18 + .../templates/HtmlContextMenuTemplate.html | 3 + .../src/widget/templates/HtmlDatePicker.css | 77 + .../src/widget/templates/HtmlDatePicker.html | 110 + .../dojo/src/widget/templates/HtmlDialog.html | 13 + .../templates/HtmlDropDownButtonTemplate.html | 9 + .../src/widget/templates/HtmlFisheyeList.css | 27 + .../src/widget/templates/HtmlFloatingPane.css | 94 + .../widget/templates/HtmlInlineEditBox.css | 24 + .../widget/templates/HtmlInlineEditBox.html | 9 + .../src/widget/templates/HtmlLayoutPane.css | 13 + .../dojo/src/widget/templates/HtmlMenu2.css | 129 + .../templates/HtmlMenuItemTemplate.html | 2 + .../templates/HtmlResizableTextarea.css | 15 + .../templates/HtmlResizableTextarea.html | 14 + .../src/widget/templates/HtmlResizeHandle.css | 19 + .../templates/HtmlSimpleDropdownButtons.css | 100 + .../src/widget/templates/HtmlSlideShow.css | 9 + .../src/widget/templates/HtmlSlideShow.html | 21 + .../src/widget/templates/HtmlSplitPane.css | 45 + .../dojo/src/widget/templates/HtmlTabPane.css | 69 + .../dojo/src/widget/templates/HtmlTabs.css | 81 + .../dojo/src/widget/templates/HtmlTaskBar.css | 27 + .../templates/HtmlTaskBarItemTemplate.html | 2 + .../src/widget/templates/HtmlTimePicker.css | 37 + .../src/widget/templates/HtmlTimePicker.html | 99 + .../dojo/src/widget/templates/HtmlToolbar.css | 54 + .../widget/templates/HtmlTooltipTemplate.css | 10 + .../widget/templates/HtmlTooltipTemplate.html | 2 + .../static/dojo/src/widget/templates/Menu.css | 60 + .../dojo/src/widget/templates/PopUpButton.css | 35 + .../static/dojo/src/widget/templates/Tree.css | 29 + .../dojo/src/widget/templates/Wizard.css | 72 + .../dojo/src/widget/templates/Wizard.html | 11 + .../dojo/src/widget/templates/buttons/-.gif | Bin 0 -> 58 bytes .../widget/templates/buttons/backcolor.gif | Bin 0 -> 652 bytes .../src/widget/templates/buttons/bold.gif | Bin 0 -> 74 bytes .../src/widget/templates/buttons/cancel.gif | Bin 0 -> 618 bytes .../src/widget/templates/buttons/copy.gif | Bin 0 -> 110 bytes .../widget/templates/buttons/createlink.gif | Bin 0 -> 651 bytes .../dojo/src/widget/templates/buttons/cut.gif | Bin 0 -> 91 bytes .../src/widget/templates/buttons/delete.gif | Bin 0 -> 90 bytes .../widget/templates/buttons/forecolor.gif | Bin 0 -> 612 bytes .../widget/templates/buttons/hilitecolor.gif | Bin 0 -> 652 bytes .../src/widget/templates/buttons/indent.gif | Bin 0 -> 87 bytes .../buttons/inserthorizontalrule.gif | Bin 0 -> 70 bytes .../widget/templates/buttons/insertimage.gif | Bin 0 -> 621 bytes .../templates/buttons/insertorderedlist.gif | Bin 0 -> 82 bytes .../widget/templates/buttons/inserttable.gif | Bin 0 -> 121 bytes .../templates/buttons/insertunorderedlist.gif | Bin 0 -> 80 bytes .../src/widget/templates/buttons/italic.gif | Bin 0 -> 77 bytes .../templates/buttons/justifycenter.gif | Bin 0 -> 69 bytes .../widget/templates/buttons/justifyfull.gif | Bin 0 -> 69 bytes .../widget/templates/buttons/justifyleft.gif | Bin 0 -> 69 bytes .../widget/templates/buttons/justifyright.gif | Bin 0 -> 68 bytes .../templates/buttons/left_to_right.gif | Bin 0 -> 89 bytes .../templates/buttons/list_bullet_indent.gif | Bin 0 -> 851 bytes .../templates/buttons/list_bullet_outdent.gif | Bin 0 -> 852 bytes .../templates/buttons/list_num_indent.gif | Bin 0 -> 855 bytes .../templates/buttons/list_num_outdent.gif | Bin 0 -> 855 bytes .../src/widget/templates/buttons/outdent.gif | Bin 0 -> 87 bytes .../src/widget/templates/buttons/paste.gif | Bin 0 -> 139 bytes .../src/widget/templates/buttons/redo.gif | Bin 0 -> 80 bytes .../widget/templates/buttons/removeformat.gif | Bin 0 -> 118 bytes .../templates/buttons/right_to_left.gif | Bin 0 -> 88 bytes .../src/widget/templates/buttons/save.gif | Bin 0 -> 352 bytes .../src/widget/templates/buttons/space.gif | Bin 0 -> 43 bytes .../templates/buttons/strikethrough.gif | Bin 0 -> 78 bytes .../widget/templates/buttons/subscript.gif | Bin 0 -> 78 bytes .../widget/templates/buttons/superscript.gif | Bin 0 -> 77 bytes .../widget/templates/buttons/underline.gif | Bin 0 -> 85 bytes .../src/widget/templates/buttons/undo.gif | Bin 0 -> 81 bytes .../src/widget/templates/buttons/wikiword.gif | Bin 0 -> 232 bytes .../dojo/src/widget/templates/check_off.gif | Bin 0 -> 846 bytes .../dojo/src/widget/templates/check_on.gif | Bin 0 -> 855 bytes .../src/widget/templates/decrementMonth.gif | Bin 0 -> 166 bytes .../src/widget/templates/decrementWeek.gif | Bin 0 -> 160 bytes .../dojo/src/widget/templates/grabCorner.gif | Bin 0 -> 858 bytes .../images/EditorTree/EditorTree.css | 30 + .../templates/images/EditorTree/blank.gif | Bin 0 -> 47 bytes .../templates/images/EditorTree/closed.gif | Bin 0 -> 126 bytes .../templates/images/EditorTree/document.gif | Bin 0 -> 118 bytes .../templates/images/EditorTree/minus.gif | Bin 0 -> 70 bytes .../templates/images/EditorTree/open.gif | Bin 0 -> 142 bytes .../templates/images/EditorTree/plus.gif | Bin 0 -> 75 bytes .../images/EditorTree/treenode_blank.gif | Bin 0 -> 834 bytes .../images/EditorTree/treenode_child.gif | Bin 0 -> 859 bytes .../EditorTree/treenode_expand_minus.gif | Bin 0 -> 936 bytes .../EditorTree/treenode_expand_plus.gif | Bin 0 -> 932 bytes .../images/EditorTree/treenode_grid_c.gif | Bin 0 -> 840 bytes .../images/EditorTree/treenode_grid_l.gif | Bin 0 -> 852 bytes .../images/EditorTree/treenode_grid_p.gif | Bin 0 -> 844 bytes .../images/EditorTree/treenode_grid_t.gif | Bin 0 -> 861 bytes .../images/EditorTree/treenode_grid_v.gif | Bin 0 -> 857 bytes .../images/EditorTree/treenode_grid_x.gif | Bin 0 -> 840 bytes .../images/EditorTree/treenode_grid_y.gif | Bin 0 -> 851 bytes .../images/EditorTree/treenode_grid_z.gif | Bin 0 -> 840 bytes .../images/EditorTree/treenode_loading.gif | Bin 0 -> 680 bytes .../src/widget/templates/images/blank.gif | Bin 0 -> 43 bytes .../templates/images/combo_box_arrow.png | Bin 0 -> 305 bytes .../images/dropdownButtonsArrow-disabled.gif | Bin 0 -> 52 bytes .../templates/images/dropdownButtonsArrow.gif | Bin 0 -> 46 bytes .../templates/images/floatingPaneClose.gif | Bin 0 -> 110 bytes .../templates/images/floatingPaneMaximize.gif | Bin 0 -> 234 bytes .../templates/images/floatingPaneMinimize.gif | Bin 0 -> 91 bytes .../templates/images/floatingPaneRestore.gif | Bin 0 -> 379 bytes .../dojo/src/widget/templates/images/hue.png | Bin 0 -> 365 bytes .../dojo/src/widget/templates/images/no.gif | Bin 0 -> 338 bytes .../dojo/src/widget/templates/images/no.svg | 51 + .../images/pill-button-blue_benji-c.gif | Bin 0 -> 4433 bytes .../images/pill-button-blue_benji-l.gif | Bin 0 -> 4349 bytes .../images/pill-button-blue_benji-r.gif | Bin 0 -> 4361 bytes .../images/pill-button-blue_benji_p_01.svg | 69 + .../images/pill-button-gray_benji-c.gif | Bin 0 -> 1350 bytes .../images/pill-button-gray_benji-l.gif | Bin 0 -> 850 bytes .../images/pill-button-gray_benji-r.gif | Bin 0 -> 836 bytes .../images/pill-button-gray_benji.svg | 69 + .../images/pill-button-purple_benji-c.gif | Bin 0 -> 4415 bytes .../images/pill-button-purple_benji-l.gif | Bin 0 -> 4397 bytes .../images/pill-button-purple_benji-r.gif | Bin 0 -> 4361 bytes .../images/pill-button-purple_benji_01.svg | 65 + .../images/pill-button-seagreen_ben_01.svg | 65 + .../images/pill-button-seagreen_benji-c.gif | Bin 0 -> 4454 bytes .../images/pill-button-seagreen_benji-l.gif | Bin 0 -> 4136 bytes .../images/pill-button-seagreen_benji-r.gif | Bin 0 -> 4104 bytes .../src/widget/templates/images/shadowB.png | Bin 0 -> 271 bytes .../src/widget/templates/images/shadowBL.png | Bin 0 -> 278 bytes .../src/widget/templates/images/shadowBR.png | Bin 0 -> 261 bytes .../src/widget/templates/images/shadowL.png | Bin 0 -> 181 bytes .../src/widget/templates/images/shadowR.png | Bin 0 -> 182 bytes .../src/widget/templates/images/shadowTR..png | Bin 0 -> 348 bytes .../src/widget/templates/images/shadowUL.png | Bin 0 -> 260 bytes .../src/widget/templates/images/shadowUR.png | Bin 0 -> 276 bytes .../widget/templates/images/submenu_off.gif | Bin 0 -> 822 bytes .../widget/templates/images/submenu_on.gif | Bin 0 -> 822 bytes .../src/widget/templates/images/tab_left.gif | Bin 0 -> 609 bytes .../widget/templates/images/tab_left_r.gif | Bin 0 -> 364 bytes .../templates/images/tab_left_r_curr.gif | Bin 0 -> 341 bytes .../src/widget/templates/images/tab_right.gif | Bin 0 -> 2574 bytes .../widget/templates/images/tab_right_r.gif | Bin 0 -> 1353 bytes .../templates/images/tab_right_r_curr.gif | Bin 0 -> 1228 bytes .../widget/templates/images/titlebar-bg.jpg | Bin 0 -> 512 bytes .../widget/templates/images/toolbar-bg.gif | Bin 0 -> 878 bytes .../widget/templates/images/transparent.gif | Bin 0 -> 870 bytes .../templates/images/treenode_blank.gif | Bin 0 -> 834 bytes .../images/treenode_expand_minus.gif | Bin 0 -> 936 bytes .../templates/images/treenode_expand_plus.gif | Bin 0 -> 932 bytes .../templates/images/treenode_grid_c.gif | Bin 0 -> 840 bytes .../templates/images/treenode_grid_l.gif | Bin 0 -> 852 bytes .../templates/images/treenode_grid_p.gif | Bin 0 -> 844 bytes .../templates/images/treenode_grid_t.gif | Bin 0 -> 861 bytes .../templates/images/treenode_grid_v.gif | Bin 0 -> 857 bytes .../templates/images/treenode_grid_x.gif | Bin 0 -> 840 bytes .../templates/images/treenode_grid_y.gif | Bin 0 -> 851 bytes .../templates/images/treenode_grid_z.gif | Bin 0 -> 840 bytes .../widget/templates/images/treenode_node.gif | Bin 0 -> 957 bytes .../widget/templates/images/verticalbar.gif | Bin 0 -> 158 bytes .../templates/images/whiteDownArrow.gif | Bin 0 -> 46 bytes .../src/widget/templates/incrementMonth.gif | Bin 0 -> 168 bytes .../src/widget/templates/incrementWeek.gif | Bin 0 -> 159 bytes .../struts2/static/dojo/src/xml/Parse.js | 171 + .../static/dojo/src/xml/__package__.js | 17 + .../struts2/static/dojo/src/xml/domUtil.js | 84 + .../struts2/static/dojo/src/xml/htmlUtil.js | 121 + .../struts2/static/dojo/src/xml/svgUtil.js | 32 + .../apache/struts2/static/dojo/struts/Util.js | 51 + .../struts2/static/dojo/struts/tooltip.gif | Bin 0 -> 324 bytes .../static/dojo/struts/widgets/Bind.html | 1 + .../static/dojo/struts/widgets/Bind.js | 202 + .../dojo/struts/widgets/BindAnchor.html | 2 + .../static/dojo/struts/widgets/BindAnchor.js | 75 + .../dojo/struts/widgets/BindButton.html | 2 + .../static/dojo/struts/widgets/BindButton.js | 69 + .../static/dojo/struts/widgets/BindDiv.html | 2 + .../static/dojo/struts/widgets/BindDiv.js | 157 + .../dojo/struts/widgets/DateTimeUtil.js | 249 + .../dojo/struts/widgets/DropDownDatePicker.js | 54 + .../dojo/struts/widgets/DropDownTimePicker.js | 46 + .../dojo/struts/widgets/DropdownContainer.js | 75 + .../dojo/struts/widgets/DynArchCalendar.html | 4 + .../dojo/struts/widgets/DynArchCalendar.js | 151 + .../dojo/struts/widgets/ToggleBindDiv.js | 58 + .../static/dojo/struts/widgets/__package__.js | 12 + .../static/dojo/struts/widgets/dateIcon.gif | Bin 0 -> 392 bytes .../dojo/struts/widgets/dropdowncontainer.css | 0 .../struts/widgets/dropdowncontainer.html | 18 + .../static/dojo/struts/widgets/timeIcon.gif | Bin 0 -> 392 bytes .../struts2/static/niftycorners/layout.js | 13 + .../struts2/static/niftycorners/nifty.js | 174 + .../static/niftycorners/niftyCorners.css | 21 + .../static/niftycorners/niftyPrint.css | 2 + .../static/niftycorners/niftylayout.css | 57 + .../struts2/static/optiontransferselect.js | 163 + .../org/apache/struts2/static/tabs.css | 79 + .../org/apache/struts2/static/tree.css | 29 + .../apache/struts2/static/validationClient.js | 37 + .../apache/struts2/struts-messages.properties | 13 + .../struts2/struts-messages_da.properties | 13 + .../struts2/struts-messages_de.properties | 13 + .../org/apache/struts2/util/package.html | 1 + .../struts2/views/freemarker/package.html | 1 + .../struts2/views/jsp/iterator/package.html | 1 + .../apache/struts2/views/jsp/ui/package.html | 1 + .../struts2/views/jsp/ui/table/package.html | 1 + trunk/core/src/main/resources/overview.html | 6 + trunk/core/src/main/resources/struts-2.0.dtd | 104 + .../src/main/resources/struts-default.xml | 186 + .../main/resources/struts-plugin-default.xml | 26 + trunk/core/src/main/resources/struts.vm | 17 + .../src/main/resources/template/ajax/a.ftl | 33 + .../resources/template/ajax/controlheader.ftl | 11 + .../src/main/resources/template/ajax/div.ftl | 25 + .../resources/template/ajax/dojoRequire.js | 13 + .../resources/template/ajax/form-close.ftl | 73 + .../src/main/resources/template/ajax/form.ftl | 48 + .../src/main/resources/template/ajax/head.ftl | 6 + .../resources/template/ajax/submit-ajax.ftl | 41 + .../main/resources/template/ajax/submit.ftl | 7 + .../resources/template/ajax/tab-close.ftl | 7 + .../src/main/resources/template/ajax/tab.ftl | 17 + .../main/resources/template/ajax/textarea.ftl | 45 + .../resources/template/ajax/theme.properties | 1 + .../resources/template/ajax/tree-close.ftl | 1 + .../src/main/resources/template/ajax/tree.ftl | 86 + .../template/ajax/treenode-close.ftl | 1 + .../template/ajax/treenode-include.ftl | 7 + .../main/resources/template/ajax/treenode.ftl | 6 + .../resources/template/ajax/validation.js | 26 + .../template/archive/ajax/a-close.vm | 1 + .../main/resources/template/archive/ajax/a.vm | 13 + .../template/archive/ajax/div-close.vm | 1 + .../resources/template/archive/ajax/div.vm | 15 + .../template/archive/ajax/form-close.vm | 2 + .../resources/template/archive/ajax/form.vm | 19 + .../resources/template/archive/ajax/submit.vm | 13 + .../template/archive/ajax/tab-close.vm | 7 + .../resources/template/archive/ajax/tab.vm | 17 + .../template/archive/simple/checkbox.vm | 10 + .../template/archive/simple/checkboxlist.vm | 25 + .../template/archive/simple/combobox.vm | 23 + .../template/archive/simple/debug.vm | 65 + .../template/archive/simple/doubleselect.vm | 88 + .../template/archive/simple/empty.vm | 0 .../resources/template/archive/simple/file.vm | 12 + .../template/archive/simple/form-close.vm | 1 + .../resources/template/archive/simple/form.vm | 12 + .../template/archive/simple/hidden.vm | 8 + .../template/archive/simple/label.vm | 6 + .../template/archive/simple/password.vm | 14 + .../template/archive/simple/radiomap.vm | 35 + .../archive/simple/scripting-events.vm | 14 + .../template/archive/simple/select.vm | 43 + .../template/archive/simple/submit.vm | 7 + .../template/archive/simple/table.vm | 81 + .../resources/template/archive/simple/text.vm | 14 + .../template/archive/simple/textarea.vm | 13 + .../template/archive/simple/token.vm | 2 + .../template/archive/xhtml/checkbox.vm | 19 + .../template/archive/xhtml/checkboxlist.vm | 3 + .../template/archive/xhtml/combobox.vm | 1 + .../template/archive/xhtml/controlfooter.vm | 2 + .../template/archive/xhtml/controlheader.vm | 27 + .../resources/template/archive/xhtml/debug.vm | 1 + .../template/archive/xhtml/doubleselect.vm | 1 + .../resources/template/archive/xhtml/empty.vm | 0 .../resources/template/archive/xhtml/file.vm | 1 + .../template/archive/xhtml/form-close.vm | 2 + .../resources/template/archive/xhtml/form.vm | 8 + .../template/archive/xhtml/hidden.vm | 1 + .../resources/template/archive/xhtml/label.vm | 1 + .../template/archive/xhtml/password.vm | 1 + .../template/archive/xhtml/radiomap.vm | 1 + .../template/archive/xhtml/select.vm | 1 + .../template/archive/xhtml/submit.vm | 3 + .../resources/template/archive/xhtml/table.vm | 1 + .../resources/template/archive/xhtml/text.vm | 1 + .../template/archive/xhtml/textarea.vm | 2 + .../resources/template/archive/xhtml/token.vm | 1 + .../resources/template/css_xhtml/checkbox.ftl | 58 + .../template/css_xhtml/checkboxlist.ftl | 4 + .../resources/template/css_xhtml/combobox.ftl | 4 + .../template/css_xhtml/control-close.ftl | 0 .../resources/template/css_xhtml/control.ftl | 0 .../template/css_xhtml/controlfooter.ftl | 8 + .../template/css_xhtml/controlheader-core.ftl | 50 + .../template/css_xhtml/controlheader.ftl | 8 + .../template/css_xhtml/datepicker.ftl | 4 + .../resources/template/css_xhtml/debug.ftl | 1 + .../template/css_xhtml/doubleselect.ftl | 4 + .../resources/template/css_xhtml/file.ftl | 4 + .../template/css_xhtml/form-close.ftl | 3 + .../template/css_xhtml/form-validate.ftl | 8 + .../resources/template/css_xhtml/form.ftl | 3 + .../resources/template/css_xhtml/head.ftl | 2 + .../resources/template/css_xhtml/label.ftl | 25 + .../css_xhtml/optiontransferselect.ftl | 4 + .../resources/template/css_xhtml/password.ftl | 4 + .../resources/template/css_xhtml/radiomap.ftl | 5 + .../resources/template/css_xhtml/reset.ftl | 19 + .../resources/template/css_xhtml/select.ftl | 4 + .../resources/template/css_xhtml/styles.css | 11 + .../resources/template/css_xhtml/submit.ftl | 18 + .../resources/template/css_xhtml/text.ftl | 4 + .../resources/template/css_xhtml/textarea.ftl | 4 + .../template/css_xhtml/theme.properties | 1 + .../template/css_xhtml/updownselect.ftl | 4 + .../template/css_xhtml/validation.js | 69 + .../resources/template/simple/a-close.ftl | 1 + .../src/main/resources/template/simple/a.ftl | 19 + .../resources/template/simple/actionerror.ftl | 7 + .../template/simple/actionmessage.ftl | 7 + .../resources/template/simple/checkbox.ftl | 29 + .../template/simple/checkboxlist.ftl | 33 + .../resources/template/simple/combobox.ftl | 50 + .../template/simple/common-attributes.ftl | 3 + .../template/simple/controlfooter.ftl | 0 .../template/simple/controlheader.ftl | 0 .../resources/template/simple/datepicker.ftl | 58 + .../main/resources/template/simple/debug.ftl | 59 + .../resources/template/simple/div-close.ftl | 1 + .../main/resources/template/simple/div.ftl | 10 + .../resources/template/simple/dojoRequire.js | 2 + .../template/simple/doubleselect.ftl | 108 + .../main/resources/template/simple/empty.ftl | 0 .../resources/template/simple/fielderror.ftl | 39 + .../main/resources/template/simple/file.ftl | 32 + .../resources/template/simple/form-close.ftl | 74 + .../main/resources/template/simple/form.ftl | 47 + .../main/resources/template/simple/head.ftl | 13 + .../main/resources/template/simple/hidden.ftl | 15 + .../main/resources/template/simple/label.ftl | 22 + .../resources/template/simple/optgroup.ftl | 27 + .../template/simple/optiontransferselect.ftl | 286 + .../resources/template/simple/password.ftl | 35 + .../resources/template/simple/radiomap.ftl | 41 + .../main/resources/template/simple/reset.ftl | 38 + .../template/simple/scripting-events.ftl | 42 + .../main/resources/template/simple/select.ftl | 61 + .../main/resources/template/simple/submit.ftl | 54 + .../resources/template/simple/tab-close.ftl | 7 + .../main/resources/template/simple/tab.ftl | 7 + .../template/simple/tabbedpanel-close.ftl | 14 + .../resources/template/simple/tabbedpanel.ftl | 1 + .../main/resources/template/simple/table.ftl | 54 + .../main/resources/template/simple/text.ftl | 35 + .../resources/template/simple/textarea.ftl | 35 + .../resources/template/simple/timepicker.ftl | 33 + .../main/resources/template/simple/token.ftl | 2 + .../template/simple/updownselect.ftl | 35 + .../resources/template/xhtml/checkbox.ftl | 102 + .../resources/template/xhtml/checkboxlist.ftl | 4 + .../resources/template/xhtml/combobox.ftl | 4 + .../template/xhtml/control-close.ftl | 1 + .../main/resources/template/xhtml/control.ftl | 4 + .../template/xhtml/controlfooter.ftl | 3 + .../template/xhtml/controlheader-core.ftl | 56 + .../template/xhtml/controlheader.ftl | 6 + .../resources/template/xhtml/datepicker.ftl | 3 + .../main/resources/template/xhtml/debug.ftl | 1 + .../resources/template/xhtml/doubleselect.ftl | 4 + .../main/resources/template/xhtml/file.ftl | 3 + .../template/xhtml/form-close-validate.ftl | 99 + .../resources/template/xhtml/form-close.ftl | 3 + .../template/xhtml/form-validate.ftl | 8 + .../main/resources/template/xhtml/form.ftl | 3 + .../main/resources/template/xhtml/head.ftl | 2 + .../main/resources/template/xhtml/label.ftl | 3 + .../template/xhtml/optiontransferselect.ftl | 3 + .../resources/template/xhtml/password.ftl | 3 + .../resources/template/xhtml/radiomap.ftl | 4 + .../main/resources/template/xhtml/reset.ftl | 9 + .../main/resources/template/xhtml/select.ftl | 3 + .../main/resources/template/xhtml/styles.css | 8 + .../main/resources/template/xhtml/submit.ftl | 9 + .../main/resources/template/xhtml/text.ftl | 3 + .../resources/template/xhtml/textarea.ftl | 3 + .../resources/template/xhtml/theme.properties | 1 + .../resources/template/xhtml/timepicker.ftl | 3 + .../main/resources/template/xhtml/tooltip.ftl | 24 + .../resources/template/xhtml/updownselect.ftl | 3 + .../resources/template/xhtml/validation.js | 74 + trunk/core/src/main/xdt/Readme-tagdoclet.txt | 33 + trunk/core/src/main/xdt/tagdoc-toc.xdt | 40 + trunk/core/src/main/xdt/tagdoc.xdt | 78 + trunk/core/src/main/xdt/tags_tld.xdt | 264 + .../struts2/ExecutionCountTestAction.java | 50 + .../org/apache/struts2/RequestUtilsTest.java | 81 + .../struts2/ServletActionContextTest.java | 73 + .../java/org/apache/struts2/TestAction.java | 139 + .../apache/struts2/TestActionTagResult.java | 40 + .../struts2/TestConfigurationProvider.java | 151 + .../java/org/apache/struts2/TestResult.java | 97 + .../struts2/components/ComponentTest.java | 507 + .../struts2/components/FormButtonTest.java | 121 + .../apache/struts2/components/FormTest.java | 41 + .../struts2/components/PropertyTest.java | 143 + .../apache/struts2/components/UIBeanTest.java | 64 + .../struts2/components/UIComponentTest.java | 540 + .../template/BaseTemplateEngineTest.java | 83 + .../apache/struts2/config/SettingsTest.java | 88 + .../apache/struts2/config/TestSettings.java | 50 + .../struts2/dispatcher/DispatcherTest.java | 80 + .../dispatcher/FilterDispatcherTest.java | 332 + .../dispatcher/HttpHeaderResultTest.java | 103 + .../struts2/dispatcher/NullActionMapper.java | 48 + .../dispatcher/PlainTextResultTest.java | 154 + .../ServletActionRedirectResultTest.java | 159 + ...ervletDispatchedTestAssertInterceptor.java | 55 + .../ServletDispatcherResultTest.java | 103 + .../dispatcher/ServletRedirectResultTest.java | 124 + .../struts2/dispatcher/SessionMapTest.java | 189 + .../struts2/dispatcher/StreamResultTest.java | 219 + .../dispatcher/StrutsResultSupportTest.java | 120 + .../dispatcher/VelocityResultTest.java | 144 + .../mapper/DefaultActionMapperTest.java | 398 + .../mapper/RestfulActionMapperTest.java | 115 + .../org/apache/struts2/impl/MessagesTest.java | 31 + .../struts2/impl/RequestContextTest.java | 72 + .../CreateSessionInterceptorTest.java | 48 + .../ExecuteAndWaitDelayAction.java | 33 + .../ExecuteAndWaitInterceptorTest.java | 223 + .../FileUploadInterceptorTest.java | 251 + .../MessageStoreInterceptorTest.java | 244 + .../ServletConfigInterceptorTest.java | 228 + .../StrutsConversionErrorInterceptorTest.java | 95 + .../interceptor/TokenInterceptorTest.java | 137 + .../TokenSessionStoreInterceptorTest.java | 47 + .../portlet/PortletApplicationMapTest.java | 166 + .../portlet/PortletRequestMapTest.java | 137 + .../portlet/PortletSessionMapTest.java | 154 + .../context/PortletActionContextTest.java | 178 + .../context/PreparatorServletTest.java | 64 + .../ServletContextHolderListenerTest.java | 43 + .../dispatcher/Jsr168DispatcherTest.java | 296 + .../portlet/result/PortletResultTest.java | 245 + .../portlet/util/PortletUrlHelperTest.java | 156 + .../struts2/portlet/util/StrutsUtilTest.java | 240 + .../spring/StrutsSpringObjectFactoryTest.java | 65 + .../org/apache/struts2/util/CounterTest.java | 51 + .../util/InvocationSessionStoreTest.java | 88 + .../apache/struts2/util/PrefixTrieTest.java | 38 + .../struts2/util/StrutsTypeConverterTest.java | 107 + .../apache/struts2/util/TokenHelperTest.java | 71 + .../views/TemplateEngineManagerTest.java | 74 + .../freemarker/FreemarkerManagerTest.java | 38 + .../views/freemarker/FreemarkerTest.java | 90 + .../struts2/views/freemarker/TestAction.java | 54 + .../struts2/views/freemarker/TestBean.java | 57 + .../struts2/views/jsp/AbstractTagTest.java | 131 + .../struts2/views/jsp/AbstractUITagTest.java | 358 + .../struts2/views/jsp/ActionTagTest.java | 257 + .../struts2/views/jsp/AnchorTagTest.java | 78 + .../views/jsp/AppendIteratorTagTest.java | 178 + .../apache/struts2/views/jsp/BeanTagTest.java | 49 + .../struts2/views/jsp/ElseIfTagTest.java | 114 + .../apache/struts2/views/jsp/ElseTagTest.java | 123 + .../apache/struts2/views/jsp/IfTagTest.java | 350 + .../struts2/views/jsp/IncludeTagTest.java | 118 + .../views/jsp/IteratorGeneratorTagTest.java | 207 + .../struts2/views/jsp/IteratorTagTest.java | 423 + .../views/jsp/MergeIteratorTagTest.java | 180 + .../struts2/views/jsp/PortletUrlTagTest.java | 360 + .../struts2/views/jsp/PropertyTagTest.java | 302 + .../apache/struts2/views/jsp/PushTagTest.java | 46 + .../apache/struts2/views/jsp/SetTagTest.java | 120 + .../views/jsp/SortIteratorTagTest.java | 214 + .../views/jsp/StrutsMockBodyContent.java | 159 + .../jsp/StrutsMockHttpServletRequest.java | 206 + .../jsp/StrutsMockHttpServletResponse.java | 62 + .../views/jsp/StrutsMockHttpSession.java | 66 + .../views/jsp/StrutsMockJspWriter.java | 167 + .../views/jsp/StrutsMockPageContext.java | 79 + .../views/jsp/StrutsMockServletContext.java | 158 + .../views/jsp/SubsetIteratorTagTest.java | 276 + .../apache/struts2/views/jsp/TextTagTest.java | 278 + .../apache/struts2/views/jsp/URLTagTest.java | 477 + .../views/jsp/ui/ActionErrorTagTest.java | 93 + .../views/jsp/ui/ActionMessageTagTest.java | 96 + .../struts2/views/jsp/ui/AnchorTest.java | 50 + .../apache/struts2/views/jsp/ui/Category.java | 102 + .../views/jsp/ui/CheckboxListTest.java | 182 + .../struts2/views/jsp/ui/CheckboxTest.java | 158 + .../struts2/views/jsp/ui/ComboBoxTest.java | 139 + .../struts2/views/jsp/ui/ComponentTest.java | 113 + .../views/jsp/ui/DatePickerTagTest.java | 98 + .../struts2/views/jsp/ui/DateTagTest.java | 248 + .../apache/struts2/views/jsp/ui/DivTest.java | 68 + .../views/jsp/ui/DoubleSelectTest.java | 259 + .../views/jsp/ui/FieldErrorTagTest.java | 242 + .../apache/struts2/views/jsp/ui/FileTest.java | 83 + .../struts2/views/jsp/ui/FormTagTest.java | 545 + .../struts2/views/jsp/ui/HeadTagTest.java | 102 + .../struts2/views/jsp/ui/HiddenTest.java | 80 + .../struts2/views/jsp/ui/JspTemplateTest.java | 50 + .../struts2/views/jsp/ui/LabelTest.java | 114 + .../apache/struts2/views/jsp/ui/MockTag.java | 125 + .../struts2/views/jsp/ui/OptGroupTest.java | 120 + .../jsp/ui/OptionTransferSelectTagTest.java | 520 + .../struts2/views/jsp/ui/PasswordTest.java | 59 + .../struts2/views/jsp/ui/RadioTest.java | 130 + .../struts2/views/jsp/ui/ResetTest.java | 132 + .../struts2/views/jsp/ui/SelectTest.java | 301 + .../views/jsp/ui/StrutsBodyContent.java | 170 + .../struts2/views/jsp/ui/SubmitAjaxTest.java | 44 + .../struts2/views/jsp/ui/SubmitTest.java | 246 + .../struts2/views/jsp/ui/TestAction1.java | 29 + .../struts2/views/jsp/ui/TextareaTest.java | 88 + .../struts2/views/jsp/ui/TextfieldTest.java | 134 + .../struts2/views/jsp/ui/TokenTagTest.java | 95 + .../struts2/views/jsp/ui/TooltipTest.java | 250 + .../apache/struts2/views/jsp/ui/TreeTest.java | 133 + .../views/jsp/ui/UpDownSelectTagTest.java | 272 + .../org/apache/struts2/views/jsp/ui/User.java | 39 + .../struts2/views/util/ContextUtilTest.java | 132 + .../struts2/views/util/ResourceUtilTest.java | 54 + .../struts2/views/util/TextUtilTest.java | 68 + .../struts2/views/util/UrlHelperTest.java | 329 + .../struts2/views/xslt/XSLTResultTest.java | 189 + .../src/test/resources/XSLTResultTest.xsl | 9 + .../src/test/resources/XSLTResultTest2.xsl | 13 + .../src/test/resources/XSLTResultTest3.xsl | 19 + .../core/src/test/resources/log4j.properties | 7 + .../apache/struts2/TestAction-validation.xml | 13 + .../org/apache/struts2/TestAction.properties | 5 + .../components/template/dummy.properties | 0 .../theme1/themeThroughClassPath.properties | 1 + .../theme1/themeThroughFileSystem.properties | 1 + .../struts2/components/tempo.properties | 0 .../apache/struts2/dispatcher/someJspFile.jsp | 12 + .../FileUploadInterceptor.properties | 3 + .../org/apache/struts2/othertest.properties | 1 + ...ngObjectFactoryTest-applicationContext.xml | 6 + .../struts2/views/jsp/ui/Checkbox-1.txt | 9 + .../struts2/views/jsp/ui/Checkbox-2.txt | 9 + .../struts2/views/jsp/ui/Checkbox-3.txt | 16 + .../struts2/views/jsp/ui/Checkbox-4.txt | 11 + .../struts2/views/jsp/ui/Checkbox-5.txt | 9 + .../struts2/views/jsp/ui/CheckboxList-1.txt | 9 + .../struts2/views/jsp/ui/CheckboxList-2.txt | 11 + .../struts2/views/jsp/ui/CheckboxList-3.txt | 11 + .../struts2/views/jsp/ui/CheckboxList-4.txt | 9 + .../struts2/views/jsp/ui/ComboBox-1.txt | 16 + .../struts2/views/jsp/ui/ComboBox-2.txt | 25 + .../struts2/views/jsp/ui/ComboBox-3.txt | 25 + .../struts2/views/jsp/ui/Component-1.txt | 0 .../struts2/views/jsp/ui/Component-2.txt | 8 + .../struts2/views/jsp/ui/Component-3.txt | 8 + .../struts2/views/jsp/ui/Component-param.txt | 8 + .../views/jsp/ui/DatePickerTagTest-1.txt | 15 + .../views/jsp/ui/DatePickerTagTest-2.txt | 16 + .../struts2/views/jsp/ui/DoubleSelect-1.txt | 41 + .../struts2/views/jsp/ui/DoubleSelect-2.txt | 45 + .../apache/struts2/views/jsp/ui/File-1.txt | 4 + .../apache/struts2/views/jsp/ui/Formtag-1.txt | 4 + .../struts2/views/jsp/ui/Formtag-10.txt | 4 + .../struts2/views/jsp/ui/Formtag-11.txt | 30 + .../apache/struts2/views/jsp/ui/Formtag-2.txt | 40 + .../apache/struts2/views/jsp/ui/Formtag-3.txt | 4 + .../apache/struts2/views/jsp/ui/Formtag-4.txt | 4 + .../apache/struts2/views/jsp/ui/Formtag-5.txt | 4 + .../apache/struts2/views/jsp/ui/Formtag-6.txt | 29 + .../apache/struts2/views/jsp/ui/Formtag-7.txt | 4 + .../apache/struts2/views/jsp/ui/Formtag-8.txt | 4 + .../apache/struts2/views/jsp/ui/Formtag-9.txt | 4 + .../struts2/views/jsp/ui/HeadTagTest-1.txt | 17 + .../struts2/views/jsp/ui/HeadTagTest-2.txt | 18 + .../struts2/views/jsp/ui/HeadTagTest-3.txt | 18 + .../struts2/views/jsp/ui/HeadTagTest-4.txt | 17 + .../apache/struts2/views/jsp/ui/Hidden-1.txt | 1 + .../apache/struts2/views/jsp/ui/Label-1.txt | 4 + .../apache/struts2/views/jsp/ui/Label-2.txt | 4 + .../apache/struts2/views/jsp/ui/Label-3.txt | 6 + .../struts2/views/jsp/ui/OptGroup-1.txt | 40 + .../struts2/views/jsp/ui/OptGroup-2.txt | 41 + .../struts2/views/jsp/ui/OptGroup-3.txt | 42 + .../struts2/views/jsp/ui/Password-1.txt | 4 + .../apache/struts2/views/jsp/ui/Radio-1.txt | 7 + .../apache/struts2/views/jsp/ui/Radio-2.txt | 7 + .../apache/struts2/views/jsp/ui/Radio-3.txt | 7 + .../apache/struts2/views/jsp/ui/Reset-1.txt | 3 + .../apache/struts2/views/jsp/ui/Reset-2.txt | 3 + .../apache/struts2/views/jsp/ui/Reset-3.txt | 3 + .../apache/struts2/views/jsp/ui/Reset-4.txt | 3 + .../apache/struts2/views/jsp/ui/Select-1.txt | 9 + .../apache/struts2/views/jsp/ui/Select-2.txt | 8 + .../apache/struts2/views/jsp/ui/Select-3.txt | 8 + .../apache/struts2/views/jsp/ui/Select-4.txt | 5 + .../apache/struts2/views/jsp/ui/Select-5.txt | 8 + .../apache/struts2/views/jsp/ui/Select-6.txt | 8 + .../apache/struts2/views/jsp/ui/Select-7.txt | 9 + .../apache/struts2/views/jsp/ui/Select-8.txt | 10 + .../apache/struts2/views/jsp/ui/Submit-1.txt | 3 + .../apache/struts2/views/jsp/ui/Submit-2.txt | 3 + .../apache/struts2/views/jsp/ui/Submit-3.txt | 3 + .../apache/struts2/views/jsp/ui/Submit-4.txt | 3 + .../apache/struts2/views/jsp/ui/Submit-5.txt | 3 + .../apache/struts2/views/jsp/ui/Submit-6.txt | 3 + .../views/jsp/ui/TestAction1.properties | 1 + .../views/jsp/ui/TestAction1_de.properties | 1 + .../views/jsp/ui/TestAction1_fr.properties | 1 + .../struts2/views/jsp/ui/Textarea-1.txt | 4 + .../struts2/views/jsp/ui/Textfield-1.txt | 4 + .../struts2/views/jsp/ui/Textfield-2.txt | 7 + .../struts2/views/jsp/ui/Textfield-3.txt | 4 + .../struts2/views/jsp/ui/User-validation.xml | 8 + .../struts2/views/jsp/ui/User.properties | 1 + .../struts2/views/jsp/ui/actionerror-1.txt | 0 .../struts2/views/jsp/ui/actionerror-2.txt | 5 + .../struts2/views/jsp/ui/actionmessage-1.txt | 0 .../struts2/views/jsp/ui/actionmessage-2.txt | 5 + .../org/apache/struts2/views/jsp/ui/div-1.txt | 12 + .../struts2/views/jsp/ui/fielderror-1.txt | 5 + .../struts2/views/jsp/ui/fielderror-2.txt | 0 .../struts2/views/jsp/ui/fielderror-3.txt | 4 + .../struts2/views/jsp/ui/fielderror-4.txt | 4 + .../struts2/views/jsp/ui/fielderror-5.txt | 3 + .../apache/struts2/views/jsp/ui/href-1.txt | 1 + .../views/jsp/ui/optiontransferselect-1.txt | 49 + .../views/jsp/ui/optiontransferselect-2.txt | 50 + .../views/jsp/ui/optiontransferselect-3.txt | 49 + .../views/jsp/ui/optiontransferselect-4.txt | 51 + .../views/jsp/ui/optiontransferselect-5.txt | 49 + .../views/jsp/ui/optiontransferselect-6.txt | 50 + .../views/jsp/ui/optiontransferselect-7.txt | 45 + .../struts2/views/jsp/ui/submit-ajax-1.txt | 1 + .../apache/struts2/views/jsp/ui/tooltip-1.txt | 22 + .../apache/struts2/views/jsp/ui/tooltip-2.txt | 19 + .../apache/struts2/views/jsp/ui/tooltip-3.txt | 20 + .../apache/struts2/views/jsp/ui/tree-1.txt | 42 + .../apache/struts2/views/jsp/ui/tree-2.txt | 64 + .../views/jsp/ui/updownselecttag-1.txt | 18 + .../views/jsp/ui/updownselecttag-10.txt | 18 + .../views/jsp/ui/updownselecttag-11.txt | 18 + .../views/jsp/ui/updownselecttag-2.txt | 17 + .../views/jsp/ui/updownselecttag-3.txt | 19 + .../views/jsp/ui/updownselecttag-4.txt | 18 + .../views/jsp/ui/updownselecttag-5.txt | 18 + .../views/jsp/ui/updownselecttag-6.txt | 17 + .../views/jsp/ui/updownselecttag-7.txt | 17 + .../views/jsp/ui/updownselecttag-8.txt | 17 + .../views/jsp/ui/updownselecttag-9.txt | 18 + .../core/src/test/resources/struts.properties | 18 + trunk/core/src/test/resources/struts.xml | 36 + .../resources/template/test/Component.ftl | 8 + .../test/resources/template/test/checkbox.jsp | 11 + trunk/core/src/test/resources/test.properties | 1 + .../test/resources/testmessages.properties | 2 + .../test/resources/testmessages2.properties | 1 + trunk/core/src/test/resources/validators.xml | 15 + trunk/docs/tags/ActionComponent.html | 136 + trunk/docs/tags/ActionError.html | 622 + trunk/docs/tags/ActionMessage.html | 622 + trunk/docs/tags/Anchor.html | 748 + trunk/docs/tags/AppendIterator.html | 64 + trunk/docs/tags/Bean.html | 82 + trunk/docs/tags/Checkbox.html | 640 + trunk/docs/tags/CheckboxList.html | 676 + trunk/docs/tags/ComboBox.html | 802 ++ trunk/docs/tags/Date.html | 118 + trunk/docs/tags/DatePicker.html | 766 ++ trunk/docs/tags/Debug.html | 604 + trunk/docs/tags/Div.html | 784 ++ trunk/docs/tags/DoubleSelect.html | 1324 ++ trunk/docs/tags/Else.html | 64 + trunk/docs/tags/ElseIf.html | 82 + trunk/docs/tags/FieldError.html | 622 + trunk/docs/tags/File.html | 658 + trunk/docs/tags/Form.html | 820 ++ trunk/docs/tags/GenericUIBean.html | 622 + trunk/docs/tags/Head.html | 658 + trunk/docs/tags/Hidden.html | 622 + trunk/docs/tags/I18n.html | 82 + trunk/docs/tags/If.html | 82 + trunk/docs/tags/Include.html | 82 + trunk/docs/tags/IteratorComponent.html | 100 + trunk/docs/tags/Label.html | 640 + trunk/docs/tags/MergeIterator.html | 64 + trunk/docs/tags/OptGroup.html | 154 + trunk/docs/tags/OptionTransferSelect.html | 1576 +++ trunk/docs/tags/Panel.html | 838 ++ trunk/docs/tags/Param.html | 100 + trunk/docs/tags/Password.html | 712 + trunk/docs/tags/Property.html | 118 + trunk/docs/tags/Push.html | 82 + trunk/docs/tags/Radio.html | 676 + trunk/docs/tags/Reset.html | 694 + trunk/docs/tags/RichTextEditor.html | 1630 +++ trunk/docs/tags/Select.html | 766 ++ trunk/docs/tags/Set.html | 118 + trunk/docs/tags/Submit.html | 802 ++ trunk/docs/tags/TabbedPanel.html | 640 + trunk/docs/tags/Text.html | 82 + trunk/docs/tags/TextArea.html | 694 + trunk/docs/tags/TextField.html | 694 + trunk/docs/tags/Token.html | 622 + trunk/docs/tags/Tree.html | 1054 ++ trunk/docs/tags/TreeNode.html | 640 + trunk/docs/tags/URL.html | 280 + trunk/docs/tags/UpDownSelect.html | 874 ++ trunk/docs/tags/WebTable.html | 694 + trunk/docs/tags/index.html | 567 + trunk/plugins/config-browser/pom.xml | 22 + .../config_browser/ActionNamesAction.java | 87 + .../config_browser/ConfigurationHelper.java | 65 + .../config_browser/ListValidatorsAction.java | 89 + .../config_browser/ShowConfigAction.java | 109 + .../config_browser/ShowValidatorAction.java | 177 + .../resources/config-browser/actionNames.ftl | 22 + .../config-browser/config-styles.css | 792 ++ .../main/resources/config-browser/error.ftl | 6 + .../resources/config-browser/page-footer.ftl | 16 + .../resources/config-browser/page-header.ftl | 44 + .../resources/config-browser/showConfig.ftl | 116 + .../config-browser/showValidators.ftl | 17 + .../resources/config-browser/simple-error.ftl | 2 + .../config-browser/tigris-macros.ftl | 108 + .../config-browser/validatorDetails.ftl | 19 + .../src/main/resources/struts-plugin.xml | 43 + trunk/plugins/jasperreports/pom.xml | 23 + .../views/jasperreports/CompileReport.java | 47 + .../jasperreports/JasperReportConstants.java | 51 + .../jasperreports/JasperReportsResult.java | 351 + .../jasperreports/ValueStackDataSource.java | 134 + .../jasperreports/ValueStackShadowMap.java | 90 + .../struts2/views/jasperreports/package.html | 1 + .../src/main/resources/struts-plugin.xml | 15 + trunk/plugins/jfreechart/pom.xml | 49 + .../struts2/dispatcher/ChartResult.java | 110 + .../src/main/resources/struts-plugin.xml | 18 + .../struts2/dispatcher/ChartResultTest.java | 114 + trunk/plugins/jsf/pom.xml | 37 + .../jsf/ApplyRequestValuesInterceptor.java | 75 + .../apache/struts2/jsf/FacesInterceptor.java | 106 + .../org/apache/struts2/jsf/FacesRender.java | 76 + .../org/apache/struts2/jsf/FacesResult.java | 81 + .../struts2/jsf/FacesSetupInterceptor.java | 587 + .../org/apache/struts2/jsf/FacesSupport.java | 170 + .../jsf/InvokeApplicationInterceptor.java | 75 + .../jsf/ProcessValidationsInterceptor.java | 74 + .../struts2/jsf/RestoreViewInterceptor.java | 225 + .../struts2/jsf/StrutsNavigationHandler.java | 83 + .../struts2/jsf/StrutsVariableResolver.java | 79 + .../jsf/UpdateModelValuesInterceptor.java | 75 + .../org/apache/struts2/jsf/package.html | 9 + .../jsf/src/main/resources/struts-plugin.xml | 38 + trunk/plugins/pell-multipart/pom.xml | 23 + .../multipart/PellMultiPartRequest.java | 140 + trunk/plugins/plexus/pom.xml | 23 + .../apache/struts2/plexus/PlexusFilter.java | 112 + .../plexus/PlexusLifecycleListener.java | 112 + .../struts2/plexus/PlexusObjectFactory.java | 300 + .../struts2/plexus/PlexusThreadLocal.java | 41 + .../apache/struts2/plexus/PlexusUtils.java | 50 + trunk/plugins/pom.xml | 57 + trunk/plugins/quickstart/pom.xml | 142 + .../main/java/org/apache/struts2/Main.java | 241 + .../struts2/quickstart/Configuration.java | 369 + .../struts2/quickstart/JettyServer.java | 65 + .../apache/struts2/quickstart/Mapping.java | 51 + .../quickstart/MultiDirClassLoader.java | 96 + .../struts2/quickstart/MultiDirResource.java | 211 + .../MultiWebApplicationContext.java | 158 + .../apache/struts2/quickstart/QuickStart.java | 200 + trunk/plugins/sitegraph/pom.xml | 120 + .../main/java/org/apache/struts2/Main.java | 231 + .../apache/struts2/sitegraph/SiteGraph.java | 125 + .../sitegraph/StrutsConfigRetriever.java | 179 + .../sitegraph/entities/FileBasedView.java | 109 + .../sitegraph/entities/FreeMarkerView.java | 20 + .../struts2/sitegraph/entities/JspView.java | 37 + .../struts2/sitegraph/entities/Target.java | 58 + .../sitegraph/entities/VelocityView.java | 37 + .../struts2/sitegraph/entities/View.java | 43 + .../struts2/sitegraph/model/ActionNode.java | 30 + .../apache/struts2/sitegraph/model/Graph.java | 88 + .../struts2/sitegraph/model/IndentWriter.java | 59 + .../apache/struts2/sitegraph/model/Link.java | 91 + .../struts2/sitegraph/model/Render.java | 26 + .../sitegraph/model/SiteGraphNode.java | 64 + .../struts2/sitegraph/model/SubGraph.java | 129 + .../struts2/sitegraph/model/ViewNode.java | 30 + .../sitegraph/renderers/DOTRenderer.java | 254 + .../struts2/sitegraph/SiteGraphTest.java | 60 + .../org/apache/struts2/sitegraph/hello.jsp | 1 + .../org/apache/struts2/sitegraph/out.txt | 32 + .../org/apache/struts2/sitegraph/struts.xml | 38 + .../tutorial/sitegraph/guess-error.ftl | 1 + .../tutorial/sitegraph/guess-input.ftl | 12 + .../tutorial/sitegraph/guess-success.jsp | 1 + trunk/plugins/sitemesh/pom.xml | 38 + .../sitemesh/FreeMarkerPageFilter.java | 170 + .../struts2/sitemesh/TemplatePageFilter.java | 172 + .../struts2/sitemesh/VelocityPageFilter.java | 93 + trunk/plugins/struts1/pom.xml | 29 + .../s1/ActionFormResetInterceptor.java | 53 + .../s1/ActionFormValidationInterceptor.java | 225 + .../struts2/s1/DynaBeanPropertyAccessor.java | 55 + .../org/apache/struts2/s1/Struts1Action.java | 138 + .../org/apache/struts2/s1/Struts1Factory.java | 149 + .../struts2/s1/WrapperActionForward.java | 56 + .../struts2/s1/WrapperActionMapping.java | 282 + .../struts2/s1/WrapperExceptionConfig.java | 63 + .../struts2/s1/WrapperMessageResources.java | 44 + .../struts2/s1/WrapperModuleConfig.java | 244 + .../src/main/resources/struts-plugin.xml | 30 + .../s1/DynaBeanPropertyAccessorTest.java | 134 + .../apache/struts2/s1/Struts1FactoryTest.java | 234 + .../apache/struts2/s1/test-struts-factory.xml | 43 + trunk/plugins/tiles/pom.xml | 29 + .../struts2/tiles/StrutsTilesListener.java | 61 + .../struts2/tiles/StrutsTilesUtilImpl.java | 96 + .../struts2/views/tiles/TilesResult.java | 227 + .../src/main/resources/struts-plugin.xml | 11 + trunk/pom.xml | 318 + trunk/src/main/idea/project.xml | 14 + trunk/src/main/idea/workspace.xml | 79 + trunk/src/site/site.xml | 134 + trunk/src/site/xdoc/index.xml | 50 + trunk/src/site/xdoc/jxr.xml | 38 + 2057 files changed, 198814 insertions(+) create mode 100644 trunk/all/pom.xml create mode 100644 trunk/api/pom.xml create mode 100644 trunk/api/src/main/java/org/apache/struts2/Action.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/MessageAware.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/Messages.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/ResultNames.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/Validatable.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/servlet/ParameterAware.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/servlet/ServletRequestAware.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/servlet/ServletResponseAware.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/spi/ActionContext.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/spi/Interceptor.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/spi/RequestContext.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/spi/RequestContextAware.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/spi/Result.java create mode 100644 trunk/api/src/main/java/org/apache/struts2/spi/ValueStack.java create mode 100644 trunk/apps/blank/README.txt create mode 100644 trunk/apps/blank/pom.xml create mode 100644 trunk/apps/blank/src/main/java/example/ExampleSupport.java create mode 100644 trunk/apps/blank/src/main/java/example/HelloWorld.java create mode 100644 trunk/apps/blank/src/main/java/example/Login.java create mode 100644 trunk/apps/blank/src/main/java/example/build.bat create mode 100644 trunk/apps/blank/src/main/resources/example.xml create mode 100644 trunk/apps/blank/src/main/resources/example/Login-validation.xml create mode 100644 trunk/apps/blank/src/main/resources/example/package.properties create mode 100644 trunk/apps/blank/src/main/resources/example/package_es.properties create mode 100644 trunk/apps/blank/src/main/resources/struts.properties create mode 100644 trunk/apps/blank/src/main/resources/struts.xml create mode 100644 trunk/apps/blank/src/main/webapp/WEB-INF/applicationContext.xml create mode 100644 trunk/apps/blank/src/main/webapp/WEB-INF/web.xml create mode 100644 trunk/apps/blank/src/main/webapp/example/HelloWorld.jsp create mode 100644 trunk/apps/blank/src/main/webapp/example/Login.jsp create mode 100644 trunk/apps/blank/src/main/webapp/example/Menu.jsp create mode 100644 trunk/apps/blank/src/main/webapp/example/Missing.jsp create mode 100644 trunk/apps/blank/src/main/webapp/example/Register.jsp create mode 100644 trunk/apps/blank/src/main/webapp/example/Welcome.jsp create mode 100644 trunk/apps/blank/src/main/webapp/index.html create mode 100644 trunk/apps/blank/src/test/java/example/ConfigTest.java create mode 100644 trunk/apps/blank/src/test/java/example/HelloWorldTest.java create mode 100644 trunk/apps/blank/src/test/java/example/LoginTest.java create mode 100644 trunk/apps/mailreader/README.txt create mode 100644 trunk/apps/mailreader/pom.xml create mode 100644 trunk/apps/mailreader/src/main/java/alternate.properties create mode 100644 trunk/apps/mailreader/src/main/java/alternate_ja.properties create mode 100644 trunk/apps/mailreader/src/main/java/applicationContext.xml create mode 100644 trunk/apps/mailreader/src/main/java/mailreader-default.xml create mode 100644 trunk/apps/mailreader/src/main/java/mailreader-support.xml create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/ApplicationListener.java create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/AuthenticationInterceptor.java create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Constants.java create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Login.java create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Logon-validation.xml create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Logout.java create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport.java create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport.properties create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport_ja.properties create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport_ru.properties create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Registration-Registration!save-validation.xml create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Registration-validation.xml create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Registration.java create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Subscription-Subscription!save-validation.xml create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Subscription-validation.xml create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Subscription.java create mode 100644 trunk/apps/mailreader/src/main/java/mailreader2/Welcome.java create mode 100644 trunk/apps/mailreader/src/main/java/struts.properties create mode 100644 trunk/apps/mailreader/src/main/java/struts.xml create mode 100644 trunk/apps/mailreader/src/main/webapp/ChangePassword.jsp create mode 100644 trunk/apps/mailreader/src/main/webapp/Error.jsp create mode 100644 trunk/apps/mailreader/src/main/webapp/Footer.jsp create mode 100644 trunk/apps/mailreader/src/main/webapp/Login.jsp create mode 100644 trunk/apps/mailreader/src/main/webapp/META-INF/context.xml create mode 100644 trunk/apps/mailreader/src/main/webapp/MainMenu.jsp create mode 100644 trunk/apps/mailreader/src/main/webapp/Registration.jsp create mode 100644 trunk/apps/mailreader/src/main/webapp/Subscription.jsp create mode 100644 trunk/apps/mailreader/src/main/webapp/WEB-INF/database.xml create mode 100644 trunk/apps/mailreader/src/main/webapp/WEB-INF/web.xml create mode 100644 trunk/apps/mailreader/src/main/webapp/Welcome.jsp create mode 100644 trunk/apps/mailreader/src/main/webapp/css/mailreader.css create mode 100644 trunk/apps/mailreader/src/main/webapp/index.html create mode 100644 trunk/apps/mailreader/src/main/webapp/struts-power.gif create mode 100644 trunk/apps/mailreader/src/main/webapp/tour.html create mode 100644 trunk/apps/pom.xml create mode 100644 trunk/apps/portlet/README.txt create mode 100644 trunk/apps/portlet/pom.xml create mode 100644 trunk/apps/portlet/src/main/etc/exo/web.xml create mode 100644 trunk/apps/portlet/src/main/etc/gridsphere/README-gridsphere.txt create mode 100644 trunk/apps/portlet/src/main/etc/gridsphere/gridsphere-portlet.xml create mode 100644 trunk/apps/portlet/src/main/etc/gridsphere/group.xml create mode 100644 trunk/apps/portlet/src/main/etc/gridsphere/layout.xml create mode 100644 trunk/apps/portlet/src/main/etc/gridsphere/struts-portlet create mode 100644 trunk/apps/portlet/src/main/etc/gridsphere/web.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.0/jboss-app.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.0/jboss-portlet.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.0/jboss-web.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.0/portlet-instances.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.0/struts-portlet-pages.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.2/jboss-app.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.2/jboss-portlet.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.2/jboss-web.xml create mode 100644 trunk/apps/portlet/src/main/etc/jbossportal2.2/struts-portlet-object.xml create mode 100644 trunk/apps/portlet/src/main/etc/jetspeed2/README-jetspeed2.txt create mode 100644 trunk/apps/portlet/src/main/etc/jetspeed2/struts-portlet.psml create mode 100644 trunk/apps/portlet/src/main/etc/liferay3.6.1/web.xml create mode 100644 trunk/apps/portlet/src/main/java/org/apache/struts2/portlet/example/ExampleAction.java create mode 100644 trunk/apps/portlet/src/main/java/org/apache/struts2/portlet/example/FormExample.java create mode 100644 trunk/apps/portlet/src/main/java/org/apache/struts2/portlet/example/FormExampleWithValidation.java create mode 100644 trunk/apps/portlet/src/main/java/org/apache/struts2/portlet/example/FormResultAction.java create mode 100644 trunk/apps/portlet/src/main/java/org/apache/struts2/portlet/example/FormTestAction.java create mode 100644 trunk/apps/portlet/src/main/java/org/apache/struts2/portlet/example/SavePrefsAction.java create mode 100644 trunk/apps/portlet/src/main/java/org/apache/struts2/portlet/example/spring/SpringAction.java create mode 100644 trunk/apps/portlet/src/main/java/org/apache/struts2/portlet/example/spring/ThingManager.java create mode 100644 trunk/apps/portlet/src/main/resources/commons-logging.properties create mode 100644 trunk/apps/portlet/src/main/resources/log4j.xml create mode 100644 trunk/apps/portlet/src/main/resources/org/apache/struts2/portlet/example/FormExample-processValidationExample-validation.xml create mode 100644 trunk/apps/portlet/src/main/resources/struts.properties create mode 100644 trunk/apps/portlet/src/main/resources/template/xhtml/components/checkbox.vm create mode 100644 trunk/apps/portlet/src/main/resources/template/xhtml/components/datefield.vm create mode 100644 trunk/apps/portlet/src/main/resources/template/xhtml/components/mytextfield.vm create mode 100644 trunk/apps/portlet/src/main/resources/validators.xml create mode 100644 trunk/apps/portlet/src/main/resources/xwork.xml create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/applicationContext.xml create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/dwr.xml create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/edit/defaultEdit.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/edit/formExample.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/edit/formExampleInput.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/edit/index.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/edit/namespaceTest.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/edit/prefsForm.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/edit/prefsSaved.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/edit/test.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/help/defaultHelp.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/help/index.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/portlet.xml create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/readme.txt create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/ajax.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/ajaxData.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/ajaxExample.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/formExample.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/formExampleInput.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/formExampleInputValidation.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/freeMarkerExample.ftl create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/freeMarkerExampleInput.ftl create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/helloWorld.vm create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/index.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/notImplemented.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/springExample.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/tokenExample.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/view/tokenExampleInput.jsp create mode 100644 trunk/apps/portlet/src/main/webapp/WEB-INF/web.xml create mode 100644 trunk/apps/portlet/src/main/webapp/styles/styles.css create mode 100644 trunk/apps/showcase/README.txt create mode 100644 trunk/apps/showcase/pom.xml create mode 100644 trunk/apps/showcase/quickstart.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/DateAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/DateAction.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/DynamicTreeSelectAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/Guess.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfOptiontransferselectAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfRichtexteditorAction-lotsOfRichtexteditorSubmit-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/LotsOfRichtexteditorAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowDynamicTreeAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample-conversion.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/UITagExample.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/AbstractCRUDAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction-conversion.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/EmployeeAction_de.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/action/SkillAction_de.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain1.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain2.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/actionchaining/ActionChain3.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/AjaxTestAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example4ShowPanelAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/Example5Action.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Category.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/GetCategory.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ajax/tree/Toggle.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/application/MemoryStorage.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/application/Storage.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/application/TestDataProvider.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatAuthenticationInterceptor.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatException.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatInterceptor.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatLoginAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatLogoutAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatMessage.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatService.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatServiceImpl.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ChatSessionListener.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/Constants.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/CrudRoomAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/DateConverter.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/EnterRoomAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/ExitRoomAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/MessagesAvailableInRoomAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/Room.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/RoomsAvailableAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/SendMessageToRoomAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/User.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/UsersAvailableAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/chat/UsersAvailableInRoomAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/Address.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/AddressAction-conversion.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/AddressAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/EnumTypeConverter.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/OperationsEnum.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/OperationsEnumAction-conversion.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/OperationsEnumAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/Person.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/PersonAction-conversion.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/conversion/PersonAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/AbstractDao.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/Dao.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/EmployeeDao.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/dao/SkillDao.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/exception/CreateException.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/exception/DeleteException.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/exception/DuplicateKeyException.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/exception/StorageException.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/exception/UpdateException.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/filedownload/FileDownloadAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/fileupload/FileUploadAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManagerUtil.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GetUpdatedHangmanAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/Hangman.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/HangmanConstants.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/HangmanException.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/HangmanService.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/PropertiesVocabSource.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/StartHangmanAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/Vocab.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/VocabSource.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/integration/EditGangsterAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/integration/GangsterForm.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/integration/SaveGangsterAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/jsf/JsfEmployeeAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/model/Employee.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/model/IdEntity.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/model/Skill.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/modelDriven/Gangster.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/modelDriven/ModelDrivenAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/person/CreatePerson-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/person/CreatePerson.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPerson-conversion.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/person/EditPerson.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/person/ListPeople.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/person/Person-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/person/Person.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/person/PersonManager.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/sitemesh/NoneDecoratorMapper.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/source/ViewSourceAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/actionPrefix/SubmitAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/actiontag/ActionTagDemo.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/AppendIteratorTagDemo.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/IteratorGeneratorTagDemo-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/IteratorGeneratorTagDemo.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/MergeIteratorTagDemo.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tag/nonui/iteratortag/SubsetIteratorTagDemo.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/token/TokenAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tutorial/HelloName.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tutorial/HelloName2.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/tutorial/HelloWorld.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/AbstractValidationActionSupport.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction-conversion.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction-submitClientSideValidationExample-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction-submitFieldValidatorsExamples-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction.properties create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/NonFieldValidatorsExampleAction-submitNonFieldValidatorsExamples-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/NonFieldValidatorsExampleAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/QuizAction-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/QuizAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/SubmitApplication.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/User-userContext-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/User.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction-submitVisitorValidatorsExamples-validation.xml create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction.java create mode 100644 trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/wait/LongProcessAction.java create mode 100644 trunk/apps/showcase/src/main/resources/globalMessages.properties create mode 100644 trunk/apps/showcase/src/main/resources/globalMessages_de.properties create mode 100644 trunk/apps/showcase/src/main/resources/log4j.properties create mode 100644 trunk/apps/showcase/src/main/resources/myTemplateDir/myTheme/myAnotherTemplate.ftl create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/DateAction.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/LotsOfRichtexteditorAction-lotsOfRichtexteditorSubmit-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/UITagExample-conversion.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/action/EmployeeAction-conversion.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/action/EmployeeAction-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/action/EmployeeAction.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/action/EmployeeAction_de.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/action/SkillAction-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/action/SkillAction.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/action/SkillAction_de.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/ajax/Example5Action-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/chat/ChatLoginAction-chatLogin-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/chat/ChatMessage-conversion.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/chat/CrudRoomAction-createRoom-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/chat/Room-conversion.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/chat/SendMessageToRoomAction-sendMessageToRoom-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/conversion/PersonAction-conversion.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/person/CreatePerson-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/person/EditPerson-conversion.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/person/Person-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/tag/nonui/iteratortag/IteratorGeneratorTagDemo-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction-conversion.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction-submitClientSideValidationExample-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction-submitFieldValidatorsExamples-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction.properties create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/NonFieldValidatorsExampleAction-submitNonFieldValidatorsExamples-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/QuizAction-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/SubmitApplication-submitApplication-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/User-userContext-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction-submitVisitorValidatorsExamples-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-actionchaining.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-ajax.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-chat.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-continuations.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-conversion.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-filedownload.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-fileupload.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-freemarker.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-hangman.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-integration.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-jsf.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-model-driven.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-person.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-tags-non-ui.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-tags-ui.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-tags.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-token.xml create mode 100755 trunk/apps/showcase/src/main/resources/struts-validation.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts-wait.xml create mode 100644 trunk/apps/showcase/src/main/resources/struts.properties create mode 100644 trunk/apps/showcase/src/main/resources/struts.xml create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/applicationContext.xml create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/decorators.xml create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/dwr.xml create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/sitemesh-decorator.tld create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/sitemesh-page.tld create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/sitemesh.xml create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/validation.xml create mode 100644 trunk/apps/showcase/src/main/webapp/WEB-INF/web.xml create mode 100644 trunk/apps/showcase/src/main/webapp/actionchaining/actionChainingResult.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/AjaxResult.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/AjaxResult2.js create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/AjaxResult3.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/commonInclude.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/footer.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/example1.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/example2.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/example3.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/example4.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/example5.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/example6.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/example7.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/example8.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotediv/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remoteforms/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remoteforms/test1.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remoteforms/test2.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remoteforms/test3.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/remotelink/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/example1.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/example2.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/example3.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/example4.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/example5.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/example5Ok.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/nodecorate/panel1.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/nodecorate/panel2.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/nodecorate/panel2Submit.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/nodecorate/panel3.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tabbedpanel/nodecorate/panel3Submit.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/testjs.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tree/getCategory.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tree/partialChunkHeader.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tree/toggle.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/tree/tree.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/ajax/widgets/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/chat/chatLogin.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/chat/createRoom.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/chat/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/chat/messagesAvailableInRoom.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/chat/roomSelection.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/chat/roomsAvailable.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/chat/sendMessageToRoomResult.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/chat/showRoom.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/chat/usersAvailable.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/chat/usersAvailableInRoom.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/continuations/guess.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/Address.java.txt create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/AddressAction.java.txt create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/EnumTypeConverter.java.txt create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/OperationsEnum.java.txt create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/OperationsEnumAction.java.txt create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/OperationsEnumActionConversion.txt create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/Person.java.txt create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/PersonAction.java.txt create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/enterAddressInfo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/enterOperations.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/enterPersonInfo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/showAddressInfo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/showOperations.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/conversion/showPersonInfo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/customTemplateDir/customTheme/ftlCustomTemplate.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/customTemplateDir/customTheme/jspCustomTemplate.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/date.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/empmanager/editEmployee.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/empmanager/editSkill.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/empmanager/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/empmanager/listEmployees.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/empmanager/listSkills.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/filedownload/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/fileupload/upload-success.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/fileupload/upload.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/freemarker/customFreemarkerManagerUsage.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/freemarker/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/blank.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/hangmanAjax.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/hangmanMenu.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/hangmanNonAjax.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_0.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_1.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_2.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_3.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_4.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_5.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_A.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_B.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_C.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_D.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_E.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_F.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_G.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_H.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_I.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_J.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_K.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_L.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_M.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_N.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_O.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_P.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_Q.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_R.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_S.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_T.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_U.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_V.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_W.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_X.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_Y.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_Z.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/Chalkboard_underscroll.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/choose.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/guess.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/guesses-left.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/hangman.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/letter-spacer.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/play-again.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/scaffold_-1.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/scaffold_0.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/scaffold_1.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/scaffold_2.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/scaffold_3.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/scaffold_4.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/scaffold_5.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/start.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/you-lose.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/images/you-win.png create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/test.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/updateCharacterAvailable.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/updateGuessLeft.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/updateScaffold.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/hangman/updateVocabCharacters.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/help.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/images/struts-power.gif create mode 100644 trunk/apps/showcase/src/main/webapp/images/struts.gif create mode 100644 trunk/apps/showcase/src/main/webapp/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/integration/modelDriven.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/integration/modelDrivenResult.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/jsf/employee/edit.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/jsf/employee/list.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/jsf/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/modelDriven/modelDriven.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/modelDriven/modelDrivenResult.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/person/editPeople.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/person/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/person/listPeople.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/person/newPerson.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/showcase.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/styles/forms.css create mode 100644 trunk/apps/showcase/src/main/webapp/styles/layout-navtop-1col.css create mode 100644 trunk/apps/showcase/src/main/webapp/styles/layout-navtop-localleft.css create mode 100644 trunk/apps/showcase/src/main/webapp/styles/layout.css create mode 100644 trunk/apps/showcase/src/main/webapp/styles/main.css create mode 100644 trunk/apps/showcase/src/main/webapp/styles/nav-horizontal.css create mode 100644 trunk/apps/showcase/src/main/webapp/styles/tools.css create mode 100644 trunk/apps/showcase/src/main/webapp/styles/typo.css create mode 100644 trunk/apps/showcase/src/main/webapp/tags/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionPrefix/actionPrefix.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionPrefix/actionPrefixExample.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionPrefix/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionPrefix/methodPrefix.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionPrefix/normalSubmit.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionPrefix/redirectActionPrefix.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionTag/includedPage.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionTag/includedPage2.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionTag/includedPage3.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/actionTag/showActionTagDemo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/date.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/debug.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/ifTag/testIf.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/ifTag/testIf.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/iteratorTag/appendIteratorTagDemoResult.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/iteratorTag/iteratorGeneratorTagDemoResult.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/iteratorTag/mergeIteratorTagDemoResult.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/iteratorTag/showAppendIteratorTagDemo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/iteratorTag/showIteratorGeneratorTagDemo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/iteratorTag/showMergeIteratorTagDemo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/iteratorTag/subsetIteratorTagDemo.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/non-ui/iteratorTag/subsetIteratorTagDemoResult.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/componentTagExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/dynamicTreeSelect.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/example.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/example.vm create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/exampleSubmited.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/exampleSubmited.vm create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/images/backgroundImage.jpg create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/images/leopard.jpg create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/lotsOfOptiontransferselect.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/lotsOfOptiontransferselectSubmit.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/staticTreeSelect.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleDynamic.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleStatic.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/template/xhtml/mytemplate.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/token/doublePost.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/token/example1.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/token/example2.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/token/example3.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/token/example4.ftl create mode 100644 trunk/apps/showcase/src/main/webapp/token/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/token/transferDone.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/clientSideValidationExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/fieldValidatorsExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/footer.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/nonFieldValidatorsExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/quiz-ajax.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/quiz-basic.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/quiz-client-css.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/quiz-client.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/quiz-success.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/storeErrorsAcrossRequestCancel.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/storeErrorsAcrossRequestExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/storeErrorsAcrossRequestOk.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/successClientSideValidationExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/successFieldValidatorsExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/successNonFieldValidatorsExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/successVisitorValidatorsExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/validation/validationExamplesStyles.css create mode 100644 trunk/apps/showcase/src/main/webapp/validation/visitorValidatorsExample.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/viewSource.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/wait/complete.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/wait/example1.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/wait/example2.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/wait/example3.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/wait/index.jsp create mode 100644 trunk/apps/showcase/src/main/webapp/wait/wait.jsp create mode 100644 trunk/apps/showcase/src/test/java/org/apache/struts2/showcase/tutorial/HelloTest.java create mode 100644 trunk/assembly/pom.xml create mode 100644 trunk/assembly/src/main/assembly/all.xml create mode 100644 trunk/assembly/src/main/assembly/apps.xml create mode 100644 trunk/assembly/src/main/assembly/lib.xml create mode 100644 trunk/assembly/src/main/assembly/src.xml create mode 100644 trunk/assembly/src/main/resources/LICENSE.txt create mode 100644 trunk/assembly/src/main/resources/NOTICE.txt create mode 100644 trunk/assembly/src/main/resources/build.xml create mode 100755 trunk/backport/ASM-LICENSE.txt create mode 100644 trunk/backport/LICENSE.txt create mode 100755 trunk/backport/RETROTRANSLATOR-LICENSE.txt create mode 100755 trunk/backport/S2-FOR-J4-README.txt create mode 100755 trunk/backport/STRUTS-LICENSE.txt create mode 100755 trunk/backport/XWORK-LICENSE.txt create mode 100755 trunk/backport/backport-util-concurrent.jar create mode 100644 trunk/backport/readme.html create mode 100755 trunk/backport/retrotranslator-runtime-1.0.7.jar create mode 100644 trunk/backport/retrotranslator-runtime-1.0.8.jar create mode 100644 trunk/backport/retrotranslator-transformer-1.0.8.jar create mode 100644 trunk/backport/translate.bat create mode 100644 trunk/core/pom.xml create mode 100644 trunk/core/src/main/etc/taglib-settings.xml create mode 100644 trunk/core/src/main/java/org/apache/struts2/RequestUtils.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/ServletActionContext.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/StrutsConstants.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/StrutsException.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/StrutsStatics.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/StrutsTestCase.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/ActionError.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/ActionMessage.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Anchor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/AppendIterator.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Bean.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Checkbox.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/CheckboxList.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/ClosingUIBean.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/ComboBox.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Component.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Date.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/DatePicker.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Debug.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Div.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/DoubleSelect.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Else.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/ElseIf.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/FieldError.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/File.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Form.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/FormButton.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/GenericUIBean.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Head.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Hidden.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/I18n.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/If.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Include.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/IteratorComponent.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Label.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/ListUIBean.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/MergeIterator.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/OptGroup.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Panel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Param.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Password.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Property.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Push.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Radio.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/RemoteCallUIBean.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Reset.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Select.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Set.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Submit.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/TabbedPanel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Text.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/TextArea.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/TextField.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/TimePicker.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Token.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/Tree.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/TreeNode.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/UIBean.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/URL.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/UpDownSelect.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/AbstractFilterModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/RenderFilterModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/SortFilterModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/SortableTableModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/WebTable.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/WebTableColumn.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/AbstractCellRenderer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/BooleanCellRenderer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/CellRenderer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/DateCellRenderer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/DefaultCellRenderer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/FixedTextCellRenderer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/LinkCellRenderer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/NumericCellRenderer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/table/renderer/package.html create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/template/BaseTemplateEngine.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/template/JspTemplateEngine.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/template/Template.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/template/TemplateEngine.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/template/TemplateRenderingContext.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/components/template/VelocityTemplateEngine.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/config/DefaultSettings.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/config/DelegatingSettings.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/config/PropertiesSettings.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/config/ServletContextSingleton.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/config/Settings.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/config/StrutsXmlConfigurationProvider.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/config/package.html create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/ActionContextCleanUp.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/DefaultActionSupport.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/DispatcherListener.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/FilterDispatcher.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/FilterDispatcherCompatWeblogic61.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/HttpHeaderResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/PlainTextResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/RequestMap.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletActionRedirectResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletDispatcherResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/ServletRedirectResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/SessionMap.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/StreamResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/StrutsResultSupport.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/VelocityResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapperFactory.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapping.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequest.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/package.html create mode 100644 trunk/core/src/main/java/org/apache/struts2/dispatcher/package.html create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/ActionContextImpl.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/InterceptorAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/MessagesImpl.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/RequestContextImpl.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/ResultAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/StrutsActionProxy.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/StrutsActionProxyFactory.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/StrutsObjectFactory.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/impl/ValueStackAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/ApplicationAware.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/BackgroundProcess.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/CreateSessionInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/NoParameters.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/PrincipalAware.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/PrincipalProxy.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/ProfilingActivationInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/RequestAware.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/ServletConfigInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/ServletRequestAware.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/ServletResponseAware.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/SessionAware.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/debugging/DebuggingInterceptor.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/interceptor/debugging/PrettyPrintWriter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/PortletActionConstants.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/PortletApplicationMap.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/PortletRequestMap.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/PortletSessionMap.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/context/PortletActionContext.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/context/PreparatorServlet.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/context/ServletContextHolderListener.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/dispatcher/DirectRenderFromEventAction.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/result/PortletResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/spring/lifecycle/SpringExternalReferenceResolverSetupListener.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/AppendIteratorFilter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/AttributeMap.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/ClassLoaderUtils.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/ContainUtil.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/Counter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/DateFormatter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/FastByteArrayOutputStream.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/InvocationSessionStore.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/IteratorFilterSupport.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/IteratorGenerator.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/ListEntry.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/MakeIterator.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/MergeIteratorFilter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/ObjectFactoryDestroyable.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/ObjectFactoryInitializable.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/ObjectFactoryLifecycle.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/PrefixTrie.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/ResolverSetupServletContextListener.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/ServletContextAware.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/SortIteratorFilter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/Sorter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/StrutsTypeConverter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/StrutsUtil.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/SubsetIteratorFilter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/TabbedPane.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/Timer.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/TokenHelper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/URLBean.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/util/VelocityStrutsUtil.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/validators/DWRValidator.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/JspSupportServlet.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/PortletFreemarkerResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/ScopesHashModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/StrutsBeanWrapper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/StrutsClassTemplateLoader.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ActionErrorModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ActionMessageModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ActionModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/AnchorModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/BeanModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/CallbackWriter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/CheckboxListModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/CheckboxModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ComboBoxModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ComponentModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/DateModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/DatePickerModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/DivModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/DoubleSelectModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ElseIfModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ElseModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/FieldErrorModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/FileModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/FormModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/HeadModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/HiddenModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/I18nModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/IfModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/IncludeModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/IteratorModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/LabelModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/OptGroupModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/OptionTransferSelectModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/PanelModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ParamModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/PasswordModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/PropertyModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/PushModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/RadioModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/ResetModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/SelectModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/SetModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/StrutsModels.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/SubmitModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TabbedPanelModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TagModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TextAreaModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TextFieldModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TextModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TimePickerModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TokenModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TreeModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/TreeNodeModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/URLModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/UpDownSelectModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/freemarker/tags/WebTableModel.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/DateTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ElseIfTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ElseTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/I18nTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/IfTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/IncludeTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/IteratorStatus.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/IteratorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ParamTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/PropertyTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/PushTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/SetTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/TagUtils.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/TextTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/URLTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/iterator/AppendIteratorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/iterator/IteratorGeneratorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/iterator/MergeIteratorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/iterator/SortIteratorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/iterator/SubsetIteratorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/package.html create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractClosingTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractDoubleListTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractRequiredListTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/ActionErrorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/ActionMessageTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AnchorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/CheckboxListTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/CheckboxTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/ComboBoxTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/ComponentTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/DatePickerTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/DebugTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/DivTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/DoubleSelectTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/FieldErrorTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/FileTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/FormTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/HeadTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/HiddenTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/LabelTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/OgnlTool.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/OptGroupTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/PanelTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/PasswordTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/RadioTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/ResetTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/SelectTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/SubmitTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/TabbedPanelTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/TextFieldTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/TextareaTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/TimePickerTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/TokenTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/TreeNodeTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/TreeTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/UpDownSelectTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/table/WebTableTag.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/util/ContextUtil.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/util/ResourceUtil.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/util/TextUtil.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/util/package.html create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/StrutsResourceLoader.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/StrutsVelocityContext.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/StrutsVelocityServlet.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/AbstractDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/ActionDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/ActionErrorDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/ActionMessageDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/AnchorDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/BeanDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/CheckBoxDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/CheckBoxListDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/ComboBoxDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/ComponentDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/DateDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/DatePickerDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/DivDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/DoubleSelectDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/FieldErrorDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/FileDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/FormDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/HeadDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/HiddenDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/I18nDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/IncludeDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/LabelDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/OptGroupDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/OptionTransferSelectDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/PanelDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/ParamDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/PasswordDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/PropertyDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/PushDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/RadioDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/ResetDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/SelectDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/SetDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/SubmitDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/TabbedPanelDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/TextAreaDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/TextDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/TextFieldDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/TokenDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/TreeDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/TreeNodeDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/URLDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/UpDownSelectDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/components/WebTableDirective.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/velocity/package.html create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/AbstractAdapterElement.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/AbstractAdapterNode.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/AdapterNode.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/ArrayAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/BeanAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/CollectionAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/MapAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/ProxyAttrAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/ProxyElementAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/ProxyNamedNodeMap.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/ProxyNodeAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/ProxyTextNodeAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/ServletURIResolver.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/SimpleAdapterDocument.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/SimpleNodeList.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/SimpleTextNode.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/StringAdapter.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java create mode 100644 trunk/core/src/main/java/org/apache/struts2/views/xslt/package.html create mode 100644 trunk/core/src/main/resources/META-INF/struts-tags.tld create mode 100644 trunk/core/src/main/resources/org/apache/struts2/default.properties create mode 100644 trunk/core/src/main/resources/org/apache/struts2/dispatcher/error.ftl create mode 100644 trunk/core/src/main/resources/org/apache/struts2/interceptor/debugging/console.ftl create mode 100644 trunk/core/src/main/resources/org/apache/struts2/interceptor/debugging/webconsole.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/interceptor/debugging/webconsole.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/interceptor/debugging/webconsole.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/interceptor/package.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/interceptor/wait.ftl create mode 100644 trunk/core/src/main/resources/org/apache/struts2/package.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/sitegraph/sitegraph-usage.txt create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/CommonFunctions.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/LICENSE create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/README create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/build.txt create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/dojo.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/dojo.js.uncompressed.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/alg/Alg.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/alg/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/animation/Animation.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/animation/Timer.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/animation/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/bootstrap1.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/bootstrap2.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/browser_debug.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/ArrayList.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/BinaryTree.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/ByteArray.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/Collections.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/Dictionary.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/Graph.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/List.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/Queue.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/Set.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/SkipList.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/SortedList.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/Stack.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/collections/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Blowfish.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto/LICENSE create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto/MD5.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Rijndael.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA1.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA256.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/crypto/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/data.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/data/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/date.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/dnd/DragAndDrop.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/dnd/HtmlDragAndDrop.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/dnd/HtmlDragManager.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/dnd/HtmlDragMove.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/dnd/Sortable.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/dnd/TreeDragAndDrop.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/dnd/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/dom.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/event.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/event/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/event/browser.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/event/topic.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/flash.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash6/DojoExternalInterface.as create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/flash/flash8/DojoExternalInterface.as create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/fx/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/fx/html.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/fx/svg.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/graphics/Colorspace.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/graphics/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/graphics/color.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/graphics/htmlEffects.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/hostenv_adobesvg.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/hostenv_browser.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/hostenv_jsc.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/hostenv_rhino.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/hostenv_spidermonkey.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/hostenv_svg.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/hostenv_wsh.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/html.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/iCalendar.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/io.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/io/BrowserIO.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/io/IframeIO.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/io/RepubsubIO.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/io/RhinoIO.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/io/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/io/cookie.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/io/cookies.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/json.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/lang.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/lang/Lang.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/lang/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/logging/Logger.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/logging/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/math.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/math/Math.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/math/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/math/curves.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/math/matrix.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/math/points.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/profile.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/reflect/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/reflect/reflection.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/regexp.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/rpc/Deferred.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/rpc/JotService.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/rpc/JsonService.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/rpc/RpcService.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/rpc/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/selection.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/storage.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/storage/Storage.as create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/storage/Storage.swf create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/storage/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/storage/browser.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/storage/storage.sh create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/string.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/string/Builder.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/string/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/style.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/svg.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/text/Builder.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/text/String.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/text/Text.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/text/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/text/textDirectory.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/undo/Manager.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/uri/Uri.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/uri/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/validate.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/DomWidget.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/HtmlWidget.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/SvgWidget.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/Widget.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/WidgetManager.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/Button.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/ComboBox.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/ContextMenu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/DropdownButtons.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/HTMLButton.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/HTMLComboBox.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/HTMLContextMenu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/HTMLMenu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/HTMLMenuItem.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/HTMLResizableTextarea.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/InlineEditBox.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/Menu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/MenuItem.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/Parse.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/SVGButton.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/SlideShow.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/Tabs.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/webui/widgets/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Accordion.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Button.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Button2.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Chart.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Checkbox.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/CiviCrmDatePicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/ColorPalette.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/ComboBox.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Container.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/ContentPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/ContextMenu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/DatePicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/DebugConsole.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Dialog.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/DomWidget.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/DropdownButton.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Editor.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/EditorTree.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/EditorTreeContextMenu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/EditorTreeController.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/EditorTreeNode.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/EditorTreeSelector.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/FisheyeList.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/FloatingPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/HslColorPicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/HtmlWidget.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/InlineEditBox.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/LayoutPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/LinkPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Manager.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Menu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Menu2.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/MenuItem.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Parse.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/PopUpButton.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/ResizableTextarea.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/ResizeHandle.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/RichText.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/SimpleDropdownButtons.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/SlideShow.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/SplitPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/SvgButton.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/SvgWidget.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/TabPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tabs.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/TaskBar.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/TemplatedContainer.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/TimePicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toggler.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toolbar.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tooltip.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tree.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Widget.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/Wizard.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/Button.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/Button2.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/Checkbox.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/ComboBox.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/Container.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/ContentPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/ContextMenu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/DatePicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/DebugConsole.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/DropdownButton.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/LayoutPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/LinkPane.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/Menu.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/MenuItem.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/TaskBar.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/TimePicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/Tooltip.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/html/stabile.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/svg/Chart.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/svg/HslColorPicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/AccordionPanel.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/AccordionPanel.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HslColorPicker.svg create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlButton2Template.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlButton2Template.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlButtonTemplate.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlButtonTemplate.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlCiviCrmDatePicker.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlComboBox.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlComboBox.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlComboButton2Template.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlContextMenuTemplate.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlDatePicker.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlDatePicker.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlDialog.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlDropDownButtonTemplate.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlFisheyeList.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlFloatingPane.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlInlineEditBox.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlInlineEditBox.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlLayoutPane.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlMenu2.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlMenuItemTemplate.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlResizableTextarea.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlResizableTextarea.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlResizeHandle.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlSimpleDropdownButtons.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlSlideShow.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlSlideShow.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlSplitPane.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlTabPane.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlTabs.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlTaskBar.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlTaskBarItemTemplate.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlTimePicker.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlTimePicker.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlToolbar.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlTooltipTemplate.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/HtmlTooltipTemplate.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/Menu.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/PopUpButton.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/Tree.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/Wizard.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/Wizard.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/-.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/backcolor.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/bold.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/cancel.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/copy.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/createlink.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/cut.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/delete.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/forecolor.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/hilitecolor.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/indent.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/inserthorizontalrule.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/insertimage.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/insertorderedlist.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/inserttable.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/insertunorderedlist.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/italic.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/justifycenter.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/justifyfull.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/justifyleft.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/justifyright.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/left_to_right.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/list_bullet_indent.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/list_bullet_outdent.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/list_num_indent.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/list_num_outdent.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/outdent.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/paste.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/redo.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/removeformat.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/right_to_left.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/save.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/space.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/strikethrough.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/subscript.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/superscript.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/underline.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/undo.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/buttons/wikiword.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/check_off.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/check_on.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/decrementMonth.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/decrementWeek.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/grabCorner.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/EditorTree.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/blank.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/closed.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/document.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/minus.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/open.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/plus.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_blank.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_child.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_expand_minus.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_expand_plus.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_grid_c.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_grid_l.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_grid_p.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_grid_t.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_grid_v.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_grid_x.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_grid_y.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_grid_z.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/EditorTree/treenode_loading.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/blank.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/combo_box_arrow.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/dropdownButtonsArrow-disabled.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/dropdownButtonsArrow.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/floatingPaneClose.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/floatingPaneMaximize.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/floatingPaneMinimize.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/floatingPaneRestore.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/hue.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/no.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/no.svg create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-blue_benji-c.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-blue_benji-l.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-blue_benji-r.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-blue_benji_p_01.svg create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-gray_benji-c.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-gray_benji-l.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-gray_benji-r.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-gray_benji.svg create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-purple_benji-c.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-purple_benji-l.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-purple_benji-r.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-purple_benji_01.svg create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-seagreen_ben_01.svg create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-seagreen_benji-c.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-seagreen_benji-l.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/pill-button-seagreen_benji-r.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/shadowB.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/shadowBL.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/shadowBR.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/shadowL.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/shadowR.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/shadowTR..png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/shadowUL.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/shadowUR.png create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/submenu_off.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/submenu_on.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/tab_left.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/tab_left_r.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/tab_left_r_curr.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/tab_right.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/tab_right_r.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/tab_right_r_curr.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/titlebar-bg.jpg create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/toolbar-bg.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/transparent.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_blank.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_expand_minus.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_expand_plus.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_grid_c.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_grid_l.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_grid_p.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_grid_t.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_grid_v.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_grid_x.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_grid_y.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_grid_z.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/treenode_node.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/verticalbar.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/images/whiteDownArrow.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/incrementMonth.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/widget/templates/incrementWeek.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/xml/Parse.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/xml/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/xml/domUtil.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/xml/htmlUtil.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/src/xml/svgUtil.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/Util.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/tooltip.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/Bind.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/Bind.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/BindAnchor.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/BindAnchor.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/BindButton.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/BindButton.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/BindDiv.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/BindDiv.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/DateTimeUtil.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/DropDownDatePicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/DropDownTimePicker.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/DropdownContainer.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/DynArchCalendar.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/DynArchCalendar.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/ToggleBindDiv.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/__package__.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/dateIcon.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/dropdowncontainer.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/dropdowncontainer.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widgets/timeIcon.gif create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/niftycorners/layout.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/niftycorners/nifty.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/niftycorners/niftyCorners.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/niftycorners/niftyPrint.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/niftycorners/niftylayout.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/optiontransferselect.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/tabs.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/tree.css create mode 100644 trunk/core/src/main/resources/org/apache/struts2/static/validationClient.js create mode 100644 trunk/core/src/main/resources/org/apache/struts2/struts-messages.properties create mode 100644 trunk/core/src/main/resources/org/apache/struts2/struts-messages_da.properties create mode 100644 trunk/core/src/main/resources/org/apache/struts2/struts-messages_de.properties create mode 100644 trunk/core/src/main/resources/org/apache/struts2/util/package.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/views/freemarker/package.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/views/jsp/iterator/package.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/views/jsp/ui/package.html create mode 100644 trunk/core/src/main/resources/org/apache/struts2/views/jsp/ui/table/package.html create mode 100644 trunk/core/src/main/resources/overview.html create mode 100644 trunk/core/src/main/resources/struts-2.0.dtd create mode 100644 trunk/core/src/main/resources/struts-default.xml create mode 100644 trunk/core/src/main/resources/struts-plugin-default.xml create mode 100644 trunk/core/src/main/resources/struts.vm create mode 100644 trunk/core/src/main/resources/template/ajax/a.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/controlheader.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/div.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/dojoRequire.js create mode 100644 trunk/core/src/main/resources/template/ajax/form-close.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/form.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/head.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/submit-ajax.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/submit.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/tab-close.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/tab.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/textarea.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/theme.properties create mode 100644 trunk/core/src/main/resources/template/ajax/tree-close.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/tree.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/treenode-close.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/treenode-include.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/treenode.ftl create mode 100644 trunk/core/src/main/resources/template/ajax/validation.js create mode 100644 trunk/core/src/main/resources/template/archive/ajax/a-close.vm create mode 100644 trunk/core/src/main/resources/template/archive/ajax/a.vm create mode 100644 trunk/core/src/main/resources/template/archive/ajax/div-close.vm create mode 100644 trunk/core/src/main/resources/template/archive/ajax/div.vm create mode 100644 trunk/core/src/main/resources/template/archive/ajax/form-close.vm create mode 100644 trunk/core/src/main/resources/template/archive/ajax/form.vm create mode 100644 trunk/core/src/main/resources/template/archive/ajax/submit.vm create mode 100644 trunk/core/src/main/resources/template/archive/ajax/tab-close.vm create mode 100644 trunk/core/src/main/resources/template/archive/ajax/tab.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/checkbox.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/checkboxlist.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/combobox.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/debug.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/doubleselect.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/empty.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/file.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/form-close.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/form.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/hidden.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/label.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/password.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/radiomap.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/scripting-events.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/select.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/submit.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/table.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/text.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/textarea.vm create mode 100644 trunk/core/src/main/resources/template/archive/simple/token.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/checkbox.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/checkboxlist.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/combobox.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/controlfooter.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/controlheader.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/debug.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/doubleselect.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/empty.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/file.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/form-close.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/form.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/hidden.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/label.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/password.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/radiomap.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/select.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/submit.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/table.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/text.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/textarea.vm create mode 100644 trunk/core/src/main/resources/template/archive/xhtml/token.vm create mode 100644 trunk/core/src/main/resources/template/css_xhtml/checkbox.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/checkboxlist.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/combobox.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/control-close.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/control.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/controlfooter.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/controlheader-core.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/controlheader.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/datepicker.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/debug.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/doubleselect.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/file.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/form-close.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/form-validate.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/form.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/head.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/label.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/optiontransferselect.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/password.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/radiomap.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/reset.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/select.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/styles.css create mode 100644 trunk/core/src/main/resources/template/css_xhtml/submit.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/text.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/textarea.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/theme.properties create mode 100644 trunk/core/src/main/resources/template/css_xhtml/updownselect.ftl create mode 100644 trunk/core/src/main/resources/template/css_xhtml/validation.js create mode 100644 trunk/core/src/main/resources/template/simple/a-close.ftl create mode 100644 trunk/core/src/main/resources/template/simple/a.ftl create mode 100644 trunk/core/src/main/resources/template/simple/actionerror.ftl create mode 100644 trunk/core/src/main/resources/template/simple/actionmessage.ftl create mode 100644 trunk/core/src/main/resources/template/simple/checkbox.ftl create mode 100644 trunk/core/src/main/resources/template/simple/checkboxlist.ftl create mode 100644 trunk/core/src/main/resources/template/simple/combobox.ftl create mode 100644 trunk/core/src/main/resources/template/simple/common-attributes.ftl create mode 100644 trunk/core/src/main/resources/template/simple/controlfooter.ftl create mode 100644 trunk/core/src/main/resources/template/simple/controlheader.ftl create mode 100644 trunk/core/src/main/resources/template/simple/datepicker.ftl create mode 100644 trunk/core/src/main/resources/template/simple/debug.ftl create mode 100644 trunk/core/src/main/resources/template/simple/div-close.ftl create mode 100644 trunk/core/src/main/resources/template/simple/div.ftl create mode 100644 trunk/core/src/main/resources/template/simple/dojoRequire.js create mode 100644 trunk/core/src/main/resources/template/simple/doubleselect.ftl create mode 100644 trunk/core/src/main/resources/template/simple/empty.ftl create mode 100644 trunk/core/src/main/resources/template/simple/fielderror.ftl create mode 100644 trunk/core/src/main/resources/template/simple/file.ftl create mode 100644 trunk/core/src/main/resources/template/simple/form-close.ftl create mode 100644 trunk/core/src/main/resources/template/simple/form.ftl create mode 100644 trunk/core/src/main/resources/template/simple/head.ftl create mode 100644 trunk/core/src/main/resources/template/simple/hidden.ftl create mode 100644 trunk/core/src/main/resources/template/simple/label.ftl create mode 100644 trunk/core/src/main/resources/template/simple/optgroup.ftl create mode 100644 trunk/core/src/main/resources/template/simple/optiontransferselect.ftl create mode 100644 trunk/core/src/main/resources/template/simple/password.ftl create mode 100644 trunk/core/src/main/resources/template/simple/radiomap.ftl create mode 100644 trunk/core/src/main/resources/template/simple/reset.ftl create mode 100644 trunk/core/src/main/resources/template/simple/scripting-events.ftl create mode 100644 trunk/core/src/main/resources/template/simple/select.ftl create mode 100644 trunk/core/src/main/resources/template/simple/submit.ftl create mode 100644 trunk/core/src/main/resources/template/simple/tab-close.ftl create mode 100644 trunk/core/src/main/resources/template/simple/tab.ftl create mode 100644 trunk/core/src/main/resources/template/simple/tabbedpanel-close.ftl create mode 100644 trunk/core/src/main/resources/template/simple/tabbedpanel.ftl create mode 100644 trunk/core/src/main/resources/template/simple/table.ftl create mode 100644 trunk/core/src/main/resources/template/simple/text.ftl create mode 100644 trunk/core/src/main/resources/template/simple/textarea.ftl create mode 100644 trunk/core/src/main/resources/template/simple/timepicker.ftl create mode 100644 trunk/core/src/main/resources/template/simple/token.ftl create mode 100644 trunk/core/src/main/resources/template/simple/updownselect.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/checkbox.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/checkboxlist.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/combobox.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/control-close.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/control.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/controlfooter.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/controlheader-core.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/controlheader.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/datepicker.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/debug.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/doubleselect.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/file.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/form-close-validate.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/form-close.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/form-validate.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/form.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/head.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/label.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/optiontransferselect.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/password.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/radiomap.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/reset.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/select.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/styles.css create mode 100644 trunk/core/src/main/resources/template/xhtml/submit.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/text.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/textarea.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/theme.properties create mode 100644 trunk/core/src/main/resources/template/xhtml/timepicker.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/tooltip.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/updownselect.ftl create mode 100644 trunk/core/src/main/resources/template/xhtml/validation.js create mode 100644 trunk/core/src/main/xdt/Readme-tagdoclet.txt create mode 100644 trunk/core/src/main/xdt/tagdoc-toc.xdt create mode 100644 trunk/core/src/main/xdt/tagdoc.xdt create mode 100644 trunk/core/src/main/xdt/tags_tld.xdt create mode 100644 trunk/core/src/test/java/org/apache/struts2/ExecutionCountTestAction.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/RequestUtilsTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/ServletActionContextTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/TestAction.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/TestActionTagResult.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/TestResult.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/components/ComponentTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/components/FormButtonTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/components/FormTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/components/PropertyTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/components/UIBeanTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/components/UIComponentTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/components/template/BaseTemplateEngineTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/config/SettingsTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/config/TestSettings.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/FilterDispatcherTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/HttpHeaderResultTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/NullActionMapper.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/PlainTextResultTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletActionRedirectResultTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletDispatchedTestAssertInterceptor.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletDispatcherResultTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/ServletRedirectResultTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/SessionMapTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/StreamResultTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/StrutsResultSupportTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/VelocityResultTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/impl/MessagesTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/impl/RequestContextTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/CreateSessionInterceptorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitDelayAction.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/MessageStoreInterceptorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/ServletConfigInterceptorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/TokenInterceptorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/PortletApplicationMapTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/PortletRequestMapTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/PortletSessionMapTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/context/PortletActionContextTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/context/PreparatorServletTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/context/ServletContextHolderListenerTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/dispatcher/Jsr168DispatcherTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/result/PortletResultTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/util/PortletUrlHelperTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/portlet/util/StrutsUtilTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/util/CounterTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/util/InvocationSessionStoreTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/util/PrefixTrieTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/util/StrutsTypeConverterTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/util/TokenHelperTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/TemplateEngineManagerTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerManagerTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreemarkerTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/freemarker/TestAction.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/freemarker/TestBean.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/AbstractTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/AnchorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/AppendIteratorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/BeanTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseIfTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ElseTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/IncludeTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/IteratorGeneratorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/IteratorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/MergeIteratorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/PortletUrlTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/PropertyTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/PushTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/SetTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/SortIteratorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockBodyContent.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockHttpServletRequest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockHttpServletResponse.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockHttpSession.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockJspWriter.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockPageContext.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockServletContext.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/SubsetIteratorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/TextTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/URLTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ActionErrorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ActionMessageTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AnchorTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/Category.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxListTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ComboBoxTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ComponentTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DatePickerTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DateTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DivTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleSelectTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FileTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/HeadTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/HiddenTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/JspTemplateTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/MockTag.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/PasswordTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/RadioTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/ResetTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/SelectTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/StrutsBodyContent.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/SubmitAjaxTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/SubmitTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TestAction1.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TokenTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TooltipTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/TreeTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/UpDownSelectTagTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/User.java create mode 100755 trunk/core/src/test/java/org/apache/struts2/views/util/ContextUtilTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/util/ResourceUtilTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/util/TextUtilTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java create mode 100644 trunk/core/src/test/java/org/apache/struts2/views/xslt/XSLTResultTest.java create mode 100644 trunk/core/src/test/resources/XSLTResultTest.xsl create mode 100644 trunk/core/src/test/resources/XSLTResultTest2.xsl create mode 100644 trunk/core/src/test/resources/XSLTResultTest3.xsl create mode 100644 trunk/core/src/test/resources/log4j.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/TestAction-validation.xml create mode 100644 trunk/core/src/test/resources/org/apache/struts2/TestAction.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/components/template/dummy.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/components/template/theme1/themeThroughClassPath.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/components/template/theme1/themeThroughFileSystem.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/components/tempo.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/dispatcher/someJspFile.jsp create mode 100644 trunk/core/src/test/resources/org/apache/struts2/interceptor/FileUploadInterceptor.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/othertest.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/spring/StrutsSpringObjectFactoryTest-applicationContext.xml create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Checkbox-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Checkbox-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Checkbox-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Checkbox-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Checkbox-5.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/CheckboxList-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/CheckboxList-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/CheckboxList-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/CheckboxList-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/ComboBox-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/ComboBox-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/ComboBox-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Component-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Component-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Component-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Component-param.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DatePickerTagTest-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DatePickerTagTest-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DoubleSelect-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DoubleSelect-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/File-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-10.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-11.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-5.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-6.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-7.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-8.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Formtag-9.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/HeadTagTest-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/HeadTagTest-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/HeadTagTest-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/HeadTagTest-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Hidden-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Label-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Password-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Radio-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Radio-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Radio-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Reset-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Reset-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Reset-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Reset-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-5.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-6.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-7.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Select-8.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Submit-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Submit-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Submit-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Submit-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Submit-5.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Submit-6.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/TestAction1.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/TestAction1_de.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/TestAction1_fr.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textarea-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textfield-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textfield-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textfield-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/User-validation.xml create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/User.properties create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/actionerror-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/actionerror-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/actionmessage-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/actionmessage-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/div-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-5.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/href-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-5.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-6.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-7.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/tooltip-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/tooltip-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/tooltip-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/tree-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/tree-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-1.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-10.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-11.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-2.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-3.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-4.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-5.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-6.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-7.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-8.txt create mode 100644 trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/updownselecttag-9.txt create mode 100644 trunk/core/src/test/resources/struts.properties create mode 100644 trunk/core/src/test/resources/struts.xml create mode 100644 trunk/core/src/test/resources/template/test/Component.ftl create mode 100644 trunk/core/src/test/resources/template/test/checkbox.jsp create mode 100644 trunk/core/src/test/resources/test.properties create mode 100644 trunk/core/src/test/resources/testmessages.properties create mode 100644 trunk/core/src/test/resources/testmessages2.properties create mode 100644 trunk/core/src/test/resources/validators.xml create mode 100644 trunk/docs/tags/ActionComponent.html create mode 100644 trunk/docs/tags/ActionError.html create mode 100644 trunk/docs/tags/ActionMessage.html create mode 100644 trunk/docs/tags/Anchor.html create mode 100644 trunk/docs/tags/AppendIterator.html create mode 100644 trunk/docs/tags/Bean.html create mode 100644 trunk/docs/tags/Checkbox.html create mode 100644 trunk/docs/tags/CheckboxList.html create mode 100644 trunk/docs/tags/ComboBox.html create mode 100644 trunk/docs/tags/Date.html create mode 100644 trunk/docs/tags/DatePicker.html create mode 100644 trunk/docs/tags/Debug.html create mode 100644 trunk/docs/tags/Div.html create mode 100644 trunk/docs/tags/DoubleSelect.html create mode 100644 trunk/docs/tags/Else.html create mode 100644 trunk/docs/tags/ElseIf.html create mode 100644 trunk/docs/tags/FieldError.html create mode 100644 trunk/docs/tags/File.html create mode 100644 trunk/docs/tags/Form.html create mode 100644 trunk/docs/tags/GenericUIBean.html create mode 100644 trunk/docs/tags/Head.html create mode 100644 trunk/docs/tags/Hidden.html create mode 100644 trunk/docs/tags/I18n.html create mode 100644 trunk/docs/tags/If.html create mode 100644 trunk/docs/tags/Include.html create mode 100644 trunk/docs/tags/IteratorComponent.html create mode 100644 trunk/docs/tags/Label.html create mode 100644 trunk/docs/tags/MergeIterator.html create mode 100644 trunk/docs/tags/OptGroup.html create mode 100644 trunk/docs/tags/OptionTransferSelect.html create mode 100644 trunk/docs/tags/Panel.html create mode 100644 trunk/docs/tags/Param.html create mode 100644 trunk/docs/tags/Password.html create mode 100644 trunk/docs/tags/Property.html create mode 100644 trunk/docs/tags/Push.html create mode 100644 trunk/docs/tags/Radio.html create mode 100644 trunk/docs/tags/Reset.html create mode 100644 trunk/docs/tags/RichTextEditor.html create mode 100644 trunk/docs/tags/Select.html create mode 100644 trunk/docs/tags/Set.html create mode 100644 trunk/docs/tags/Submit.html create mode 100644 trunk/docs/tags/TabbedPanel.html create mode 100644 trunk/docs/tags/Text.html create mode 100644 trunk/docs/tags/TextArea.html create mode 100644 trunk/docs/tags/TextField.html create mode 100644 trunk/docs/tags/Token.html create mode 100644 trunk/docs/tags/Tree.html create mode 100644 trunk/docs/tags/TreeNode.html create mode 100644 trunk/docs/tags/URL.html create mode 100644 trunk/docs/tags/UpDownSelect.html create mode 100644 trunk/docs/tags/WebTable.html create mode 100644 trunk/docs/tags/index.html create mode 100644 trunk/plugins/config-browser/pom.xml create mode 100644 trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ActionNamesAction.java create mode 100644 trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ConfigurationHelper.java create mode 100644 trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ListValidatorsAction.java create mode 100644 trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java create mode 100644 trunk/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/actionNames.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/config-styles.css create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/error.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/page-footer.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/page-header.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/showConfig.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/showValidators.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/simple-error.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/tigris-macros.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/config-browser/validatorDetails.ftl create mode 100644 trunk/plugins/config-browser/src/main/resources/struts-plugin.xml create mode 100644 trunk/plugins/jasperreports/pom.xml create mode 100644 trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/CompileReport.java create mode 100644 trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportConstants.java create mode 100644 trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java create mode 100644 trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java create mode 100644 trunk/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackShadowMap.java create mode 100644 trunk/plugins/jasperreports/src/main/resources/org/apache/struts2/views/jasperreports/package.html create mode 100644 trunk/plugins/jasperreports/src/main/resources/struts-plugin.xml create mode 100644 trunk/plugins/jfreechart/pom.xml create mode 100644 trunk/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java create mode 100644 trunk/plugins/jfreechart/src/main/resources/struts-plugin.xml create mode 100644 trunk/plugins/jfreechart/src/test/java/org/apache/struts2/dispatcher/ChartResultTest.java create mode 100644 trunk/plugins/jsf/pom.xml create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/ApplyRequestValuesInterceptor.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesInterceptor.java create mode 100755 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesRender.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesResult.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSetupInterceptor.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/FacesSupport.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/InvokeApplicationInterceptor.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/ProcessValidationsInterceptor.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/RestoreViewInterceptor.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsNavigationHandler.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/StrutsVariableResolver.java create mode 100644 trunk/plugins/jsf/src/main/java/org/apache/struts2/jsf/UpdateModelValuesInterceptor.java create mode 100644 trunk/plugins/jsf/src/main/resources/org/apache/struts2/jsf/package.html create mode 100644 trunk/plugins/jsf/src/main/resources/struts-plugin.xml create mode 100644 trunk/plugins/pell-multipart/pom.xml create mode 100644 trunk/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java create mode 100644 trunk/plugins/plexus/pom.xml create mode 100644 trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java create mode 100644 trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java create mode 100644 trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java create mode 100644 trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusThreadLocal.java create mode 100644 trunk/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusUtils.java create mode 100644 trunk/plugins/pom.xml create mode 100644 trunk/plugins/quickstart/pom.xml create mode 100644 trunk/plugins/quickstart/src/main/java/org/apache/struts2/Main.java create mode 100644 trunk/plugins/quickstart/src/main/java/org/apache/struts2/quickstart/Configuration.java create mode 100644 trunk/plugins/quickstart/src/main/java/org/apache/struts2/quickstart/JettyServer.java create mode 100644 trunk/plugins/quickstart/src/main/java/org/apache/struts2/quickstart/Mapping.java create mode 100644 trunk/plugins/quickstart/src/main/java/org/apache/struts2/quickstart/MultiDirClassLoader.java create mode 100644 trunk/plugins/quickstart/src/main/java/org/apache/struts2/quickstart/MultiDirResource.java create mode 100644 trunk/plugins/quickstart/src/main/java/org/apache/struts2/quickstart/MultiWebApplicationContext.java create mode 100644 trunk/plugins/quickstart/src/main/java/org/apache/struts2/quickstart/QuickStart.java create mode 100644 trunk/plugins/sitegraph/pom.xml create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/Main.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FreeMarkerView.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/JspView.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/Target.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/VelocityView.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/View.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/model/ActionNode.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/model/Graph.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/model/IndentWriter.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/model/Link.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/model/Render.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/model/SiteGraphNode.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/model/SubGraph.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/model/ViewNode.java create mode 100644 trunk/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/renderers/DOTRenderer.java create mode 100644 trunk/plugins/sitegraph/src/test/java/org/apache/struts2/sitegraph/SiteGraphTest.java create mode 100644 trunk/plugins/sitegraph/src/test/resources/org/apache/struts2/sitegraph/hello.jsp create mode 100644 trunk/plugins/sitegraph/src/test/resources/org/apache/struts2/sitegraph/out.txt create mode 100644 trunk/plugins/sitegraph/src/test/resources/org/apache/struts2/sitegraph/struts.xml create mode 100644 trunk/plugins/sitegraph/src/test/resources/org/apache/struts2/sitegraph/tutorial/sitegraph/guess-error.ftl create mode 100644 trunk/plugins/sitegraph/src/test/resources/org/apache/struts2/sitegraph/tutorial/sitegraph/guess-input.ftl create mode 100644 trunk/plugins/sitegraph/src/test/resources/org/apache/struts2/sitegraph/tutorial/sitegraph/guess-success.jsp create mode 100644 trunk/plugins/sitemesh/pom.xml create mode 100644 trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreeMarkerPageFilter.java create mode 100644 trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/TemplatePageFilter.java create mode 100644 trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityPageFilter.java create mode 100644 trunk/plugins/struts1/pom.xml create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/ActionFormResetInterceptor.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/ActionFormValidationInterceptor.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/DynaBeanPropertyAccessor.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/Struts1Action.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/Struts1Factory.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/WrapperActionForward.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/WrapperActionMapping.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/WrapperExceptionConfig.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/WrapperMessageResources.java create mode 100644 trunk/plugins/struts1/src/main/java/org/apache/struts2/s1/WrapperModuleConfig.java create mode 100644 trunk/plugins/struts1/src/main/resources/struts-plugin.xml create mode 100644 trunk/plugins/struts1/src/test/java/org/apache/struts2/s1/DynaBeanPropertyAccessorTest.java create mode 100644 trunk/plugins/struts1/src/test/java/org/apache/struts2/s1/Struts1FactoryTest.java create mode 100644 trunk/plugins/struts1/src/test/resources/org/apache/struts2/s1/test-struts-factory.xml create mode 100644 trunk/plugins/tiles/pom.xml create mode 100644 trunk/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesListener.java create mode 100644 trunk/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesUtilImpl.java create mode 100644 trunk/plugins/tiles/src/main/java/org/apache/struts2/views/tiles/TilesResult.java create mode 100644 trunk/plugins/tiles/src/main/resources/struts-plugin.xml create mode 100644 trunk/pom.xml create mode 100644 trunk/src/main/idea/project.xml create mode 100644 trunk/src/main/idea/workspace.xml create mode 100644 trunk/src/site/site.xml create mode 100644 trunk/src/site/xdoc/index.xml create mode 100755 trunk/src/site/xdoc/jxr.xml diff --git a/trunk/all/pom.xml b/trunk/all/pom.xml new file mode 100644 index 000000000..9ae365fae --- /dev/null +++ b/trunk/all/pom.xml @@ -0,0 +1,125 @@ + + + 4.0.0 + + org.apache.struts + struts2-parent + 2.0.1 + + org.apache.struts + struts2-all + jar + Combined Struts 2 Jar + + + + org.codehaus.mojo + dependency-maven-plugin + + + unjar-deps + compile + + unpack + + + + + org.apache.struts + struts2-core + ${version} + + + org.apache.struts + struts2-api + ${version} + + + + org.apache.struts + + struts2-config-browser-plugin + + ${version} + + + org.apache.struts + + struts2-jasperreports-plugin + + ${version} + + + org.apache.struts + + struts2-jfreechart-plugin + + ${version} + + + org.apache.struts + + struts2-jsf-plugin + + ${version} + + + org.apache.struts + + struts2-pell-multipart-plugin + + ${version} + + + org.apache.struts + + struts2-plexus-plugin + + ${version} + + + org.apache.struts + + struts2-quickstart-plugin + + ${version} + + + org.apache.struts + + struts2-sitegraph-plugin + + ${version} + + + org.apache.struts + + struts2-sitemesh-plugin + + ${version} + + + org.apache.struts + + struts2-struts1-plugin + + ${version} + + + org.apache.struts + + struts2-tiles-plugin + + ${version} + + + + ${project.build.directory}/classes + + + + + + + diff --git a/trunk/api/pom.xml b/trunk/api/pom.xml new file mode 100644 index 000000000..801b1425f --- /dev/null +++ b/trunk/api/pom.xml @@ -0,0 +1,47 @@ + + + 4.0.0 + + org.apache.struts + struts2-parent + 2.0.1 + + org.apache.struts + struts2-api + jar + Struts 2 API + + + javax.servlet + servlet-api + 2.4 + provided + + + junit + junit + 3.8.1 + test + + true + + + org.easymock + easymock + test + 2.0 + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + false + + + + + diff --git a/trunk/api/src/main/java/org/apache/struts2/Action.java b/trunk/api/src/main/java/org/apache/struts2/Action.java new file mode 100644 index 000000000..ded7942b1 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/Action.java @@ -0,0 +1,45 @@ +package org.apache.struts2; + +/** + * Default action interface. Provided purely for user convenience. Struts does not require actions to implement any + * interfaces. Actions need only implement a public, no argument method which returns {@code String}. If a user does + * not specify a method name, Struts defaults to {@code execute()}. + * + *

For example: + * + *

+ *   static import ResultNames.*;
+ *
+ *   public class MyAction implements Action {
+ *
+ *     public String execute() {
+ *       return SUCCESS;
+ *     }
+ *   }
+ * 
+ * + *

is equivalent to: + * + *

+ *   static import ResultNames.*;
+ *
+ *   public class MyAction {
+ *
+ *     public String execute() {
+ *       return SUCCESS;
+ *     }
+ *   }
+ * 
+ * + * @author crazybob@google.com (Bob Lee) + */ +public interface Action { + + /** + * Executes this action. + * + * @return result name which matches a result name from the action mapping in the configuration file. See {@link + * ResultNames} for common suggestions. + */ + String execute(); +} diff --git a/trunk/api/src/main/java/org/apache/struts2/MessageAware.java b/trunk/api/src/main/java/org/apache/struts2/MessageAware.java new file mode 100644 index 000000000..70357b95e --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/MessageAware.java @@ -0,0 +1,41 @@ +package org.apache.struts2; + +/** + * Implemented by actions which may need to record errors or messages. + * + *
+ *   static import ResultNames.*;
+ *
+ *   public class SetName implements MessageAware {
+ *
+ *     Messages messages;
+ *     String name;
+ *
+ *     public String execute() {
+ *       return SUCCESS;
+ *     }
+ *
+ *     public void setName(String name) {
+ *       if ("".equals(name))
+ *         messages.forField("name").addError("name.required");
+ *
+ *       this.name = name;
+ *     }
+ *
+ *     public void setMessages(Messages messages) {
+ *       this.messages = messages;
+ *     }
+ *   }
+ * 
+ * + * @author crazybob@google.com (Bob Lee) + */ +public interface MessageAware { + + /** + * Sets messages. + * + * @param messages messages + */ + void setMessages(Messages messages); +} diff --git a/trunk/api/src/main/java/org/apache/struts2/Messages.java b/trunk/api/src/main/java/org/apache/struts2/Messages.java new file mode 100644 index 000000000..d3a3d29f0 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/Messages.java @@ -0,0 +1,196 @@ +package org.apache.struts2; + +import java.util.List; +import java.util.Set; +import java.util.Map; + +/** + * Collection of messages. Supports nesting messages by field name. + * + *

Uses keys when adding instead of actual messages to decouple code from messages. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface Messages { + + // TODO: Use Object[] for args instead of String[]. + + /** + * Message severity. + */ + public enum Severity { + + /** + * Informational messages. + */ + INFO, + + /** + * Warning messages. + */ + WARN, + + /** + * Error messages. + */ + ERROR, + } + + /** + * Gets nested messages for the given field. + * + *

Supports dot notation to represent nesting. For example: + * + *

+     * messages.forField("foo").forField("bar") == messages.forField("foo.bar")
+     * 
+ * + * @param fieldName name of the field + * @return nested {@code Messages} for given field name + */ + Messages forField(String fieldName); + + /** + * Gets map of field name to messages for that field. + * + * @return map of field name to {@code Messages} + */ + Map forFields(); + + /** + * Adds informational message. + * + * @param key message key + * @see Severity.INFO + */ + void addInformation(String key); + + /** + * Adds informational message. + * + * @param key message key + * @param arguments message arguments + * @see Severity.INFO + */ + void addInformation(String key, String... arguments); + + /** + * Adds warning message. + * + * @param key message key + * @see Severity.WARN + */ + void addWarning(String key); + + /** + * Adds warning message. + * + * @param key message key + * @param arguments message arguments + * @see Severity.WARN + */ + void addWarning(String key, String... arguments); + + /** + * Adds error message. + * + * @param key message key + * @see Severity.ERROR + */ + void addError(String key); + + /** + * Adds error message. + * + * @param key message key + * @param arguments message arguments + * @see Severity.ERROR + */ + void addError(String key, String... arguments); + + /** + * Adds message. + * + * @param severity message severity + * @param key message key + */ + void add(Severity severity, String key); + + /** + * Adds request-scoped message. + * + * @param severity message severity + * @param key message key + * @param arguments message arguments + */ + void add(Severity severity, String key, String... arguments); + + /** + * Gets set of severities for which this {@code Messages} instance has messages. Not recursive. + * + * @return unmodifiable set of {@link Severity} sorted from least to most severe + */ + Set getSeverities(); + + /** + * Gets message strings for the given severity. Not recursive. + * + * @param severity message severity + * @return unmodifiable list of messages + */ + List forSeverity(Severity severity); + + /** + * Gets error message strings for this {@code Messages} instance. Not recursive. + * + * @return unmodifiable list of messages + */ + List getErrors(); + + /** + * Gets error message strings for this {@code Messages} instance. Not recursive. + * + * @return unmodifiable list of messages + */ + List getWarnings(); + + /** + * Gets informational message strings for this {@code Messages} instance. Not recursive. + * + * @return unmodifiable list of messages + */ + List getInformation(); + + /** + * Returns true if this or a nested {@code Messages} instance has error messages. + * + * @see Severity.ERROR + */ + boolean hasErrors(); + + /** + * Returns true if this or a nested {@code Messages} instance has warning messages. + * + * @see Severity.WARN + */ + boolean hasWarnings(); + + /** + * Returns true if this or a nested {@code Messages} instance has informational messages. + * + * @see Severity.INFO + */ + boolean hasInformation(); + + /** + * Returns true if this and all nested {@code Messages} instances have no messages. + */ + boolean isEmpty(); + + /** + * Returns true if this and all nested {@code Messages} instances have no messages for the given severity. + * + * @param severity message severity + */ + boolean isEmpty(Severity severity); +} \ No newline at end of file diff --git a/trunk/api/src/main/java/org/apache/struts2/ResultNames.java b/trunk/api/src/main/java/org/apache/struts2/ResultNames.java new file mode 100644 index 000000000..1a93a7d89 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/ResultNames.java @@ -0,0 +1,36 @@ +package org.apache.struts2; + +/** + * Commonly used result names returned by action methods. + * + * @author crazybob@google.com (Bob Lee) + */ +public final class ResultNames { + + private ResultNames() {} + + /** + * The action executed successfully. + */ + public static final String SUCCESS = "success"; + + /** + * The action requires more input, i.e. a validation error occurred. + */ + public static final String INPUT = "input"; + + /** + * The action requires the user to log in before executing. + */ + public static final String LOGIN = "login"; + + /** + * The action execution failed irrecoverably. + */ + public static final String ERROR = "error"; + + /** + * The action executed successfully, but do not execute a result. + */ + public static final String NONE = "none"; +} diff --git a/trunk/api/src/main/java/org/apache/struts2/Validatable.java b/trunk/api/src/main/java/org/apache/struts2/Validatable.java new file mode 100644 index 000000000..b3eef9c88 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/Validatable.java @@ -0,0 +1,17 @@ +package org.apache.struts2; + +import org.apache.struts2.MessageAware; + +/** + * Implemented by actions which wish to execute some validation logic before their action method. Useful for + * cross-field validations. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface Validatable extends MessageAware { + + /** + * Validates input. Executes before action method. + */ + public void validate(); +} diff --git a/trunk/api/src/main/java/org/apache/struts2/servlet/ParameterAware.java b/trunk/api/src/main/java/org/apache/struts2/servlet/ParameterAware.java new file mode 100644 index 000000000..1dcfbe4b3 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/servlet/ParameterAware.java @@ -0,0 +1,18 @@ +package org.apache.struts2.servlet; + +import java.util.Map; + +/** + * Implemented by actions which need direct access to the request parameters. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface ParameterAware { + + /** + * Sets parameters. + * + * @param parameters map of parameter name to parameter values + */ + void setParameters(Map parameters); +} diff --git a/trunk/api/src/main/java/org/apache/struts2/servlet/ServletRequestAware.java b/trunk/api/src/main/java/org/apache/struts2/servlet/ServletRequestAware.java new file mode 100644 index 000000000..49e110b19 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/servlet/ServletRequestAware.java @@ -0,0 +1,18 @@ +package org.apache.struts2.servlet; + +import javax.servlet.http.HttpServletRequest; + +/** + * Implemented by actions which need direct access to the servlet request. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface ServletRequestAware { + + /** + * Sets the servlet request. + * + * @param request servlet request. + */ + void setServletRequest(HttpServletRequest request); +} diff --git a/trunk/api/src/main/java/org/apache/struts2/servlet/ServletResponseAware.java b/trunk/api/src/main/java/org/apache/struts2/servlet/ServletResponseAware.java new file mode 100644 index 000000000..427e986ac --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/servlet/ServletResponseAware.java @@ -0,0 +1,18 @@ +package org.apache.struts2.servlet; + +import javax.servlet.http.HttpServletResponse; + +/** + * Implemented by actions which need direct access to the servlet response. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface ServletResponseAware { + + /** + * Sets the servlet response. + * + * @param response servlet response + */ + void setServletResponse(HttpServletResponse response); +} diff --git a/trunk/api/src/main/java/org/apache/struts2/spi/ActionContext.java b/trunk/api/src/main/java/org/apache/struts2/spi/ActionContext.java new file mode 100644 index 000000000..e45754a0f --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/spi/ActionContext.java @@ -0,0 +1,59 @@ +package org.apache.struts2.spi; + +import java.lang.reflect.Method; + +/** + * Context of an action execution. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface ActionContext { + + /** + * Gets action instance. + */ + Object getAction(); + + /** + * Gets action method. + */ + Method getMethod(); + + /** + * Gets action name. + */ + String getActionName(); + + /** + * Gets the path for the action's namespace. + */ + String getNamespacePath(); + + /** + * Gets the {@link Result} instance for the action. + * + * @return {@link Result} instance or {@code null} if we don't have a result yet. + */ + Result getResult(); + + /** + * Adds a result interceptor for the action. Enables executing code before and after a result, executing an + * alternate result, etc. + */ + void addResultInterceptor(Result interceptor); + + /** + * Gets context of action which chained to us. + * + * @return context of previous action or {@code null} if this is the first action in the chain + */ + ActionContext getPrevious(); + + /** + * Gets context of action which this action chained to. + * + * @return context of next action or {@code null} if we haven't chained to another action yet or this is the last + * action in the chain. + */ + ActionContext getNext(); +} diff --git a/trunk/api/src/main/java/org/apache/struts2/spi/Interceptor.java b/trunk/api/src/main/java/org/apache/struts2/spi/Interceptor.java new file mode 100644 index 000000000..16b27bc17 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/spi/Interceptor.java @@ -0,0 +1,16 @@ +package org.apache.struts2.spi; + +/** + * Intercepts an action request. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface Interceptor { + + /** + * Intercepts an action request. + * + * @param requestContext current request context + */ + String intercept(RequestContext requestContext) throws Exception; +} diff --git a/trunk/api/src/main/java/org/apache/struts2/spi/RequestContext.java b/trunk/api/src/main/java/org/apache/struts2/spi/RequestContext.java new file mode 100644 index 000000000..559e8bde8 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/spi/RequestContext.java @@ -0,0 +1,101 @@ +package org.apache.struts2.spi; + +import org.apache.struts2.Messages; + +import javax.servlet.ServletContext; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +/** + * Request context. A single request may span multiple actions with action chaining. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface RequestContext { + + /** + * Gets context of the currently executing action. + * + * @return current action context + */ + ActionContext getActionContext(); + + /** + * Convenience method. Equivalent to {@code getActionContext().getAction()}. + * + * @return currently executing action + */ + Object getAction(); + + /** + * Gets map of request parameters. + */ + Map getParameterMap(); + + /** + * Gets map of request attributes. + */ + Map getAttributeMap(); + + /** + * Gets map of session attributes. + */ + Map getSessionMap(); + + /** + * Gets map of application (servlet context) attributes. + */ + Map getApplicationMap(); + + /** + * Finds cookies with the given name, + */ + List findCookiesForName(String name); + + /** + * Gets locale. + */ + Locale getLocale(); + + /** + * Sets locale. Stores the locale in the session for future requests. + */ + void setLocale(Locale locale); + + /** + * Gets messages. + */ + Messages getMessages(); + + /** + * Gets the servlet request. + */ + HttpServletRequest getServletRequest(); + + /** + * Gets the servlet response. + */ + HttpServletResponse getServletResponse(); + + /** + * Gets the servlet context. + */ + ServletContext getServletContext(); + + /** + * Gets the value stack. + */ + ValueStack getValueStack(); + + /** + * Invokes the next interceptor or the action method if no more interceptors remain. + * + * @return result name + * @throws IllegalStateException if already invoked or called from the action + */ + String proceed() throws Exception; +} diff --git a/trunk/api/src/main/java/org/apache/struts2/spi/RequestContextAware.java b/trunk/api/src/main/java/org/apache/struts2/spi/RequestContextAware.java new file mode 100644 index 000000000..2bd6797f2 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/spi/RequestContextAware.java @@ -0,0 +1,19 @@ +package org.apache.struts2.spi; + +import org.apache.struts2.spi.RequestContext; + +/** + * Implemented by actions that need access to the current {@link org.apache.struts2.spi.RequestContext}. Use + * judiciously. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface RequestContextAware { + + /** + * Sets {@link org.apache.struts2.spi.RequestContext}. + * + * @param requestContext + */ + void setRequestContext(RequestContext requestContext); +} diff --git a/trunk/api/src/main/java/org/apache/struts2/spi/Result.java b/trunk/api/src/main/java/org/apache/struts2/spi/Result.java new file mode 100644 index 000000000..6cb4ecd61 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/spi/Result.java @@ -0,0 +1,18 @@ +package org.apache.struts2.spi; + +import org.apache.struts2.spi.RequestContext; + +/** + * The result of an action request. Struts creates a new {@code Result} instance for each request. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface Result { + + /** + * Executes result. + * + * @param requestContext + */ + void execute(RequestContext requestContext) throws Exception; +} diff --git a/trunk/api/src/main/java/org/apache/struts2/spi/ValueStack.java b/trunk/api/src/main/java/org/apache/struts2/spi/ValueStack.java new file mode 100644 index 000000000..b3cd87b00 --- /dev/null +++ b/trunk/api/src/main/java/org/apache/struts2/spi/ValueStack.java @@ -0,0 +1,93 @@ +package org.apache.struts2.spi; + +/** + * A central fixture of the Struts framework, the {@code ValueStack} is a stack which contains the actions + * which have executed in addition to other objects. Users can get and set values on the stack using expressions. The + * {@code ValueStack} will search down the stack starting with the most recent objects until it finds an object to + * which the expression can apply. + * + * @author crazybob@google.com (Bob Lee) + */ +public interface ValueStack extends Iterable { + + /** + * Gets the top, most recent object from the stack without changing the stack. + * + * @return the top object + */ + Object peek(); + + /** + * Removes the top, most recent object from the stack. + * + * @return the top object + */ + Object pop(); + + /** + * Pushes an object onto the stack. + * + * @param o + */ + void push(Object o); + + /** + * Creates a shallow copy of this stack. + * + * @return a new stack which contains the same objects as this one + */ + ValueStack clone(); + + /** + * Queries the stack. Starts with the top, most recent object. If the expression can apply to the object, this + * method returns the result of evaluating the expression. If the expression does not apply, this method moves + * down the stack to the next object and repeats. Returns {@code null} if the expression doesn't apply to any + * objects. + * + * @param expression + * @return the evaluation of the expression against the first applicable object in the stack + */ + Object get(String expression); + + /** + * Queries the stack and converts the result to the specified type. Starts with the top, most recent object. If + * the expression can apply to the object, this method returns the result of evaluating the expression converted + * to the specified type. If the expression does not apply, this method moves down the stack to the next object + * and repeats. Returns {@code null} if the expression doesn't apply to any objects. + * + * @param expression + * @param asType the type to convert the result to + * @return the evaluation of the expression against the first applicable object in the stack converted to the + * specified type + */ + T get(String expression, Class asType); + + /** + * Queries the stack and converts the result to a {@code String}. Starts with the top, most recent object. If the + * expression can apply to the object, this method returns the result of evaluating the expression converted to a + * {@code String}. If the expression does not apply, this method moves down the stack to the next object and + * repeats. Returns {@code null} if the expression doesn't apply to any objects. + * + * @param expression + * @return the evaluation of the expression against the first applicable object in the stack converted to a {@code + * String} + */ + String getString(String expression); + + /** + * Sets a value on an object from the stack. This method starts at the top, most recent object. If the expression + * applies to that object, this methods sets the given value on that object using the expression and converting + * the type as necessary. If the expression does not apply, this method moves to the next object and repeats. + * + * @param expression + * @param value + */ + void set(String expression, Object value); + + /** + * Returns the number of object on the stack. + * + * @return size of stack + */ + int size(); +} diff --git a/trunk/apps/blank/README.txt b/trunk/apps/blank/README.txt new file mode 100644 index 000000000..db14cea57 --- /dev/null +++ b/trunk/apps/blank/README.txt @@ -0,0 +1,10 @@ +README.txt - blank + +This is an "empty" application that you can deploy as the basis of your own +application. + +For more on getting started with Struts, see + +* http://cwiki.apache.org/WW/home.html + +---------------------------------------------------------------------------- \ No newline at end of file diff --git a/trunk/apps/blank/pom.xml b/trunk/apps/blank/pom.xml new file mode 100644 index 000000000..96c0d2bf2 --- /dev/null +++ b/trunk/apps/blank/pom.xml @@ -0,0 +1,46 @@ + + + 4.0.0 + + org.apache.struts + struts2-apps + 2.0.1 + + org.apache.struts + struts2-blank + war + Blank Webapp + + + + javax.servlet + servlet-api + 2.4 + provided + + + + + + + + org.mortbay.jetty + maven-jetty6-plugin + + 10 + + + + org.apache.geronimo.specs + geronimo-j2ee_1.4_spec + 1.0 + provided + + + + + + + + diff --git a/trunk/apps/blank/src/main/java/example/ExampleSupport.java b/trunk/apps/blank/src/main/java/example/ExampleSupport.java new file mode 100644 index 000000000..c86b1fc25 --- /dev/null +++ b/trunk/apps/blank/src/main/java/example/ExampleSupport.java @@ -0,0 +1,9 @@ +package example; + +import com.opensymphony.xwork2.ActionSupport; + +/** + * Base Action class for the Tutorial package. + */ +public class ExampleSupport extends ActionSupport { +} diff --git a/trunk/apps/blank/src/main/java/example/HelloWorld.java b/trunk/apps/blank/src/main/java/example/HelloWorld.java new file mode 100644 index 000000000..68f8e7202 --- /dev/null +++ b/trunk/apps/blank/src/main/java/example/HelloWorld.java @@ -0,0 +1,40 @@ +package example; + +/** + * Set welcome message. + */ +public class HelloWorld extends ExampleSupport { + + public String execute() throws Exception { + setMessage(getText(MESSAGE)); + return SUCCESS; + } + + /** + * Provide default valuie for Message property. + */ + public static final String MESSAGE = "HelloWorld.message"; + + /** + * Field for Message property. + */ + private String message; + + /** + * Return Message property. + * + * @return Message property + */ + public String getMessage() { + return message; + } + + /** + * Set Message property. + * + * @param message Text to display on HelloWorld page. + */ + public void setMessage(String message) { + this.message = message; + } +} diff --git a/trunk/apps/blank/src/main/java/example/Login.java b/trunk/apps/blank/src/main/java/example/Login.java new file mode 100644 index 000000000..a4e6804e5 --- /dev/null +++ b/trunk/apps/blank/src/main/java/example/Login.java @@ -0,0 +1,38 @@ +package example; + +public class Login extends ExampleSupport { + + public String execute() throws Exception { + + if (isInvalid(getUsername())) return INPUT; + + if (isInvalid(getPassword())) return INPUT; + + return SUCCESS; + } + + private boolean isInvalid(String value) { + return (value == null || value.length() == 0); + } + + private String username; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + private String password; + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + +} \ No newline at end of file diff --git a/trunk/apps/blank/src/main/java/example/build.bat b/trunk/apps/blank/src/main/java/example/build.bat new file mode 100644 index 000000000..a3f4edd01 --- /dev/null +++ b/trunk/apps/blank/src/main/java/example/build.bat @@ -0,0 +1,3 @@ +@echo off +set CLASSPATH=..\..\..\lib\xwork-2.0-beta-1.jar +javac *.java -d ..\..\..\classes diff --git a/trunk/apps/blank/src/main/resources/example.xml b/trunk/apps/blank/src/main/resources/example.xml new file mode 100644 index 000000000..5a18fe5a1 --- /dev/null +++ b/trunk/apps/blank/src/main/resources/example.xml @@ -0,0 +1,24 @@ + + + + + + + + /example/HelloWorld.jsp + + + + /example/Login.jsp + Menu + + + + /example/{1}.jsp + + + + + diff --git a/trunk/apps/blank/src/main/resources/example/Login-validation.xml b/trunk/apps/blank/src/main/resources/example/Login-validation.xml new file mode 100644 index 000000000..d703ee7a3 --- /dev/null +++ b/trunk/apps/blank/src/main/resources/example/Login-validation.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + diff --git a/trunk/apps/blank/src/main/resources/example/package.properties b/trunk/apps/blank/src/main/resources/example/package.properties new file mode 100644 index 000000000..77d589daf --- /dev/null +++ b/trunk/apps/blank/src/main/resources/example/package.properties @@ -0,0 +1,5 @@ +HelloWorld.message= Struts is up and running ... +requiredstring = ${getText(fieldName)} is required. +password = Password +username = User Name +Missing.message = This feature is under construction. Please try again in the next interation. diff --git a/trunk/apps/blank/src/main/resources/example/package_es.properties b/trunk/apps/blank/src/main/resources/example/package_es.properties new file mode 100644 index 000000000..e4740a48b --- /dev/null +++ b/trunk/apps/blank/src/main/resources/example/package_es.properties @@ -0,0 +1,5 @@ +HelloWorld.message= ¡Struts está bien! ... +requiredstring = ${getText(fieldName)} se requiere. +password = Contraseña +username = Nombre de Usuario +Missing.message = ¡en obras! ¡seguir intentando! diff --git a/trunk/apps/blank/src/main/resources/struts.properties b/trunk/apps/blank/src/main/resources/struts.properties new file mode 100644 index 000000000..8c29875f6 --- /dev/null +++ b/trunk/apps/blank/src/main/resources/struts.properties @@ -0,0 +1,2 @@ +struts.devMode = true +struts.enable.DynamicMethodInvocation = false diff --git a/trunk/apps/blank/src/main/resources/struts.xml b/trunk/apps/blank/src/main/resources/struts.xml new file mode 100644 index 000000000..67e1a9392 --- /dev/null +++ b/trunk/apps/blank/src/main/resources/struts.xml @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/trunk/apps/blank/src/main/webapp/WEB-INF/applicationContext.xml b/trunk/apps/blank/src/main/webapp/WEB-INF/applicationContext.xml new file mode 100644 index 000000000..afbdcb4cc --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/WEB-INF/applicationContext.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/trunk/apps/blank/src/main/webapp/WEB-INF/web.xml b/trunk/apps/blank/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 000000000..c5c245a6e --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,34 @@ + + + + Struts Blank + + + struts2 + org.apache.struts2.dispatcher.FilterDispatcher + + + + struts2 + /* + + + + org.springframework.web.context.ContextLoaderListener + + + + index.html + + + + + diff --git a/trunk/apps/blank/src/main/webapp/example/HelloWorld.jsp b/trunk/apps/blank/src/main/webapp/example/HelloWorld.jsp new file mode 100644 index 000000000..938c76132 --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/example/HelloWorld.jsp @@ -0,0 +1,28 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + + + <s:text name="HelloWorld.message"/> + + + +

+ +

Languages

+
    +
  • + + en + + English +
  • +
  • + + es + + Espanol +
  • +
+ + + diff --git a/trunk/apps/blank/src/main/webapp/example/Login.jsp b/trunk/apps/blank/src/main/webapp/example/Login.jsp new file mode 100644 index 000000000..13d2dc4da --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/example/Login.jsp @@ -0,0 +1,15 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + + + Sign On + + + + + + + + + + diff --git a/trunk/apps/blank/src/main/webapp/example/Menu.jsp b/trunk/apps/blank/src/main/webapp/example/Menu.jsp new file mode 100644 index 000000000..a74bd2c76 --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/example/Menu.jsp @@ -0,0 +1,3 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + \ No newline at end of file diff --git a/trunk/apps/blank/src/main/webapp/example/Missing.jsp b/trunk/apps/blank/src/main/webapp/example/Missing.jsp new file mode 100644 index 000000000..7c01ac9be --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/example/Missing.jsp @@ -0,0 +1,11 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + +Missing Feature + + +

+ +

+ + diff --git a/trunk/apps/blank/src/main/webapp/example/Register.jsp b/trunk/apps/blank/src/main/webapp/example/Register.jsp new file mode 100644 index 000000000..a74bd2c76 --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/example/Register.jsp @@ -0,0 +1,3 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + \ No newline at end of file diff --git a/trunk/apps/blank/src/main/webapp/example/Welcome.jsp b/trunk/apps/blank/src/main/webapp/example/Welcome.jsp new file mode 100644 index 000000000..dbd3a22e9 --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/example/Welcome.jsp @@ -0,0 +1,18 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + + + Welcome + " rel="stylesheet" + type="text/css"/> + + + +

Commands

+ + + + diff --git a/trunk/apps/blank/src/main/webapp/index.html b/trunk/apps/blank/src/main/webapp/index.html new file mode 100644 index 000000000..8747c2483 --- /dev/null +++ b/trunk/apps/blank/src/main/webapp/index.html @@ -0,0 +1,10 @@ + + + + + + + +

Loading ...

+ + diff --git a/trunk/apps/blank/src/test/java/example/ConfigTest.java b/trunk/apps/blank/src/test/java/example/ConfigTest.java new file mode 100644 index 000000000..9b23765d3 --- /dev/null +++ b/trunk/apps/blank/src/test/java/example/ConfigTest.java @@ -0,0 +1,76 @@ +package example; + +import com.opensymphony.xwork2.ActionSupport; +import com.opensymphony.xwork2.config.RuntimeConfiguration; +import com.opensymphony.xwork2.config.entities.ActionConfig; +import com.opensymphony.xwork2.config.entities.ResultConfig; +import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider; + +import java.util.Map; +import java.util.List; + +import org.apache.struts2.StrutsTestCase; + +public class ConfigTest extends StrutsTestCase { + + protected void assertSuccess(String result) throws Exception { + assertTrue("Expected a success result!", + ActionSupport.SUCCESS.equals(result)); + } + + protected void assertInput(String result) throws Exception { + assertTrue("Expected an input result!", + ActionSupport.INPUT.equals(result)); + } + + protected Map assertFieldErrors(ActionSupport action) throws Exception { + assertTrue(action.hasFieldErrors()); + return action.getFieldErrors(); + } + + protected void assertFieldError(Map field_errors, String field_name, String error_message) { + + List errors = (List) field_errors.get(field_name); + assertNotNull("Expected errors for " + field_name, errors); + assertTrue("Expected errors for " + field_name, errors.size()>0); + // TODO: Should be a loop + assertEquals(error_message,errors.get(0)); + + } + + protected void setUp() throws Exception { + super.setUp(); + XmlConfigurationProvider c = new XmlConfigurationProvider("struts.xml"); + configurationManager.addConfigurationProvider(c); + configurationManager.reload(); + } + + protected ActionConfig assertClass(String namespace, String action_name, String class_name) { + RuntimeConfiguration configuration = configurationManager.getConfiguration().getRuntimeConfiguration(); + ActionConfig config = configuration.getActionConfig(namespace, action_name); + assertNotNull("Mssing action", config); + assertTrue("Wrong class name: [" + config.getClassName() + "]", + class_name.equals(config.getClassName())); + return config; + } + + protected ActionConfig assertClass(String action_name, String class_name) { + return assertClass("", action_name, class_name); + } + + protected void assertResult(ActionConfig config, String result_name, String result_value) { + Map results = config.getResults(); + ResultConfig result = (ResultConfig) results.get(result_name); + Map params = result.getParams(); + String value = (String) params.get("actionName"); + if (value == null) + value = (String) params.get("location"); + assertTrue("Wrong result value: [" + value + "]", + result_value.equals(value)); + } + + public void testConfig() throws Exception { + assertNotNull(configurationManager); + } + +} diff --git a/trunk/apps/blank/src/test/java/example/HelloWorldTest.java b/trunk/apps/blank/src/test/java/example/HelloWorldTest.java new file mode 100644 index 000000000..6933c32df --- /dev/null +++ b/trunk/apps/blank/src/test/java/example/HelloWorldTest.java @@ -0,0 +1,16 @@ +package example; + +import com.opensymphony.xwork2.ActionSupport; +import junit.framework.TestCase; + +public class HelloWorldTest extends TestCase { + + public void testHelloWorld() throws Exception { + HelloWorld hello_world = new HelloWorld(); + String result = hello_world.execute(); + assertTrue("Expected a success result!", + ActionSupport.SUCCESS.equals(result)); + assertTrue("Expected the default message!", + hello_world.getText(HelloWorld.MESSAGE).equals(hello_world.getMessage())); + } +} diff --git a/trunk/apps/blank/src/test/java/example/LoginTest.java b/trunk/apps/blank/src/test/java/example/LoginTest.java new file mode 100644 index 000000000..1d4669d2a --- /dev/null +++ b/trunk/apps/blank/src/test/java/example/LoginTest.java @@ -0,0 +1,36 @@ +package example; + +import com.opensymphony.xwork2.ActionSupport; +import com.opensymphony.xwork2.config.entities.ActionConfig; + +import java.util.Map; +import java.util.Collection; +import java.util.List; + +public class LoginTest extends ConfigTest { + + public void FIXME_testLoginConfig() throws Exception { + ActionConfig config = assertClass("example", "Login!input", "example.Login"); + assertResult(config, ActionSupport.SUCCESS, "Menu"); + assertResult(config, ActionSupport.INPUT, "/example/Login.jsp"); + } + + public void testLoginSubmit() throws Exception { + Login login = new Login(); + login.setUsername("username"); + login.setPassword("password"); + String result = login.execute(); + assertSuccess(result); + } + + // Needs access to an envinronment that includes validators + public void FIXME_testLoginSubmitInput() throws Exception { + Login login = new Login(); + String result = login.execute(); + assertInput(result); + Map errors = assertFieldErrors(login); + assertFieldError(errors,"username","Username is required."); + assertFieldError(errors,"password","Password is required."); + } + +} diff --git a/trunk/apps/mailreader/README.txt b/trunk/apps/mailreader/README.txt new file mode 100644 index 000000000..802aea4d4 --- /dev/null +++ b/trunk/apps/mailreader/README.txt @@ -0,0 +1,18 @@ +README.txt - mailreader + +The MailReader demonstrates a localized application with a master/child +CRUD workflow. + +This rendition also demonstrates using wildcards to "normalize" an +application. + +See the Sandbox for other MailReader examples using other architectures. + +* http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2/apps/ + +For more about the MailReader applicaton genneraly, visit Struts University. + +* http://www.StrutsUniversity.org/ + + +---------------------------------------------------------------------------- \ No newline at end of file diff --git a/trunk/apps/mailreader/pom.xml b/trunk/apps/mailreader/pom.xml new file mode 100644 index 000000000..f4ca03c1a --- /dev/null +++ b/trunk/apps/mailreader/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + org.apache.struts + struts2-apps + 2.0.1 + + org.apache.struts + struts2-mailreader + war + Starter Webapp + + + + javax.servlet + servlet-api + 2.4 + provided + + + ${pom.groupId} + struts-mailreader-dao + 1.3.5 + + + + + + + + src/main/java + + **/*.xml + **/*.properties + + + + + + org.mortbay.jetty + maven-jetty6-plugin + + 10 + + + + org.apache.geronimo.specs + geronimo-j2ee_1.4_spec + 1.0 + provided + + + + + + diff --git a/trunk/apps/mailreader/src/main/java/alternate.properties b/trunk/apps/mailreader/src/main/java/alternate.properties new file mode 100644 index 000000000..03dbf277b --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/alternate.properties @@ -0,0 +1,3 @@ +password=Enter your Password here ==> +struts.logo.path=struts-power.gif +struts.logo.alt=Powered by Struts diff --git a/trunk/apps/mailreader/src/main/java/alternate_ja.properties b/trunk/apps/mailreader/src/main/java/alternate_ja.properties new file mode 100644 index 000000000..981adc82c --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/alternate_ja.properties @@ -0,0 +1 @@ +.password=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b==> diff --git a/trunk/apps/mailreader/src/main/java/applicationContext.xml b/trunk/apps/mailreader/src/main/java/applicationContext.xml new file mode 100644 index 000000000..b98e1d8d7 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/applicationContext.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/trunk/apps/mailreader/src/main/java/mailreader-default.xml b/trunk/apps/mailreader/src/main/java/mailreader-default.xml new file mode 100644 index 000000000..973551b39 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader-default.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /pages/Error.jsp + /pages/Error.jsp + Login!input + + + + + + + + + diff --git a/trunk/apps/mailreader/src/main/java/mailreader-support.xml b/trunk/apps/mailreader/src/main/java/mailreader-support.xml new file mode 100644 index 000000000..05091bafc --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader-support.xml @@ -0,0 +1,63 @@ + + + + + + + + /tour.html + + + + + /Welcome.jsp + + + + + Welcome + + + + /Login.jsp + Welcome + MainMenu + ChangePassword + + + + + + /Registration.jsp + MainMenu + + + + + + + + /Subscription.jsp + Registration!input + + + + + + + + + + + + + + /{1}.jsp + + + + diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/ApplicationListener.java b/trunk/apps/mailreader/src/main/java/mailreader2/ApplicationListener.java new file mode 100644 index 000000000..4570cc43a --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/ApplicationListener.java @@ -0,0 +1,231 @@ +/* + * Copyright 1999-2002,2004 The Apache Software Foundation. + * + * Licensed 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. + * + * $Id$ + */ + +package mailreader2; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.struts.apps.mailreader.dao.impl.memory.MemoryUserDatabase; + +import javax.servlet.ServletContext; +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; +import java.io.*; + +/** + *

ServletContextListener that initializes and finalizes the + * persistent storage of User and Subscription information for the Struts + * Demonstration Application, using an in-memory database backed by an XML + * file.

+ *

+ *

IMPLEMENTATION WARNING - If this web application is run + * from a WAR file, or in another environment where reading and writing of the + * web application resource is impossible, the initial contents will be copied + * to a file in the web application temporary directory provided by the + * container. This is for demonstration purposes only - you should + * NOT assume that files written here will survive a restart + * of your servlet container.

+ *

+ *

This class was borrowed from the Shale Mailreader. Changes were:

+ *

+ *

    + *

    + *

  • Path to database.xml (under classes here).
  • + *

    + *

  • Class to store protocol list (an array here).
  • + *

    + *

+ *

+ * DEVELOPMENT NOTE - Another approach would be to instantiate the database via Spring. + *

+ */ + +public final class ApplicationListener implements ServletContextListener { + + // ------------------------------------------------------ Manifest Constants + + + /** + *

Appication scope attribute key under which the in-memory version of + * our database is stored.

+ */ + public static final String DATABASE_KEY = "database"; + + + /** + *

Application scope attribute key under which the valid selection + * items for the protocol property is stored.

+ */ + public static final String PROTOCOLS_KEY = "protocols"; + + // ------------------------------------------------------ Instance Variables + + + /** + *

The ServletContext for this web application.

+ */ + private ServletContext context = null; + + + /** + * The {@link MemoryUserDatabase} object we construct and make available. + */ + private MemoryUserDatabase database = null; + + + /** + *

Logging output for this plug in instance.

+ */ + private Log log = LogFactory.getLog(this.getClass()); + + // ------------------------------------------------------------- Properties + + + /** + *

The web application resource path of our persistent database storage + * file.

+ */ + private String pathname = "/WEB-INF/database.xml"; + + /** + *

Return the application resource path to the database.

+ * + * @return application resource path path to the database + */ + public String getPathname() { + return (this.pathname); + } + + /** + *

Set the application resource path to the database.

+ * + * @param pathname to the database + */ + public void setPathname(String pathname) { + this.pathname = pathname; + } + + // ------------------------------------------ ServletContextListener Methods + + + /** + *

Gracefully shut down this database, releasing any resources that + * were allocated at initialization.

+ * + * @param event ServletContextEvent to process + */ + public void contextDestroyed(ServletContextEvent event) { + + log.info("Finalizing memory database plug in"); + + if (database != null) { + try { + database.close(); + } catch (Exception e) { + log.error("Closing memory database", e); + } + } + + context.removeAttribute(DATABASE_KEY); + context.removeAttribute(PROTOCOLS_KEY); + database = null; + context = null; + + } + + + /** + *

Initialize and load our initial database from persistent + * storage.

+ * + * @param event The context initialization event + */ + public void contextInitialized(ServletContextEvent event) { + + log.info("Initializing memory database plug in from '" + + pathname + "'"); + + // Remember our associated ServletContext + this.context = event.getServletContext(); + + // Construct a new database and make it available + database = new MemoryUserDatabase(); + try { + String path = calculatePath(); + if (log.isDebugEnabled()) { + log.debug(" Loading database from '" + path + "'"); + } + database.setPathname(path); + database.open(); + } catch (Exception e) { + log.error("Opening memory database", e); + throw new IllegalStateException("Cannot load database from '" + + pathname + "': " + e); + } + context.setAttribute(DATABASE_KEY, database); + + } + + // -------------------------------------------------------- Private Methods + + + /** + *

Calculate and return an absolute pathname to the XML file to contain + * our persistent storage information.

+ * + * @throws Exception if an input/output error occurs + */ + private String calculatePath() throws Exception { + + // Can we access the database via file I/O? + String path = context.getRealPath(pathname); + if (path != null) { + return (path); + } + + // Does a copy of this file already exist in our temporary directory + File dir = (File) + context.getAttribute("javax.servlet.context.tempdir"); + File file = new File(dir, "struts-example-database.xml"); + if (file.exists()) { + return (file.getAbsolutePath()); + } + + // Copy the static resource to a temporary file and return its path + InputStream is = + context.getResourceAsStream(pathname); + BufferedInputStream bis = new BufferedInputStream(is, 1024); + FileOutputStream os = + new FileOutputStream(file); + BufferedOutputStream bos = new BufferedOutputStream(os, 1024); + byte buffer[] = new byte[1024]; + while (true) { + int n = bis.read(buffer); + if (n <= 0) { + break; + } + bos.write(buffer, 0, n); + } + bos.close(); + bis.close(); + return (file.getAbsolutePath()); + + } + + +} diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/AuthenticationInterceptor.java b/trunk/apps/mailreader/src/main/java/mailreader2/AuthenticationInterceptor.java new file mode 100644 index 000000000..10cc36823 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/AuthenticationInterceptor.java @@ -0,0 +1,31 @@ +package mailreader2; + +import com.opensymphony.xwork2.interceptor.Interceptor; +import com.opensymphony.xwork2.ActionInvocation; +import com.opensymphony.xwork2.Action; +import java.util.Map; +import org.apache.struts.apps.mailreader.dao.User; + +public class AuthenticationInterceptor implements Interceptor { + + public void destroy () {} + + public void init() {} + + public String intercept(ActionInvocation actionInvocation) throws Exception { + + Map session = actionInvocation.getInvocationContext().getSession(); + + User user = (User) session.get(Constants.USER_KEY); + + boolean isAuthenticated = (null!=user) && (null!=user.getDatabase()); + + if (!isAuthenticated) { + return Action.LOGIN; + } + else { + return actionInvocation.invoke(); + } + + } +} diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/Constants.java b/trunk/apps/mailreader/src/main/java/mailreader2/Constants.java new file mode 100644 index 000000000..81733bd94 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/Constants.java @@ -0,0 +1,125 @@ +/* + * $Id$ + * + * Copyright 1999-2004 The Apache Software Foundation. + * + * Licensed 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 mailreader2; + +/** + *

Manifest constants for the MailReader application.

+ */ +public final class Constants { + + // --- Tokens ---- + + /** + *

The token representing a "cancel" request.

+ */ + public static final String CANCEL = "cancel"; + + /** + *

The token representing a "create" task.

+ */ + public static final String CREATE = "Create"; + + /** + *

The application scope attribute under which our user database is + * stored.

+ */ + public static final String DATABASE_KEY = "database"; + + /** + *

The token representing a "edit" task.

+ */ + public static final String DELETE = "Delete"; + + /** + *

The token representing a "edit" task.

+ */ + public static final String EDIT = "Edit"; + + /** + *

The package name for this application.

+ */ + public static final String PACKAGE = "org.apache.struts.apps.mailreader"; + + /** + *

The session scope attribute under which the Subscription object + * currently selected by our logged-in User is stored.

+ */ + public static final String SUBSCRIPTION_KEY = "subscription"; + + /** + *

The session scope attribute under which the User object for the + * currently logged in user is stored.

+ */ + public static final String USER_KEY = "user"; + + /** + *

The token representing the "Host" property. + */ + public static final String HOST = "host"; + + + // ---- Error Messages ---- + + /** + *

+ * A static message in case message resource is not loaded. + *

+ */ + public static final String ERROR_MESSAGES_NOT_LOADED = + "ERROR: Message resources not loaded -- check servlet container logs for error messages."; + + /** + *

+ * A static message in case database resource is not loaded. + *

+ */ + public static final String ERROR_DATABASE_NOT_LOADED = + "ERROR: User database not loaded -- check servlet container logs for error messages."; + + /** + *

+ * A standard key from the message resources file, to test if it is available. + *

+ */ + public static final String ERROR_DATABASE_MISSING = "error.database.missing"; + + /** + *

+ * A "magic" username to trigger an ExpiredPasswordException for testing. + *

+ */ + public static final String EXPIRED_PASSWORD_EXCEPTION = "ExpiredPasswordException"; + + /** + *

+ * Name of field to associate with authentification errors. + *

+ */ + public static final String PASSWORD_MISMATCH_FIELD = "password"; + + // ---- Log Messages ---- + + /** + *

Message to log if saving a user fails.

+ */ + public static final String LOG_DATABASE_SAVE_ERROR = + " Unexpected error when saving User: "; + + +} diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/Login.java b/trunk/apps/mailreader/src/main/java/mailreader2/Login.java new file mode 100644 index 000000000..7de355718 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/Login.java @@ -0,0 +1,45 @@ +/* + * $Id$ + * + * Copyright 2000-2004 Apache Software Foundation + * + * Licensed 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 mailreader2; + +import org.apache.struts.apps.mailreader.dao.User; +import org.apache.struts.apps.mailreader.dao.ExpiredPasswordException; + +/** + *

Validate a user login.

+ */ +public final class Login extends MailreaderSupport { + + public String execute() throws ExpiredPasswordException { + + User user = findUser(getUsername(), getPassword()); + + if (user != null) { + setUser(user); + } + + if (hasErrors()) { + return INPUT; + } + + return SUCCESS; + + } + +} diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/Logon-validation.xml b/trunk/apps/mailreader/src/main/java/mailreader2/Logon-validation.xml new file mode 100644 index 000000000..4a04c7629 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/Logon-validation.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/Logout.java b/trunk/apps/mailreader/src/main/java/mailreader2/Logout.java new file mode 100644 index 000000000..1d079aebb --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/Logout.java @@ -0,0 +1,32 @@ +/* + * $Id$ + * + * Copyright 2000-2004 Apache Software Foundation + * + * Licensed 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 mailreader2; + +/** + *

Log user out of the current session.

+ */ +public class Logout extends MailreaderSupport { + + public String execute() { + + setUser(null); + + return SUCCESS; + } +} diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport.java b/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport.java new file mode 100644 index 000000000..f93aeebcb --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport.java @@ -0,0 +1,559 @@ +/* + * $Id$ + * + * Copyright 1999-2004 The Apache Software Foundation. + * + * Licensed 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 mailreader2; + +import org.apache.struts2.interceptor.ApplicationAware; +import org.apache.struts2.interceptor.SessionAware; +import com.opensymphony.xwork2.ActionSupport; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.struts.apps.mailreader.dao.ExpiredPasswordException; +import org.apache.struts.apps.mailreader.dao.Subscription; +import org.apache.struts.apps.mailreader.dao.User; +import org.apache.struts.apps.mailreader.dao.UserDatabase; +import org.apache.struts.apps.mailreader.dao.impl.memory.MemorySubscription; +import org.apache.struts.apps.mailreader.dao.impl.memory.MemoryUser; +import org.springframework.beans.BeanUtils; + +import java.util.Map; + +/** + *

Base Action for MailreaderSupport application.

+ *

+ *

Note that this class does NOT implement model driven because of the way + * the pre-existing model is designed. The MailReader DAO includes immutable + * fields that can only be set on construction, and some objects do not have a + * default construction. One approach would be to mirror all the DAO + * properties on the Actions. As an alternative, this implementations uses the + * DAO properties where possible, and uses local Action properties only as + * needed. To create new objects, a blank temporary object is constructed, and + * the page uses a mix of local Action properties and DAO properties. When the + * new object is to be saved, the local Action properties are used to create + * the object using the DAO factory methods, the input values are copied from + * the temporary object, and the new object is saved. It's kludge, but it + * avoids creating unnecessary local properties. Pick your poison.

+ */ +public class MailreaderSupport extends ActionSupport + implements SessionAware, ApplicationAware { + + /** + * Return CANCEL so apropriate result can be selected. + * @return "cancel" so apropriate result can be selected. + */ + public String cancel() { + return Constants.CANCEL; + } + + + // ---- ApplicationAware ---- + + /** + *

Field to store application context or its proxy.

+ *

+ *

The application context lasts for the life of the application. A + * reference to the database is stored in the application context at + * startup.

+ */ + private Map application; + + /** + *

Store a new application context.

+ * + * @param value A Map representing application state + */ + public void setApplication(Map value) { + application = value; + } + + /** + *

Provide application context.

+ */ + public Map getApplication() { + return application; + } + + // ---- SessionAware ---- + + /** + *

Field to store session context, or its proxy.

+ */ + private Map session; + + /** + *

Store a new session context.

+ * + * @param value A Map representing session state + */ + public void setSession(Map value) { + session = value; + } + + /** + *

Provide session context.

+ * + * @return session context + */ + public Map getSession() { + return session; + } + + // ---- Task property (utilized by UI) ---- + + /** + *

Field to store workflow task.

+ *

+ *

The Task is used to track the state of the CRUD workflows. It can be + * set to Constant.CREATE, Constant.EDIT, or Constant.DELETE as + * needed.

+ */ + private String task = null; + + + /** + *

Provide worklow task.

+ * + * @return Returns the task. + */ + public String getTask() { + return task; + } + + /** + *

Store new workflow task.

+ * + * @param value The task to set. + */ + public void setTask(String value) { + task = value; + } + + // ---- Token property (utilized by UI) ---- + + /** + *

Field to store double-submit guard.

+ */ + private String token = null; + + + /** + *

Provide Token.

+ * + * @return Returns the token. + */ + public String getToken() { + return token; + } + + /** + *

Store new Token.

+ * + * @param value The token to set. + */ + public void setToken(String value) { + token = value; + } + + + // ---- Host property ---- + + /** + *

Field to store Subscription host.

+ *

+ *

The host is an immutable property of the Subscrtion DAP object, so + * we need to store it locally until we are ready to create the + * Subscription.

+ */ + private String host; + + /** + *

Provide tSubscription host.

+ * + * @return host property + */ + public String getHost() { + return host; + } + + /** + *

Store new Subscription host.

+ * + * @param value + */ + public void setHost(String value) { + host = value; + } + + // ---- Password property ---- + + /** + *

Field to store User password property.

+ *

+ *

The User DAO object password proerty is immutable, so we store it + * locally until we are ready to create the object.

+ */ + private String password = null; + + + /** + *

Provide User password

+ * + * @return Returns the password. + */ + public String getPassword() { + return password; + } + + /** + *

Store new User Password

+ * + * @param value The password to set. + */ + public void setPassword(String value) { + password = value; + } + + // ---- Password2 property (confirmation) ---- + + /** + *

Field to store the User password confirmation.

+ *

+ *

When a User object is created, we ask the client to enter the + * password twice, to help ensure the password is being typed + * correctly.

+ */ + private String password2 = null; + + + /** + *

Provide the User password confirmation.

+ * + * @return Returns the confirmationpassword. + */ + public String getPassword2() { + return password2; + } + + /** + *

Store a new User password confirmation.

+ * + * @param value The confirmation password to set. + */ + public void setPassword2(String value) { + password2 = value; + } + + // ---- Username property ---- + + /** + *

Field to store User username.

+ *

+ *

The User DAO object password proerty is immutable, so we store it + * locally until we are ready to create the object.

+ */ + private String username = null; + + + /** + *

Provide User username.

+ * + * @return Returns the User username. + */ + public String getUsername() { + return username; + } + + /** + *

Store new User username

+ * + * @param value The username to set. + */ + public void setUsername(String value) { + username = value; + } + + // ---- Database property ---- + + /** + *

Provide reference to UserDatabase, or null if the database is not + * available.

+ * + * @return a reference to the UserDatabase or null if the database is not + * available + */ + public UserDatabase getDatabase() { + Object db = getApplication().get(Constants.DATABASE_KEY); + if (db == null) { + this.addActionError(getText("error.database.missing")); + } + return (UserDatabase) db; + } + + /** + *

Store a new reference to UserDatabase

+ * + * @param database + */ + public void setDatabase(UserDatabase database) { + getApplication().put(Constants.DATABASE_KEY, database); + } + + // ---- User property ---- + + /** + *

Provide reference to User object for authenticated user.

+ * + * @return User object for authenticated user. + */ + public User getUser() { + return (User) getSession().get(Constants.USER_KEY); + } + + /** + *

Store new reference to User Object.

+ * + * @param user User object for authenticated user + */ + public void setUser(User user) { + getSession().put(Constants.USER_KEY, user); + } + + /** + *

Obtain User object from database, or return null if the credentials + * are not found or invalid.

+ * + * @param username User username + * @param password User password + * @return User object or null if not found + * @throws ExpiredPasswordException + */ + public User findUser(String username, String password) + throws ExpiredPasswordException { + // FIXME: Stupid testing hack to compensate for inadequate DAO layer + if (Constants.EXPIRED_PASSWORD_EXCEPTION.equals(username)) { + throw new ExpiredPasswordException(Constants.EXPIRED_PASSWORD_EXCEPTION); + } + + User user = getDatabase().findUser(username); + if ((user != null) && !user.getPassword().equals(password)) { + user = null; + } + if (user == null) { + this.addFieldError(Constants.PASSWORD_MISMATCH_FIELD, + getText("error.password.mismatch")); + } + return user; + } + + /** + *

Log instance for this application.

+ */ + protected Log log = LogFactory.getLog(Constants.PACKAGE); + + /** + *

Persist the User object, including subscriptions, to the database. + *

+ * + * @throws java.lang.Exception on database error + */ + public void saveUser() throws Exception { + try { + getDatabase().save(); + } catch (Exception e) { + String message = Constants.LOG_DATABASE_SAVE_ERROR + getUser() + .getUsername(); + log.error(message, e); + throw new Exception(message, e); + } + } + + public void createInputUser() { + User user = new MemoryUser(null, null); + setUser(user); + } + + /** + *

Verify input for creating a new user, create the user, and process + * the login.

+ * + * @return A new User and empty Errors if create succeeds, or null and + * Errors if create fails + */ + public User createUser(String username, String password) { + + UserDatabase database = getDatabase(); + User user; + + try { + user = database.findUser(username); + } + + catch (ExpiredPasswordException e) { + user = getUser(); // Just so that it is not null + } + + if (user != null) { + this.addFieldError("username", "error.username.unique"); + return null; + } + + return database.createUser(username); + } + + // Since user.username is immutable, we have to use some local properties + + /** + *

Use the current User object to create a new User object, and make + * the new User object the authenticated user.

+ *

+ *

The "current" User object is usually a temporary object being used + * to capture input.

+ * + * @param _username User username + * @param _password User password + */ + public void copyUser(String _username, String _password) { + User input = getUser(); + input.setPassword(_password); + User user = createUser(_username, _password); + if (null != user) { + BeanUtils.copyProperties(input,user); + setUser(user); + } + } + + // ---- Subscription property ---- + + /** + *

Obtain the cached Subscription object, if any.

+ * + * @return Cached Subscription object or null + */ + public Subscription getSubscription() { + return (Subscription) getSession().get(Constants.SUBSCRIPTION_KEY); + } + + /** + *

Store new User Subscription.

+ * + * @param subscription + */ + public void setSubscription(Subscription subscription) { + getSession().put(Constants.SUBSCRIPTION_KEY, subscription); + } + + /** + *

Obtain User Subscription object for the given host, or return null + * if not found.

+ * + *

It would be possible for this code to throw a NullPointerException, + * but the ExceptionHandler in the xwork.xml will catch that for us.

+ * + * @return The matching Subscription or null + */ + public Subscription findSubscription(String host) { + Subscription subscription; + subscription = getUser().findSubscription(host); + return subscription; + } + + /** + *

Obtain uSER Subscription for the local Host property.

+ *

+ *

Usually, the host property will be set from the client request, + * because it was embedded in a link to the Subcription action. + * + * @return Subscription or null if not found + */ + public Subscription findSubscription() { + return findSubscription(getHost()); + } + + /** + *

Provide a "temporary" User Subscription object that can be used to + * capture input values.

+ */ + public void createInputSubscription() { + Subscription sub = new MemorySubscription(getUser(), null); + setSubscription(sub); + setHost(sub.getHost()); + } + + /** + *

Provide new User Subscription object for the given host, or null if + * the host is not unique.

+ * + * @param host + * @return New User Subscription object or null + */ + public Subscription createSubscription(String host) { + + Subscription sub; + + sub = findSubscription(host); + + if (null != sub) { + // FIXME - localization - "error.host.unique") + addFieldError(Constants.HOST,"That hostname is already defined"); + return null; + } + + return getUser().createSubscription(host); + } + + /** + *

Create a new Subscription from the current Subscription object, + * making the new Subscription the current Subscription.

+ *

+ *

Usually, the "current" Subscription is a temporary object being used + * to capture input values.

+ * + * @param host + */ + public void copySubscription(String host) { + Subscription input = getSubscription(); + Subscription sub = createSubscription(host); + if (null != sub) { + BeanUtils.copyProperties(input, sub); + setSubscription(sub); + setHost(sub.getHost()); + } + } + + /** + *

Delete the current Subscription object from the database.

+ */ + public void removeSubscription() { + getUser().removeSubscription(getSubscription()); + getSession().remove(Constants.SUBSCRIPTION_KEY); + } + + /** + *

Provide MailServer Host for current User Subscription.

+ * + * @return MailServer Host for current User Subscription + */ + public String getSubscriptionHost() { + Subscription sub = getSubscription(); + if (null == sub) { + return null; + } + return sub.getHost(); + } + +} diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport.properties b/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport.properties new file mode 100644 index 000000000..6fd171ba2 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport.properties @@ -0,0 +1,93 @@ +button.cancel=Cancel +button.confirm=Confirm +button.doSubmit=DO_SUBMIT +button.doReset=DO_RESULT +button.doCancel=org.apache.struts.taglib.html.CANCEL +button.reset=Reset +button.save=Save +change.message=Your password has expired. Please ask the system administrator to change it. +change.try=Try Again +change.title=Password Has Expired +database.load=Cannot load database from {0} +error.database.missing=User database is missing, cannot validate login credentials +error.fromAddress.format=Invalid format for From Address +error.fromAddress.required=From Address is required +error.fullName.required=Full Name is required +error.host.required=Mail Server is required +error.noSubscription=No Subscription bean in user session +error.password.expired=Your password has expired for username {0} +error.password.required=Password is required +error.password2.required=Confirmation password is required +error.password.match=Password and confirmation password must match +error.password.mismatch=Invalid username and/or password, please try again +error.replyToAddress.format=Invalid format for Reply To Address +struts.messages.invalid.token=Cannot submit this form out of order +error.type.invalid=Server Type must be 'imap' or 'pop3' +error.type.required=Server Type is required +error.username.required=Username is required +error.username.unique=That username is already in use - please select another +errors.footer=
+errors.header=

Validation Error

You must correct the following error(s) before proceeding:

    +errors.prefix=
  • +errors.suffix=
  • +errors.ioException=I/O exception rendering error messages: {0} +expired.password=User Password has expired for {0} +heading.autoConnect=Auto +heading.subscriptions=Current Subscriptions +heading.host=Host Name +heading.user=User Name +heading.type=Server Type +heading.action=Action +index.heading=MailReader Demonstration Application Options +index.login=Log on to the MailReader Demonstration Application +index.registration=Register with the MailReader Demonstration Application +index.title=MailReader Demonstration Application +index.tour=A Walking Tour of the MailReader Demonstration Application +linkSubscription.io=I/O Error: {0} +linkSubscription.noSubscription=No subscription under attribute {0} +linkUser.io=I/O Error: {0} +linkUser.noUser=No user under attribute {0} +login.title=MailReader Demonstration Application - Login +mainMenu.heading=Main Menu Options for +mainMenu.logout=Log off MailReader Demonstration Application +mainMenu.registration=Edit your user registration profile +mainMenu.title=MailReader Demonstration Application - Main Menu +option.imap=IMAP Protocol +option.pop3=POP3 Protocol +# prompt. +autoConnect=Auto Connect +fromAddress=From Address +fullName=Full Name +mailHostname=Mail Server +mailPassword=Mail Password +mailServerType=Server Type +mailUsername=Mail Username +password=Password +password2=(Repeat) Password +replyToAddress=Reply To Address +username=Username +registration.addSubscription=Add +registration.deleteSubscription=Delete +registration.editSubscription=Edit +registration.title.create=Register for the MailReader Demonstration Application +registration.title.edit=Edit Registration for the MailReader Demonstration Application +subscription.title.create=Create New Mail Subscription +subscription.title.delete=Delete Existing Mail Subscription +subscription.title.edit=Edit Existing Mail Subscription + +# Standard error messages for validator framework checks +errors.required=${getText(fieldName)} is required. +errors.minlength=${getText(fieldName)} cannot be less than {1} characters. +errors.maxlength=${getText(fieldName)} cannot be greater than {1} characters. +errors.invalid=${getText(fieldName)} is invalid. +errors.byte=${getText(fieldName)} must be an byte. +errors.short=${getText(fieldName)} must be an short. +errors.integer=${getText(fieldName)} must be an integer. +errors.long=${getText(fieldName)} must be an long. +errors.float=${getText(fieldName)} must be an float. +errors.double=${getText(fieldName)} must be an double. +errors.date=${getText(fieldName)} is not a date. +errors.range=${getText(fieldName)} is not in the range ${minLength} through ${maxLength}. +errors.creditcard=${getText(fieldName)} is not a valid credit card number. +errors.email=${getText(fieldName)} is an invalid e-mail address. +errors.literal=${getText(fieldName)} diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport_ja.properties b/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport_ja.properties new file mode 100644 index 000000000..6bb198a05 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport_ja.properties @@ -0,0 +1,89 @@ +button.cancel=\u30ad\u30e3\u30f3\u30bb\u30eb +button.confirm=\u78ba\u8a8d +button.reset=\u30ea\u30bb\u30c3\u30c8 +button.save=\u4fdd\u5b58 +change.message=\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F\u3002\u30B7\u30B9\u30C6\u30E0\u7BA1\u7406\u8005\u306B\u304A\u554F\u3044\u5408\u308F\u305B\u4E0B\u3055\u3044 +change.try=\u518D\u8A66\u884C +change.title=\u30d1\u30b9\u30ef\u30fc\u30c9\u671f\u9650\u5207\u308c +database.load= {0} \u304B\u3089\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093 +error.database.missing=\u30E6\u30FC\u30B6\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u30ED\u30B0\u30AA\u30F3\u306E\u8A8D\u8A3C\u304C\u51FA\u6765\u307E\u305B\u3093 +error.fromAddress.format=From\u30A2\u30C9\u30EC\u30B9\u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093 +error.fromAddress.required=From\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 +error.fullName.required=\u30D5\u30EB\u30CD\u30FC\u30E0\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 +error.host.required=\u30E1\u30FC\u30EB\u30B5\u30FC\u30D0\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 +error.noSubscription=Subscription bean \u304c\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u4e2d\u306b\u3042\u308a\u307e\u305b\u3093 +error.password.expired=\u30E6\u30FC\u30B6 {0} \u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F +error.password.required=\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5FC5\u8981\u3067\u3059 +error.password2.required=\u30D1\u30B9\u30EF\u30FC\u30C9(\u78BA\u8A8D\u7528)\u304C\u5FC5\u8981\u3067\u3059 +error.password.match=\u30D1\u30B9\u30EF\u30FC\u30C9\u3068\u78BA\u8A8D\u7528\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u3066\u3044\u307E\u305B\u3093 +error.password.mismatch=\u30E6\u30FC\u30B6\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E0D\u6B63\u3067\u3059\u3002\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 +error.replyToAddress.format=\u8FD4\u4FE1\u30A2\u30C9\u30EC\u30B9\u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093 +struts.messages.invalid.token=\u3053\u306E\u30D5\u30A9\u30FC\u30E0\u306E\u5185\u5BB9\u304C\u6B63\u3057\u304F\u306A\u3044\u305F\u3081\u9001\u4FE1\u3059\u308B\u3053\u3068\u304C\u51FA\u6765\u307E\u305B\u3093 +error.type.invalid=\u30B5\u30FC\u30D0\u30BF\u30A4\u30D7\u306F 'imap' \u304B 'pop3'\u306E\u3069\u3061\u3089\u304B\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093 +error.type.required=\u30B5\u30FC\u30D0\u30BF\u30A4\u30D7\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 +error.username.required=\u30E6\u30FC\u30B6\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 +error.username.unique=\u305D\u306E\u30E6\u30FC\u30B6\u540D\u306F\u65E2\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002 \u5225\u306E\u30E6\u30FC\u30B6\u540D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044 +errors.footer=

+errors.header=

\u5165\u529b\u30c1\u30a7\u30c3\u30af\u30a8\u30e9\u30fc

\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044:

    +errors.prefix=
  • +errors.suffix=
  • +errors.ioException=I/O\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0} +expired.password=\u30E6\u30FC\u30B6 {0} \u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u307E\u3057\u305F +heading.autoConnect=\u81ea\u52d5\u63a5\u7d9a +heading.subscriptions=\u73fe\u5728\u306e\u8cfc\u8aad\u60c5\u5831 +heading.host=\u30db\u30b9\u30c8\u540d +heading.user=\u30e6\u30fc\u30b6\u540d +heading.type=\u30b5\u30fc\u30d0\u30bf\u30a4\u30d7 +heading.action=\u64cd\u4f5c +index.heading=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 \u30aa\u30d7\u30b7\u30e7\u30f3 +index.login=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30ed\u30b0\u30aa\u30f3 +index.registration=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e6\u30fc\u30b6\u767b\u9332 +index.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3(Struts 1.1-dev) +index.tour=\u30b5\u30f3\u30d7\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u6563\u7b56\u3059\u308b +linkSubscription.io=I/O\u30a8\u30e9\u30fc: {0} +linkSubscription.noSubscription=\u5c5e\u6027 {0} \u306b\u8cfc\u8aad\u60c5\u5831\u304c\u5b58\u5728\u3057\u307e\u305b\u3093 +linkUser.io=I/O\u30a8\u30e9\u30fc: {0} +linkUser.noUser=\u5c5e\u6027 {0} \u306b\u30e6\u30fc\u30b6\u60c5\u5831\u304c\u5b58\u5728\u3057\u307e\u305b\u3093 +login.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30ed\u30b0\u30aa\u30f3 +mainMenu.heading=\u30e1\u30a4\u30f3\u30e1\u30cb\u30e5\u30fc +mainMenu.logout=MailReader \u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ed\u30b0\u30aa\u30d5 +mainMenu.registration=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u7de8\u96c6 +mainMenu.title=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e1\u30a4\u30f3\u30e1\u30cb\u30e5\u30fc +option.imap=IMAP \u30d7\u30ed\u30c8\u30b3\u30eb +option.pop3=POP3 \u30d7\u30ed\u30c8\u30b3\u30eb +# prompt. +autoConnect=\u81ea\u52d5\u63a5\u7d9a +fromAddress=From\u30a2\u30c9\u30ec\u30b9 +fullName=\u30d5\u30eb\u30cd\u30fc\u30e0 +mailHostname=\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0 +mailPassword=\u30e1\u30fc\u30eb\u30d1\u30b9\u30ef\u30fc\u30c9 +mailServerType=\u30b5\u30fc\u30d0\u30bf\u30a4\u30d7 +mailUsername=\u30e1\u30fc\u30eb\u30e6\u30fc\u30b6\u540d +.password=\u30d1\u30b9\u30ef\u30fc\u30c9 +password2=\u30d1\u30b9\u30ef\u30fc\u30c9(\u78ba\u8a8d\u7528) +replyToAddress=\u8fd4\u4fe1\u30a2\u30c9\u30ec\u30b9 +username=\u30e6\u30fc\u30b6\u540d +registration.addSubscription=\u65b0\u898f\u4f5c\u6210 +registration.deleteSubscription=\u524a\u9664 +registration.editSubscription=\u7de8\u96c6 +registration.title.create=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30e6\u30fc\u30b6\u767b\u9332 +registration.title.edit=MailReader\u30c7\u30e2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 - \u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6 +subscription.title.create=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u65b0\u898f\u4f5c\u6210 +subscription.title.delete=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u524a\u9664 +subscription.title.edit=\u30e1\u30fc\u30eb\u8cfc\u8aad\u60c5\u5831\u306e\u7de8\u96c6 + +# Standard error messages for validator framework checks +errors.required=${getText(fieldName)} \u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +errors.minlength=${getText(fieldName)} \u306f {1} \u6587\u5b57\u4ee5\u4e0a\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.maxlength=${getText(fieldName)} \u306f {2} \u6587\u5b57\u4ee5\u4e0b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.invalid=${getText(fieldName)} \u306f\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002 +errors.byte=${getText(fieldName)} \u306fbyte\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.short=${getText(fieldName)} \u306fshort\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.integer=${getText(fieldName)} \u306finteger\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.long=${getText(fieldName)} \u306flong\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.float=${getText(fieldName)} \u306ffloat\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.double=${getText(fieldName)} \u306fdouble\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.date=${getText(fieldName)} \u306f\u65e5\u4ed8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 +errors.range=${getText(fieldName)} \u306f {1} \u304b\u3089 {2} \u306e\u9593\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002 +errors.creditcard=${getText(fieldName)} \u306f\u6b63\u3057\u3044\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u756a\u53f7\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 +errors.email=${getText(fieldName)} \u306f\u6b63\u3057\u3044\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 diff --git a/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport_ru.properties b/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport_ru.properties new file mode 100644 index 000000000..e7d1772f5 --- /dev/null +++ b/trunk/apps/mailreader/src/main/java/mailreader2/MailreaderSupport_ru.properties @@ -0,0 +1,89 @@ +button.cancel=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c +button.confirm=\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c +button.reset=\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c +button.save=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c +change.message=Your password has expired. Please ask the system administrator to change it. +change.try=Try Again +change.title=Password Has Expired +database.load=\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0438\u0437 {0} +error.database.missing=\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f - \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e. +error.fromAddress.format=\u0412 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442:' \u0443\u043a\u0430\u0437\u0430\u043d \u0430\u0434\u0440\u0435\u0441 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. +error.fromAddress.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442:'. +error.fullName.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0435 \u0438\u043c\u044f. +error.host.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. +error.noSubscription=\u041f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0432 \u0441\u0435\u0441\u0441\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f +error.password.expired=Your password has expired for username {0} +error.password.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c. +error.password2.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f. +error.password.match=\u041f\u0430\u0440\u043e\u043b\u044c \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442. +error.password.mismatch=\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0438\u043c\u044f \u0438/\u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c - \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043d\u043e\u0432\u0430. +error.replyToAddress.format=\u0412 \u043f\u043e\u043b\u0435 '\u0410\u0434\u0440\u0435\u0441 \u041e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430:' \u0443\u043a\u0430\u0437\u0430\u043d \u0430\u0434\u0440\u0435\u0441 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. +struts.messages.invalid.token=\u042d\u0442\u0430 \u0444\u043e\u0440\u043c\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 - \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. +error.type.invalid=\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0438\u043f\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u043b\u0438\u0448\u044c 'imap' \u0438\u043b\u0438 'pop3' +error.type.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 +error.username.required=\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f +error.username.unique=\u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f - \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0434\u0440\u0443\u0433\u043e\u0435 \u0438\u043c\u044f. +errors.footer=

+errors.header=

\u041e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445

\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435 \u043e\u0448\u0438\u0431\u043a\u0438: