Author: gk
Date: Tue Apr 9 06:58:57 2013
New Revision: 1465908
URL: http://svn.apache.org/r1465908
Log:
activated torque with hsql in configuration files, upgraded hsql, fixed hsql
configuration and added test
Added:
turbine/core/trunk/conf/test/CompleteTurbineResourcesTorque.properties
(with props)
Modified:
turbine/core/trunk/conf/test/TorqueTest.properties
turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml
turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml
turbine/core/trunk/pom.xml
turbine/core/trunk/src/test/org/apache/turbine/services/security/torque/TestTorqueSecurity.java
Added: turbine/core/trunk/conf/test/CompleteTurbineResourcesTorque.properties
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/CompleteTurbineResourcesTorque.properties?rev=1465908&view=auto
==============================================================================
--- turbine/core/trunk/conf/test/CompleteTurbineResourcesTorque.properties
(added)
+++ turbine/core/trunk/conf/test/CompleteTurbineResourcesTorque.properties Tue
Apr 9 06:58:57 2013
@@ -0,0 +1,815 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+pipeline.default.descriptor = conf/turbine-classic-pipeline.xml
+# -------------------------------------------------------------------
+#
+# L O G 4 J - L O G G I N G
+#
+# -------------------------------------------------------------------
+
+log4j.file = /conf/test/Log4j.properties
+
+# -------------------------------------------------------------------
+#
+# M A I L S E R V E R
+#
+# -------------------------------------------------------------------
+# Your mail server for outgoing email.
+#
+# Default: null
+# -------------------------------------------------------------------
+
+mail.server=
+
+# -------------------------------------------------------------------
+# SMTP-From header for your outgoing messages
+#
+# All failed delivery messages will be returned to this address.
+# If unset, these messages will be sent to the address in the
+# From header (standard behaviour)
+#
+# Default: null
+# -------------------------------------------------------------------
+
+mail.smtp.from=
+
+# -------------------------------------------------------------------
+#
+# S E R V E R D A T A
+#
+# -------------------------------------------------------------------
+# Default ServerData that can be used if asked for before the first
+# request is made.
+#
+# Defaults:
+#
+# serverdata.default.serverName=
+# serverdata.default.serverPort=80
+# serverdata.default.serverScheme=http
+# serverdata.default.scriptName=
+# serverdata.default.contextPath=
+# -------------------------------------------------------------------
+
+serverdata.default.serverName=
+serverdata.default.serverPort=80
+serverdata.default.serverScheme=http
+serverdata.default.scriptName=
+serverdata.default.contextPath=
+
+# -------------------------------------------------------------------
+#
+# M O D U L E C A C H I N G
+#
+# -------------------------------------------------------------------
+# This determines whether or not to cache the modules in memory. For
+# development, turn this off. For production, turn this on.
+#
+# Default: false
+# -------------------------------------------------------------------
+
+module.cache=false
+
+# If module.cache=true, then how large should we make the hashtables
+# by default.
+
+action.cache.size=20
+layout.cache.size=10
+navigation.cache.size=10
+page.cache.size=5
+screen.cache.size=50
+scheduledjob.cache.size=10
+
+# -------------------------------------------------------------------
+#
+# M O D U L E P A C K A G E S
+#
+# -------------------------------------------------------------------
+# This is the "classpath" for Turbine. In order to locate your own
+# modules, you should add them to this path. For example, if you have
+# com.company.actions, com.company.screens, com.company.navigations,
+# then this setting would be "com.company,org.apache.turbine.modules".
+# This path is searched in order. For example, Turbine comes with a
+# screen module named "Login". If you wanted to have your own screen
+# module named "Login", then you would specify the path to your
+# modules before the others.
+#
+# Note: org.apache.turbine.modules will always be added to the search
+# path. If it is not explictly added here, it will be added to the
+# end.
+#
+# Default: org.apache.turbine.modules
+# -------------------------------------------------------------------
+
+module.packages=org.apache.turbine.modules,
org.apache.turbine.services.template.modules,
org.apache.turbine.services.template.modules.screens.existing.dflt
+
+# -------------------------------------------------------------------
+#
+# F R A M E W O R K S E T T I N G S
+#
+# -------------------------------------------------------------------
+# These are settings that control the behavior of the framework,
+# such as determining whether a template system is in use, what
+# the default templates and screens are and session handling settings.
+# -------------------------------------------------------------------
+
+# Used to set the template homepage if you are using a template
+# layout. This is the template that will be displayed to the user
+# when no specific template is requested. This is normally executed
+# as the first template the user sees when they access the system.
+#
+# Default: Index.vm
+
+template.homepage=Index.vm
+
+# This is the default screen to show to people when they first access
+# the system. This is only used if there is no value for
+# template.homepage. This is for use when you are not using a
+# templating system such as Velocity or JSP.
+#
+# Default: Login
+
+screen.homepage=
+
+# This is the template that is shown on an incorrect login attempt.
+# Setting this property will override any value of screen.login specified
+# below.
+#
+# Default: Login.vm
+
+template.login=Login.vm
+
+# This is the page that is shown on an incorrect login attempt. It is
+# referenced in the LoginUser action. This is only used if there is no value
+# for template.login. This is for use when you are not using a
+# templating system such as Velocity or JSP.
+#
+# Default: Login
+
+screen.login=
+
+# This is the template that is used by the respective Template based
+# ErrorScreen for displaying the error. If you are not using a Template based
+# ErrorScreen, then this is ignored.
+#
+# Default: Error.vm
+
+template.error=Error.vm
+
+# This is the default error screen.
+#
+# Default: VelocityErrorScreen
+
+screen.error=VelocityErrorScreen
+
+# This is the screen that is displayed when the user's web page is in
+# an invalid state.
+#
+# Default: error.InvalidState
+
+screen.invalidstate=error.InvalidState
+
+# Set the components of the default Doctype for use in html documents.
+#
+# Defaults: There are no defaults - if default.html.doctype.root.element is not
+# set then no default doctype will be available.
+
+default.html.doctype.root.element=HTML
+default.html.doctype.identifier=-//W3C//DTD HTML 4.01 Transitional//EN
+default.html.doctype.url=http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd
+
+# This is the default action to log a user in. If you write your own
+# implementation of the login action, make sure that you change this
+# to reflect the new name.
+
+action.login=LoginUser
+
+# This is the default action to log a user out. If you write your own
+# implementation of the logout action, make sure that you change this
+# to reflect the new name.
+
+action.logout=LogoutUser
+
+# This is the default action to validate whether or not a session is
+# valid. For example, if you want to make sure if a user has already
+# logged in or not.
+#
+# Default: SessionValidator
+
+action.sessionvalidator=sessionvalidator.TemplateSessionValidator
+
+# This is the timeout in seconds for sessions. If left commented out, the
+# servlet container's default timeout will be left as is.
+
+# session.timeout=1800
+
+# This is the default action that builds up the AccessControlList for
+# the individual users session.
+
+action.accesscontroller=AccessController
+
+#
+# Set this value to true if you want to be able to submit multiple
+# events to an Action by doing eventSubmit_do<action> and consider
+# only events that have a non-empty, non-zero value. This is useful
+# if you submit your form with JavaScript
+#
+action.eventsubmit.needsvalue = false
+
+# -------------------------------------------------------------------
+#
+# J N D I C O N T E X T S
+#
+# -------------------------------------------------------------------
+
+# This indicates whether Turbine should try to create JNDI contexts.
+#
+# Default: false
+#
+# contexts=true
+
+# These are the JNDI context properties. Each context's properties
+# are defined by the properties beginning with context.name.
+#
+# Default: none
+#
+# Example: The following will create a JNDI context named "name" in
+# the data.contexts Hashtable. It will point at the RMI registry on
+# localhost running on port 1099, and will use
+# com.sun.jndi.rmi.registry.RegistryContextFactory as the initial
+# context factory:
+#
+# context.name.java.naming.provider.url=rmi://localhost:1099
+#
context.name.java.naming.factory.initial=com.sun.jndi.rmi.registry.RegistryContextFactory
+
+# -------------------------------------------------------------------
+#
+# M E S S A G E S
+#
+# -------------------------------------------------------------------
+# Note that strings containing "," (comma) characters must backslash
+# escape the comma (i.e. '\,')
+
+# The message that can be displayed before a user logs in.
+
+login.message=Thank you for your visit. Please log into the system.
+
+# The message that can be displayed when no screen is defined.
+
+login.message.noscreen=There has been an error. Your session is valid but the
screen variable is not defined.
+
+# The message that can be displayed when a user enters an incorrect
+# password or username.
+
+login.error=Sorry your username or password is incorrect!
+
+# The message that can be displayed when a user logs out.
+
+logout.message=Thank you for using the system. Please come back soon.
+
+# -------------------------------------------------------------------
+#
+# S E C U R E S O C K E T S L A Y E R
+#
+# -------------------------------------------------------------------
+# Whether the web server is able to use SSL. Links in Turbine can
+# check this property to determine if SSL can be used.
+#
+# Default: true
+# -------------------------------------------------------------------
+
+use.ssl=true
+
+# -------------------------------------------------------------------
+#
+# S E R V I C E S
+#
+# -------------------------------------------------------------------
+# Classes for Turbine Services should be defined here.
+# Format: services.[name].classname=[implementing class]
+#
+# To specify properties of a service use the following syntax:
+# service.[name].[property]=[value]
+#
+# The order that these services is listed is important! The
+# order that is stated here is the order in which the services
+# will be initialized. Keep this is mind if you have services
+# that depend on other services during initialization.
+# -------------------------------------------------------------------
+
+# Choose between the two available implementations of an Avalon container -
ECM or YAAFI
+
+#
services.AvalonComponentService.classname=org.apache.turbine.services.avaloncomponent.TurbineAvalonComponentService
+services.AvalonComponentService.classname=org.apache.turbine.services.avaloncomponent.TurbineYaafiComponentService
+
+services.RunDataService.classname=org.apache.turbine.services.rundata.TurbineRunDataService
+services.ServletService.classname=org.apache.turbine.services.servlet.TurbineServletService
+services.AssemblerBrokerService.classname=org.apache.turbine.services.assemblerbroker.TurbineAssemblerBrokerService
+services.UniqueIdService.classname=org.apache.turbine.services.uniqueid.TurbineUniqueIdService
+# Default
+#
services.SecurityService.classname=org.apache.turbine.services.security.db.DBSecurityService
+services.SecurityService.classname=org.apache.turbine.services.security.torque.TorqueSecurityService
+
+services.PullService.classname=org.apache.turbine.services.pull.TurbinePullService
+services.TemplateService.classname=org.apache.turbine.services.template.TurbineTemplateService
+services.UIService.classname = org.apache.turbine.services.ui.TurbineUIService
+#
services.SessionService.classname=org.apache.turbine.services.session.TurbineSessionService
+
+# Turn on the appropriate template service.
+services.VelocityService.classname=org.apache.turbine.services.velocity.TurbineVelocityService
+
+# -------------------------------------------------------------------
+#
+# R U N D A T A S E R V I C E
+#
+# -------------------------------------------------------------------
+# Default implementations of base interfaces for request processing.
+# Additional configurations can be defined by using other keys
+# in the place of the <default> key.
+# -------------------------------------------------------------------
+
+services.RunDataService.default.run.data=org.apache.turbine.services.rundata.DefaultTurbineRunData
+services.RunDataService.default.parameter.parser=org.apache.fulcrum.parser.DefaultParameterParser
+services.RunDataService.default.cookie.parser=org.apache.fulcrum.parser.DefaultCookieParser
+
+# -------------------------------------------------------------------
+#
+# A S S E M B L E R B R O K E R S E R V I C E
+#
+# -------------------------------------------------------------------
+# A list of AssemblerFactory classes that will be registered
+# with TurbineAssemblerBrokerService
+# -------------------------------------------------------------------
+
+services.AssemblerBrokerService.screen=org.apache.turbine.services.assemblerbroker.util.java.JavaScreenFactory
+#
services.AssemblerBrokerService.screen=org.apache.turbine.services.assemblerbroker.util.python.PythonScreenFactory
+services.AssemblerBrokerService.action=org.apache.turbine.services.assemblerbroker.util.java.JavaActionFactory
+services.AssemblerBrokerService.layout=org.apache.turbine.services.assemblerbroker.util.java.JavaLayoutFactory
+services.AssemblerBrokerService.page=org.apache.turbine.services.assemblerbroker.util.java.JavaPageFactory
+services.AssemblerBrokerService.navigation=org.apache.turbine.services.assemblerbroker.util.java.JavaNavigationFactory
+services.AssemblerBrokerService.scheduledjob=org.apache.turbine.services.assemblerbroker.util.java.JavaScheduledJobFactory
+
+# -------------------------------------------------------------------
+#
+# T E M P L A T E S E R V I C E
+#
+# -------------------------------------------------------------------
+
+# Roughly, the number of templates in each category.
+#
+# Defaults: layout=2, navigation=10, screen=50
+
+services.TemplateService.layout.cache.size=2
+services.TemplateService.navigation.cache.size=10
+services.TemplateService.screen.cache.size=50
+
+#
+# These are the mapper classes responsible for the lookup of Page, Screen,
Layout and Navigation classes according
+# to the supplied template Name. They also map template names on the Layout
and Screen file names to be used.
+#
+# services.TemplateService.mapper.page.class =
org.apache.turbine.services.template.mapper.DirectTemplateMapper
+# services.TemplateService.mapper.screen.class =
org.apache.turbine.services.template.mapper.ClassMapper
+# services.TemplateService.mapper.layout.class =
org.apache.turbine.services.template.mapper.ClassMapper
+# services.TemplateService.mapper.navigation.class =
org.apache.turbine.services.template.mapper.ClassMapper
+# services.TemplateService.mapper.layout.template.class =
org.apache.turbine.services.template.mapper.LayoutTemplateMapper
+# services.TemplateService.mapper.screen.template.class =
org.apache.turbine.services.template.mapper.ScreenTemplateMapper
+
+# -------------------------------------------------------------------
+#
+# P U L L S E R V I C E
+#
+# -------------------------------------------------------------------
+# These are the properties for the Pull Service, the service
+# that works in conjuction with the Turbine Pull Model API.
+# -------------------------------------------------------------------
+
+services.PullService.earlyInit= true
+
+# This determines whether the non-request tools are refreshed
+# on each request (request tools aren't ever, because they're
+# instantiated for the request only anyway).
+services.PullService.tools.per.request.refresh=true
+
+# Path to the resources of the application tools, relative to the
+# application root
+services.PullService.tools.resources.dir=/conf/test/turbine-resources/
+
+# These are tools that are placed in the context by the service
+# These tools will be made available to all your
+# templates. You list the tools in the following way:
+#
+# tool.<scope>.<id> = <classname>
+#
+# <scope> is the tool scope: global, request, session
+# or persistent (see below for more details)
+# <id> is the name of the tool in the context
+#
+# You can configure the tools in this way:
+# tool.<id>.<parameter> = <value>
+#
+# So if you find "global", "request", "session" or "persistent" as second
+# part, it is a configuration to put a tool into the toolbox, else it is a
+# tool specific configuration.
+#
+# For example:
+#
+# tool.global.ui = org.apache.turbine.util.pull.tools.UITool
+# tool.global.mm = org.apache.turbine.util.pull.MessageManager
+# tool.request.link = org.apache.turbine.services.pull.tools.TemplateLink
+# tool.request.page = org.apache.turbine.util.template.TemplatePageAttributes
+#
+# Then:
+#
+# tool.ui.skin = default
+#
+# configures the value of "skin" for the "ui" tool.
+#
+# Tools are accessible in all templates by the <id> given
+# to the tool. So for the above listings the UIManager would
+# be available as $ui, the MessageManager as $mm, the TemplateLink
+# as $link and the TemplatePageAttributes as $page.
+#
+# You should avoid using tool names called "global", "request",
+# or "session" because of clashes with the possible Scopes.
+#
+# Scopes:
+#
+# global: tool is instantiated once and that instance is available
+# to all templates for all requests. Tool must be threadsafe.
+#
+# request: tool is instantiated once for each request (although the
+# PoolService is used to recycle instances). Tool need not
+# be threadsafe.
+#
+# session: tool is instantiated once for each user session, and is
+# stored in the user's temporary hashtable. Tool should be
+# threadsafe.
+#
+# authorized: tool is instantiated once for each user session once the
+# user logs in. After this, it is a normal session tool.
+#
+# Defaults: none
+
+tool.request.link=org.apache.turbine.services.pull.tools.TemplateLink
+tool.request.page=org.apache.turbine.util.template.HtmlPageAttributes
+tool.request.content=org.apache.turbine.services.pull.tools.ContentTool
+tool.request.l10n=org.apache.turbine.services.localization.LocalizationTool
+
+# This pull tool is to allow for easy formatting of Date object into Strings
+tool.request.dateFormatter=org.apache.turbine.services.pull.util.DateFormatter
+
+# Use this tool if you need a place to store data that will persist between
+# requests. Any data stored using this tool will be stored in the session.
+tool.session.sessionData=org.apache.turbine.services.pull.util.SessionData
+
+# These are intake tools.
+# tool.request.intake=org.apache.turbine.services.intake.IntakeTool
+
+# This is a tool that allows access to the scheduler service.
+# tool.request.scheduler=org.apache.turbine.services.SchedulerTool
+
+# This pull tool can be used to provide skins to an application
+tool.global.ui = org.apache.turbine.services.pull.tools.UITool
+
+## These properties apply to both the old UIManager and the newer UIService
+tool.ui.dir.skin = /turbine-skins/
+tool.ui.dir.image = /turbine-images/
+tool.ui.skin = myskin
+tool.ui.css = skins.css
+
+#
+# The content tool can put its URIs through the Servlet container,
+# which might attach things like the jsessionid even to URIs that
+# are not served by the container.
+#
+# The default behavior was not to put these through the container.
+#
+# Set this to true if you need things like jsessionid attached to all
+# links generated from the $content pull tool.
+#
+tool.content.want.encoding = false
+
+#
+# Both the link and the content tool normally return absolute URIs
+# You can change this by exchanging the tool classes but this is not
+# really recommended. Setting these properties to true allow you
+# to change the behavior if you want only relative URIs (e.g. if you
+# run behind a reverse proxy or a load balancer).
+#
+tool.content.want.relative = false
+tool.link.want.relative = false
+
+# -------------------------------------------------------------------
+#
+# V E L O C I T Y S E R V I C E
+#
+# -------------------------------------------------------------------
+
+
+services.VelocityService.earlyInit = true
+services.VelocityService.template.extension = vm
+
+services.VelocityService.default.page = VelocityPage
+services.VelocityService.default.screen = VelocityScreen
+services.VelocityService.default.layout = VelocityOnlyLayout
+services.VelocityService.default.navigation = VelocityNavigation
+services.VelocityService.default.layout.template = Default.vm
+
+services.VelocityService.resource.loader = file
+services.VelocityService.file.resource.loader.description = Velocity File
Resource Loader
+services.VelocityService.file.resource.loader.class =
org.apache.velocity.runtime.resource.loader.FileResourceLoader
+services.VelocityService.file.resource.loader.path = src/templates/test
+services.VelocityService.file.resource.loader.cache = false
+services.VelocityService.file.resource.loader.modificationCheckInterval = 2
+
+# -------------------------------------------------------------------
+#
+# J S P S E R V I C E
+#
+# -------------------------------------------------------------------
+
+services.JspService.template.extension=jsp
+services.JspService.default.page = JspPage
+services.JspService.default.screen=BaseJspScreen
+services.JspService.default.layout = JspLayout
+services.JspService.default.navigation=BaseJspNavigation
+services.JspService.default.error.screen = JspErrorScreen
+services.JspService.default.layout.template = Default.jsp
+
+services.JspService.templates = /templates/app
+services.JspService.buffer.size = 8192
+
+# -------------------------------------------------------------------
+#
+# S C H E D U L E R S E R V I C E
+#
+# -------------------------------------------------------------------
+
+#
+# Set enabled to true to start the scheduler. The scheduler can be
+# stopped and started after Turbine has been intialized. See the
+# javadocs for org.apache.turbine.services.schedule.TurbineScheduler
+# for the methods calls.
+#
+# Default = false
+#
+
+services.SchedulerService.enabled=false
+
+# Determines if the scheduler service should be initialized early. This
+# Should always be set to true!!!!
+
+services.SchedulerService.earlyInit=true
+
+# -------------------------------------------------------------------
+#
+# S E C U R I T Y S E R V I C E
+#
+# -------------------------------------------------------------------
+
+#
+# This is the class that implements the UserManager interface to
+# manage User objects. Default is the UserManager from the
+# DBSecurityService.
+# Override this setting if you want your User information stored
+# on a different medium (LDAP directory is a good example).
+#
+# Adjust this setting if you change the Setting of the SecurityService class
(see above).
+
+# Default: org.apache.turbine.services.security.db.DBUserManager
+# The MockUserManager is used in testing...
+services.SecurityService.user.manager =
org.apache.turbine.services.security.torque.TorqueUserManager
+
+#
+# These are the default classes used by the Security Service to
+# provide User, Group, Role and Permission objects.
+# You want to override this setting only if you want your
+# implementation to provide application specific addtional
+# functionality.
+#
+# For LDAP use:
+#
services.SecurityService.user.class=org.apache.turbine.services.security.ldap.LDAPUser
+# LDAP does not yet provide custom Group, User and Role objects so you
+# must use it with the default TurbineGroup, TurbineRole and
+# TurbinePermission objects.
+#
+# Class for User. Default: org.apache.turbine.om.security.TurbineUser
+services.SecurityService.user.class=
org.apache.turbine.services.security.torque.TorqueUser
+# Class for Group. Default: org.apache.turbine.om.security.TurbineGroup
+services.SecurityService.group.class=org.apache.turbine.services.security.torque.TorqueGroup
+# Class for Role. Default: org.apache.turbine.om.security.TurbineRole
+services.SecurityService.role.class=org.apache.turbine.services.security.torque.TorqueRole
+# Class for Permission. Default:
org.apache.turbine.om.security.TurbinePermission
+services.SecurityService.permission.class=org.apache.turbine.services.security.torque.TorquePermission
+
+#
+# This is the class that implements the ACL interface.
+# You want to override this setting only if you want your ACL
+# implementation to provide application specific addtional
+# functionality.
+#
+
+# Default: org.apache.turbine.util.security.TurbineAccessControlList
+services.SecurityService.acl.class =
org.apache.turbine.util.security.TurbineAccessControlList
+
+#
+# This setting is DBSecurityService specific - this class is consulted for the
names
+# of the columns in the users' tables for the purpose of creating join queries.
+# If you use your own User implementation in conjunction with
DBSecurityService,
+# it's peer class must implement org.apache.turbine.om.security.peer.UserPeer
interface,
+# and you need to specify the name of the peer class here.
+#
+# Default: org.apache.turbine.om.security.peer.TurbineUserPeer
+#
+services.SecurityService.userPeer.class=org.apache.turbine.om.security.peer.TurbineUserPeer
+
+#
+# This is used by the SecurityService to make the password checking
+# secure. When enabled, passwords are transformed by a one-way
+# function into a sequence of bytes that is base64 encoded.
+# It is impossible to guess the plain-text form of the password
+# from the representation. When user logs in, the entered password
+# is transformed the same way and then compared with stored value.
+#
+# Default: false
+#
+
+services.SecurityService.secure.passwords=false
+
+#
+# This property lets you choose what digest algorithm will be used
+# for encrypting passwords. Check documentation of your JRE for
+# available algorithms.
+#
+# Default: SHA
+#
+
+services.SecurityService.secure.passwords.algorithm=SHA
+
+# Configuration for the LDAP Security Service implementation
+
+# services.SecurityService.ldap.security.athentication=simple
+# services.SecurityService.ldap.port=<LDAP PORT>
+# services.SecurityService.ldap.host=<LDAP HOST>
+# services.SecurityService.ldap.admin.username=<ADMIN USERNAME>
+# services.SecurityService.ldap.admin.password=<ADMIN PASSWORD>
+# services.SecurityService.ldap.user.basesearch=<SEARCH PATTERN>
+# services.SecurityService.ldap.user.search.filter=<SEARCH FILTER>
+# services.SecurityService.ldap.dn.attribute=userPrincipalName
+# services.SecurityService.ldap.provider=com.sun.jndi.ldap.LdapCtxFactory
+
+#
+# This property specifies the type of security authentication
+#
+# Default: simple
+#
+
+# services.SecurityService.ldap.security.authentication=simple
+
+#
+# The host name where the LDAP server is listenting.
+#
+# Default: localhost
+#
+
+# services.SecurityService.ldap.host=localhost
+
+#
+# The port number where the LDAP server is listenting.
+#
+# Default: 389
+#
+
+# services.SecurityService.ldap.port=389
+
+#
+# The user name of the admin user. The admin user should be able to
+# read from the LDAP repository.
+# Characteres '/' are replaced by '=' and '%' are replaced by ','.
+#
+# Default: none
+#
+
+#
services.SecurityService.ldap.admin.username=turbineUserUniqueId/turbine%dc/example%dc/com
+
+#
+# The password of the admin user.
+#
+# Default: none
+#
+
+# services.SecurityService.ldap.admin.password=turbine
+
+#
+# The class name of the ldap provider.
+#
+# Default: com.sun.jndi.ldap.LdapCtxFactory
+#
+
+# services.SecurityService.ldap.provider=com.sun.jndi.ldap.LdapCtxFactory
+
+#
+# The directory base to search.
+# '/' are replaced by '=' and '%' are replaced by ','.
+#
+# Default: none
+#
+
+# services.SecurityService.ldap.basesearch=dc/example%dc/com
+
+#
+# The unique id. It must be an integer field and it is required only when
+# the users are in LDAP but the groups, roles and permissions are in the
+# Database.
+#
+# services.SecurityService.ldap.user.userid=
+
+#
+# This property maps the username with an attribute in LDAP.
+#
+# Default: turbineUserUniqueId
+#
+
+# services.SecurityService.ldap.user.username=turbineUserUniqueId
+
+#
+# This property maps the firstname with an attribute in LDAP.
+#
+# Default: turbineUserFirstName
+#
+
+# services.SecurityService.ldap.user.firstname=turbineUserFirstName
+
+#
+# This property maps the lastname with an attribute in LDAP.
+#
+# Default: turbineUserLastName
+#
+
+# services.SecurityService.ldap.user.lastname=turbineUserLastName
+
+#
+# This property maps the email with an attribute in LDAP.
+#
+# Default: turbineUserMailAddress
+#
+
+# services.SecurityService.ldap.user.email=turbineUserMailAddress
+
+#
+# This property maps the userPassword with an attribute in LDAP.
+#
+# Default: none
+#
+
+# services.SecurityService.ldap.user.password=userPassword
+
+# -------------------------------------------------------------------
+#
+# A V A L O N C O M P O N E N T S E R V I C E
+#
+# -------------------------------------------------------------------
+# Components implementing the Avalon lifecycle interfaces can be loaded,
+# configured and initialized by Turbine
+# -------------------------------------------------------------------
+
+#
+# Name and location to the configuration file for the container.
+#
+services.AvalonComponentService.containerConfiguration =
conf/test/fulcrumContainerConfiguration.xml
+services.AvalonComponentService.earlyInit=true
+
+# -------------------------------------------------------------------
+#
+# S E S S I O N S E R V I C E
+#
+# -------------------------------------------------------------------
+
+services.SessionService.earlyInit=true
+
+# -------------------------------------------------------------------
+#
+# A D D I T I O N A L P R O P E R T I E S
+#
+# -------------------------------------------------------------------
+# The full path name to an additional properties file. Properties in
+# this file will be included in this property set. Duplicate name
+# values will be replaced, so be careful.
+#
+# Default: none
+# -------------------------------------------------------------------
Propchange:
turbine/core/trunk/conf/test/CompleteTurbineResourcesTorque.properties
------------------------------------------------------------------------------
svn:eol-style = native
Modified: turbine/core/trunk/conf/test/TorqueTest.properties
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/TorqueTest.properties?rev=1465908&r1=1465907&r2=1465908&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/TorqueTest.properties (original)
+++ turbine/core/trunk/conf/test/TorqueTest.properties Tue Apr 9 06:58:57 2013
@@ -17,7 +17,7 @@
torque.applicationRoot = .
pipeline.default.descriptor = conf/turbine-classic-pipeline.xml
-torque.defaults.pool.defaultMaxActive=30
+#torque.defaults.pool.defaultMaxActive=30
torque.defaults.pool.testOnBorrow=true
torque.defaults.pool.validationQuery=SELECT 1
@@ -25,3 +25,19 @@ torque.idbroker.cleverquantity=true
torque.idbroker.prefetch=true
torque.idbroker.usenewconnection=true
+torque.database.default=default
+torque.database.schema =
+torque.database.default.adapter=hypersonic
+
+
+torque.dsfactory.default.factory=org.apache.torque.dsfactory.SharedPoolDataSourceFactory
+
+torque.dsfactory.default.pool.testOnBorrow=true
+torque.dsfactory.default.pool.validationQuery=SELECT 1 from
INFORMATION_SCHEMA.SYSTEM_USERS
+torque.dsfactory.default.connection.driver = org.hsqldb.jdbcDriver
+torque.dsfactory.default.connection.url = jdbc:hsqldb:.
+torque.dsfactory.default.connection.user = sa
+torque.dsfactory.default.connection.password =
+
+
+
Modified: turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml?rev=1465908&r1=1465907&r2=1465908&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml (original)
+++ turbine/core/trunk/conf/test/fulcrumComponentConfiguration.xml Tue Apr 9
06:58:57 2013
@@ -51,7 +51,7 @@
<automaticUpload>true</automaticUpload>
</parser>
<upload repository="target" sizeMax="1048576" sizeThreshold="10240"/>
- <!--torque>
+ <torque>
<configfile>conf/test/TorqueTest.properties</configfile>
- </torque-->
+ </torque>
</componentConfig>
Modified: turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml?rev=1465908&r1=1465907&r2=1465908&view=diff
==============================================================================
--- turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml (original)
+++ turbine/core/trunk/conf/test/fulcrumRoleConfiguration.xml Tue Apr 9
06:58:57 2013
@@ -73,8 +73,8 @@
shorthand="xslt"
default-class="org.apache.fulcrum.xslt.DefaultXSLTService"/>
- <!--role name="org.apache.torque.avalon.Torque"
+ <role name="org.apache.torque.avalon.Torque"
shorthand="torque"
- default-class="org.apache.torque.avalon.TorqueComponent" /-->
+ default-class="org.apache.torque.avalon.TorqueComponent" />
</role-list>
Modified: turbine/core/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/pom.xml?rev=1465908&r1=1465907&r2=1465908&view=diff
==============================================================================
--- turbine/core/trunk/pom.xml (original)
+++ turbine/core/trunk/pom.xml Tue Apr 9 06:58:57 2013
@@ -853,9 +853,9 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>hsqldb</groupId>
+ <groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
- <version>1.7.1</version>
+ <version>2.2.9</version>
<type>jar</type>
<scope>test</scope>
</dependency>
Modified:
turbine/core/trunk/src/test/org/apache/turbine/services/security/torque/TestTorqueSecurity.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/services/security/torque/TestTorqueSecurity.java?rev=1465908&r1=1465907&r2=1465908&view=diff
==============================================================================
---
turbine/core/trunk/src/test/org/apache/turbine/services/security/torque/TestTorqueSecurity.java
(original)
+++
turbine/core/trunk/src/test/org/apache/turbine/services/security/torque/TestTorqueSecurity.java
Tue Apr 9 06:58:57 2013
@@ -19,10 +19,16 @@ package org.apache.turbine.services.secu
* under the License.
*/
+import java.util.Iterator;
+import java.util.List;
+
import junit.framework.Test;
import junit.framework.TestSuite;
+import org.apache.torque.util.BasePeer;
+import org.apache.torque.util.Criteria;
import org.apache.turbine.Turbine;
+import org.apache.turbine.om.security.User;
import org.apache.turbine.services.security.SecurityService;
import org.apache.turbine.services.security.TurbineSecurity;
import org.apache.turbine.test.BaseTurbineTest;
@@ -50,9 +56,35 @@ public class TestTorqueSecurity
public void testInit()
{
SecurityService ss = TurbineSecurity.getService();
-
- assertEquals("No Torque Security Service", ss.getClass(),
TorqueSecurityService.class);
- assertEquals("No Torque User Manager", ss.getUserManager().getClass(),
TorqueUserManager.class);
+ assertEquals("No Torque Security Service",
TorqueSecurityService.class, ss.getClass());
+ assertEquals("No Torque User Manager", TorqueUserManager.class,
ss.getUserManager().getClass());
assertTrue("Service failed to initialize", ss.getInit());
}
+
+ public void testAcccountExists() throws Throwable
+ {
+ List users = null;
+ assertTrue(TurbineSecurity.accountExists("user"));
+ Criteria criteria = new Criteria();
+ criteria.add(UserPeerManager.getNameColumn(), "user");
+ String query = BasePeer.createQueryString(criteria);
+ assertTrue(query.contains("FROM TURBINE_USER WHERE
TURBINE_USER.LOGIN_NAME='user'"));
+ for (Iterator keys = criteria.keySet().iterator(); keys.hasNext();) {
+ String key = (String) keys.next();
+ assertEquals("TURBINE_USER.LOGIN_NAME", key);
+ assertEquals("TURBINE_USER", UserPeerManager.getTableName());
+ Criteria.Criterion[] criterion = criteria.getCriterion(key)
+ .getAttachedCriterion();
+ assertTrue("one single condition exptected", criterion.length ==
1);
+ users = UserPeerManager.doSelect(criteria);
+ assertTrue("should be unique result", users.size() == 1);
+ for (Iterator userx = users.iterator(); userx.hasNext();) {
+ User usr = (User) userx.next();
+ assertTrue(usr != null);
+ assertTrue(usr instanceof TorqueObject);
+ assertTrue(usr.getName().equals("user"));
+ assertTrue(usr.getPassword().equals("user"));
+ }
+ }
+ }
}