Author: gk
Date: Thu Jul 13 10:21:58 2017
New Revision: 1801824
URL: http://svn.apache.org/viewvc?rev=1801824&view=rev
Log:
- integrate json service
- set up request tool example using json
- update readme
Added:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/services/
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/services/pull/
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/services/pull/RelatedTool.java
(with props)
Modified:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/docs/README.txt
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/pom.xml
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/modules/screens/Index.java
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/roleConfiguration.xml
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/templates/screens/TestSecure.vm
Modified:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/docs/README.txt
URL:
http://svn.apache.org/viewvc/turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/docs/README.txt?rev=1801824&r1=1801823&r2=1801824&view=diff
==============================================================================
---
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/docs/README.txt
(original)
+++
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/docs/README.txt
Thu Jul 13 10:21:58 2017
@@ -20,45 +20,49 @@ under the License.
Notice
About this archetype
-
+
Turbine Version: Turbine 4.0-M2.
-Quick Guide to using the new Turbine 4.0-M2 maven archetype
+# Quick Guide to using the new Turbine 4.0-M2 maven archetype
for skeleton application generation
+## Local database Setup
+
First, you should have a local database installed and configured prior to
beginning the application setup below.
-As we are using MySQL bey defautlt you need to create the database in MySQL,
e.g. with
+As we are using MySQL bey default you need to create the database in MySQL,
e.g. with
+
+mysql -u <user> -p
+mysql> create database helloWorld;
+mysql> \q
+
+or other tools. The database should have been started and the database user
granted enough rights.
- mysql -u <user> -p
- mysql> create database helloWorld;
- mysql> \q
+## Maven archetype
-or other tools.
-
Next, you can invoke the Maven archetype for turbine-webapp-4.0 from
the command line as shown below - please update values starting
with 'groupId' as appropriate.
mvn archetype:generate \
- -DarchetypeGroupId=org.apache.turbine \
- -DarchetypeArtifactId=turbine-webapp-4.0 \
- -DarchetypeVersion=1.0.1-SNAPSHOT \
- -DgroupId=com.mycompany.webapp \
- -DartifactId=myhelloworld \
- -Dversion=1.0 \
- -Dturbine_app_name=HelloWorld \
- -Dturbine_database_adapter=mysql \
- -Dturbine_database_user=db_username \
- -Dturbine_database_password=db_password \
- -Dturbine_database_name=helloworld \
- -Dturbine_database_url=jdbc:mysql://localhost:3306/ \
- -Dgoals=generate-sources,pre-integration-test
+ -DarchetypeGroupId=org.apache.turbine \
+ -DarchetypeArtifactId=turbine-webapp-4.0 \
+ -DarchetypeVersion=1.0.1-SNAPSHOT \
+ -DgroupId=com.mycompany.webapp \
+ -DartifactId=myhelloworld \
+ -Dversion=1.0 \
+ -Dturbine_app_name=HelloWorld \
+ -Dturbine_database_adapter=mysql \
+ -Dturbine_database_user=db_username \
+ -Dturbine_database_password=db_password \
+ -Dturbine_database_name=helloworld \
+ -Dturbine_database_url=jdbc:mysql://localhost:3306/ \
+ -Dgoals=generate-sources,pre-integration-test
-Notes
+### Notes
-When invoking archetype:generate like above, you already have set some mvn
commands and you can then skip them later.
+When invoking archetype:generate like above, you already have set Turbine
goals generate-sources,pre-integration-test and you can then skip them later.
Be aware, when you set both mvn commands goals (which are maven phases
actually), i.e with
@@ -67,63 +71,79 @@ Be aware, when you set both mvn commands
you have to create the database (see above) before finishing the (interactive)
archetype commands.
Otherwise you could catch up doing this later and after that is done calling
the phases afterwards as mentioned below.
+#### turbine_database_url
+
Note that the database URL (turbine_database_url)
will be appended with your database name
in the final pom.xml, so you do not need to specify that in
the configuration.
+## Project Start and Usage
+
Next, change into the newly generated project folder, in our case
cd myhelloworld
Skip next two steps, if the build was successfull
mvn generate-sources ## This will generate the OM layer and SQL
- ## code for creating the corresponding
- ## database tables
-
+ ## code for creating the corresponding
+ ## database tables
+
mvn integration-test ## This executes the SQL code to create
- ## the application schema defined
- ## in src/main/torque-schema
+ ## the application schema defined
+ ## in src/main/torque-schema
You should now check the database tables and if some data is missing
insert the sample data file in sample-mysql-data (Torque 4.0 has disabled the
datasql task).
+mvn clean install
+
+If you get an error like "The driver has not received any packets" probably
the database is not up and running or the port may be another one.
+
Last step on the command line is run the server by invoking
mvn jetty:run ## Now you can launch your new Turbine application
+### Logs
+
Find the Logs in src/main/webapp/logs and
+### Application
+
Open a web browser to http://localhost:8081/app
Login should work with user admin/password or user/password.
-Background:
+## Background
By default Intake is used as an validation mechanism for authentication. You
can change to the default login by setting
action.login=LoginUser in TurbineResources.properties and changing Login.vm
appropriately (commented form)
+## Eclipse
+
To enable application development in Eclipse, run the following command
and then import the project into Eclipse.
mvn eclipse:eclipse
Once imported, update your project to be managed by Maven
- -> Right click on the project name
- -> Configure
- -> Convert to Maven project
+-> Right click on the project name
+-> Configure
+-> Convert to Maven project
To test the application can be deployed by Eclipse, select the run
configuration "Run On Server" if you have a container configured with
your eclipse environment.
+### Eclipse Debugging
+
You even could debug the app by setting the environment variable to something
like this
set MAVEN_OPTS=-Xdebug
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
before running the jetty server.
-Starting developing
+## Starting developing
Be aware of settings and some smaller restrictions, which mostly will be fixed
in the upcoming releases.
Modified:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/pom.xml
URL:
http://svn.apache.org/viewvc/turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/pom.xml?rev=1801824&r1=1801823&r2=1801824&view=diff
==============================================================================
---
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/pom.xml
(original)
+++
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/pom.xml
Thu Jul 13 10:21:58 2017
@@ -285,24 +285,46 @@ under the License.
<artifactId>fulcrum-upload</artifactId>
<version>1.0.5</version>
</dependency>
- <!-- using snapshot, until released -->
<dependency>
<groupId>org.apache.fulcrum</groupId>
<artifactId>fulcrum-security-memory</artifactId>
- <version>1.1.1-SNAPSHOT</version>
+ <version>#var("fulcrum.security")</version>
</dependency>
- <!-- using snapshot, until released -->
<dependency>
<groupId>org.apache.fulcrum</groupId>
<artifactId>fulcrum-security-torque</artifactId>
- <version>1.1.1-SNAPSHOT</version>
- </dependency>
- <!-- using snapshots, could be removed if turbine is updated fro 1.1.0
to 1.1.1 -->
+ <version>#var("fulcrum.security")</version>
+ </dependency>
<dependency>
<groupId>org.apache.fulcrum</groupId>
<artifactId>fulcrum-security-api</artifactId>
- <version>1.1.1-SNAPSHOT</version>
+ <version>#var("fulcrum.security")</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.fulcrum</groupId>
+ <artifactId>fulcrum-json-jackson2</artifactId>
+ <version>#var("fulcrum.json")</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-json-org</artifactId>
+ <!-- version>$dollar{jackson.version}</version-->
+ <!-- 2.7.x has Java 7 baseline, but not compiled with Java 6 support
(version 51 error:), cft.
https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.7 Changes:
compatibility: .. should still be possible to use Jackson 2.7 on Java 6, but
not compile, build. With Jackson 2.8, Java 7 languages features will be allowed
-->
+ <version>2.6.6</version>
</dependency>
+ <!-- if activating useJsonPath include jayway dependency -->
+ <!-- dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path</artifactId>
+ <version>2.3.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>net.minidev</groupId>
+ <artifactId>json-smart</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency-->
+
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@@ -315,6 +337,8 @@ under the License.
<maven.compile.source>1.6</maven.compile.source>
<maven.compile.target>1.6</maven.compile.target>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
+ <fulcrum.json>1.1.1</fulcrum.json>
+ <fulcrum.security>1.1.1</fulcrum.security>
</properties>
</project>
Modified:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/modules/screens/Index.java
URL:
http://svn.apache.org/viewvc/turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/modules/screens/Index.java?rev=1801824&r1=1801823&r2=1801824&view=diff
==============================================================================
---
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/modules/screens/Index.java
(original)
+++
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/modules/screens/Index.java
Thu Jul 13 10:21:58 2017
@@ -18,16 +18,21 @@ package ${package}.modules.screens;
* under the License.
*#
+import org.apache.fulcrum.json.JsonService;
import org.apache.turbine.pipeline.PipelineData;
+import org.apache.turbine.services.TurbineServices;
import org.apache.velocity.context.Context;
import org.apache.turbine.modules.screens.VelocitySecureScreen;
+
/**
* This class provides the data required for displaying content in the
* Velocity page.
*/
public class Index extends VelocitySecureScreen
{
+
+ JsonService jsonService =
(JsonService)TurbineServices.getInstance().getService(JsonService.ROLE);
/**
* This method is called by the Turbine framework when the
* associated Velocity template, Index.vm is requested
Added:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/services/pull/RelatedTool.java
URL:
http://svn.apache.org/viewvc/turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/services/pull/RelatedTool.java?rev=1801824&view=auto
==============================================================================
---
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/services/pull/RelatedTool.java
(added)
+++
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/services/pull/RelatedTool.java
Thu Jul 13 10:21:58 2017
@@ -0,0 +1,127 @@
+package ${package}.services.pull;
+
+#*
+* 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.
+*#
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.fulcrum.json.JsonService;
+import org.apache.fulcrum.security.entity.Role;
+import org.apache.fulcrum.security.model.turbine.TurbineAccessControlList;
+import org.apache.fulcrum.security.util.RoleSet;
+import org.apache.turbine.om.security.User;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.pull.RunDataApplicationTool;
+import org.apache.turbine.util.RunData;
+import org.apache.turbine.services.security.SecurityService;
+
+
+public class RelatedTool implements RunDataApplicationTool {
+
+ /** Logging */
+ private static Log log = LogFactory.getLog(RelatedTool.class);
+
+ private RunData data = null;
+
+ @Override
+ public void init(Object data) {
+ this.data = (RunData) data;
+
+ }
+
+ @Override
+ public void refresh(RunData data) {
+ this.data = data;
+ }
+
+ public String getUserrole() {
+ try {
+ User user = data.getUser();
+ Role role = null;
+ if (user != null && user.getName() != null) {
+ log.info("reading role for: "+user.getName());
+ if (data.getACL() != null && data.getACL() instanceof
TurbineAccessControlList) {
+ RoleSet roles =
((TurbineAccessControlList)data.getACL()).getRoles();
+ if (roles.getSet().size() == 1) {
+ Role fulcrumRole = roles.getSet().iterator().next();
+ log.debug("acl role is: "+fulcrumRole.getName());
+ return fulcrumRole.getName();
+ }
+ } else {
+ SecurityService securityService = (SecurityService)
TurbineServices.getInstance().getService(SecurityService.SERVICE_NAME);
+ RoleSet roles = securityService.getAllRoles();
+ }
+ } else if (user != null) {
+ SecurityService securityService = (SecurityService)
TurbineServices.getInstance().getService(SecurityService.SERVICE_NAME);
+ role = securityService.getRoleByName("user");
+ //.retrieveRole("anon");
+ }
+ return (role != null)? role.getName(): null;
+ } catch (Exception e) {
+ log.error("DCRelatedLink - failure in reading role: ", e);
+ return null;
+ }
+ }
+
+ @SuppressWarnings( "unchecked" )
+ public <T> Object getJson(Object src, String className, String mixinCN,
Boolean refresh, String... props ) {
+ String result= null;
+ JsonService jsonService = (JsonService)TurbineServices
+ .getInstance().getService(JsonService.ROLE);
+ try
+ {
+ log.info( "refresh is:"+ refresh );
+ log.info( "jsonService:"+ jsonService );
+ log.info( "source class is:"+ className );
+ Class clazz = Class.forName(className);
+
+ if (props != null) {
+ log.info( "props length:"+ props.length);
+ for ( int i = 0; i < props.length; i++ )
+ {
+ log.debug( "props:"+ props[i]);
+
+ }
+ }
+ if (mixinCN != null ) {
+ Class mixin = Class.forName(mixinCN);
+ if (mixin != null ) {
+ Set<Class> mixins = new HashSet<Class>();
+ mixins.add( mixin );
+ log.info( "adding adapter mixinCN:"+ mixinCN);
+ jsonService.addAdapter( mixinCN, clazz, mixin );
+ }
+ }
+
+ String serialized = jsonService.serializeOnlyFilter( src, clazz,
refresh, props );
+ log.debug( "serialized:"+serialized );
+ return serialized;
+ }
+ catch ( Exception e )
+ {
+ log.error(e.getMessage(),e );
+ result = e.getMessage();
+ }
+ return result;
+ }
+
+}
Propchange:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/services/pull/RelatedTool.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties
URL:
http://svn.apache.org/viewvc/turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties?rev=1801824&r1=1801823&r2=1801824&view=diff
==============================================================================
---
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties
(original)
+++
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties
Thu Jul 13 10:21:58 2017
@@ -490,6 +490,8 @@ tool.session.sessionData=org.apache.turb
# These are intake tools.
tool.request.intake=org.apache.turbine.services.intake.IntakeTool
+tool.request.related=${package}.services.pull.RelatedTool
+
# This is a tool that allows access to the scheduler service.
# tool.request.scheduler=org.apache.turbine.services.SchedulerTool
Modified:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml
URL:
http://svn.apache.org/viewvc/turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml?rev=1801824&r1=1801823&r2=1801824&view=diff
==============================================================================
---
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml
(original)
+++
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/componentConfiguration.xml
Thu Jul 13 10:21:58 2017
@@ -47,13 +47,39 @@
<factory/>
<pool/>
<parser>
+ <!-- <urlCaseFolding>lower</urlCaseFolding> -->
<parameterEncoding>utf-8</parameterEncoding>
<automaticUpload>true</automaticUpload>
</parser>
+ <!-- defining specific inspectors -->
+ <json>
+ <annotationInspectors>
+
<primary>org.apache.fulcrum.json.jackson.SimpleNameIntrospector</primary>
+
<secondary>com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector</secondary>
+ <features>
+ <feature value="false"
type="com.fasterxml.jackson.databind.SerializationFeature">FAIL_ON_EMPTY_BEANS</feature>
+ <feature value="false"
type="com.fasterxml.jackson.databind.SerializationFeature">INDENT_OUTPUT</feature>
+ <feature value="true"
type="com.fasterxml.jackson.core.JsonParser">ALLOW_UNQUOTED_FIELD_NAMES</feature>
+ </features>
+ </annotationInspectors>
+ <dateFormat>MM/dd/yyyy</dateFormat>
+ <cacheFilters>true</cacheFilters>
+ <!-- security feature -->
+ <escapeCharsGlobal>true</escapeCharsGlobal>
+ <!-- escapeCharsClass>net.example.EscapeCharClass</escapeCharsClass
-->
+ <defaultTyping type="OBJECT_AND_NON_CONCRETE" key="type"/><!--
defaultTyping type="NON_FINAL" key="type"/-->
+ <!-- requires com.jayway dependency in pom -->
+ <!-- useJsonPath>true</useJsonPath -->
+ </json>
+
<upload repository="/tmp" sizeMax="1048576" sizeThreshold="10240"/>
<!-- These components belong to the Fulcrum-Security services -->
<securityService/>
<authenticator/>
+ <!-- <authenticator>
+ <algorithm>java</algorithm>
+ <cipher>SHA1</cipher> </authenticator> -->
+
<modelManager/>
<aclFactory/>
Modified:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/roleConfiguration.xml
URL:
http://svn.apache.org/viewvc/turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/roleConfiguration.xml?rev=1801824&r1=1801823&r2=1801824&view=diff
==============================================================================
---
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/roleConfiguration.xml
(original)
+++
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/roleConfiguration.xml
Thu Jul 13 10:21:58 2017
@@ -69,7 +69,13 @@
name="org.apache.fulcrum.parser.ParserService"
shorthand="parser"
default-class="org.apache.fulcrum.parser.DefaultParserService"/>
-
+
+ <!-- using Jackson as mapper by default -->
+ <role
+ name="org.apache.fulcrum.json.JsonService"
+ shorthand="json"
+ default-class="org.apache.fulcrum.json.jackson.Jackson2MapperService"/>
+
<role
name="org.apache.fulcrum.xslt.XSLTService"
shorthand="xslt"
@@ -106,30 +112,6 @@
name="org.apache.fulcrum.security.torque.peer.PeerManager"
shorthand="peerManager"
default-class="org.apache.fulcrum.security.torque.peer.PeerManagerDefaultImpl"/>
-
- <!-- optionally five memory managers : remove later and .. -->
- <!--
- <role
- name="org.apache.fulcrum.security.UserManager"
- shorthand="userManager"
- early-init="true"
-
default-class="org.apache.fulcrum.security.memory.turbine.MemoryTurbineUserManagerImpl"/>
-
- <role
- name="org.apache.fulcrum.security.GroupManager"
- shorthand="groupManager"
-
default-class="org.apache.fulcrum.security.memory.MemoryGroupManagerImpl"/>
-
- <role
- name="org.apache.fulcrum.security.RoleManager"
- shorthand="roleManager"
-
default-class="org.apache.fulcrum.security.memory.MemoryRoleManagerImpl"/>
-
- <role
- name="org.apache.fulcrum.security.PermissionManager"
- shorthand="permissionManager"
-
default-class="org.apache.fulcrum.security.memory.MemoryPermissionManagerImpl"/>
- -->
<role
name="org.apache.fulcrum.security.ModelManager"
@@ -146,11 +128,6 @@
shorthand="aclFactory"
default-class="org.apache.fulcrum.security.model.turbine.TurbineACLFactory"/>
-
- <!-- role
- name="org.apache.fulcrum.json.JsonService"
- shorthand="json"
-
default-class="org.apache.fulcrum.json.jackson.Jackson2MapperService"/-->
<!-- Add your services here -->
Modified:
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/templates/screens/TestSecure.vm
URL:
http://svn.apache.org/viewvc/turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/templates/screens/TestSecure.vm?rev=1801824&r1=1801823&r2=1801824&view=diff
==============================================================================
---
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/templates/screens/TestSecure.vm
(original)
+++
turbine/maven/archetypes/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/webapp/templates/screens/TestSecure.vm
Thu Jul 13 10:21:58 2017
@@ -3,3 +3,8 @@
#end
<h1> Secured Access Page </h1>
+
+
+ <p>
+ Role: $related.getUserrole()
+ </p>