You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by Gerhard Petracek <ge...@gmail.com> on 2012/07/24 11:49:08 UTC

Re: [16/20] git commit: added missing files

hi shane,

not ordered by priority:

#1
the java-se example-module should not contain web-app-examples -> please
move this example

#2
please create jira tickets for new or changed parts + use the issue
number/s in your commit-message.

#3
please re-visit your commit messages, before you push commits.

#4
every file needs a license header!

#5
please change your ide settings to avoid tabs (see [1])

regards,
gerhard

[1] http://s.apache.org/I2y



2012/7/24 <sb...@apache.org>

> added missing files
>
>
> Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
> Commit:
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/4bc36662
> Tree:
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/4bc36662
> Diff:
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/4bc36662
>
> Branch: refs/heads/master
> Commit: 4bc36662b9ad65b7d10f8ea150ea3f4bb0e73171
> Parents: 6f27b78
> Author: Shane Bryzak <sb...@gmail.com>
> Authored: Wed May 30 19:34:38 2012 +1000
> Committer: Shane Bryzak <sb...@gmail.com>
> Committed: Tue Jul 24 10:05:06 2012 +1000
>
> ----------------------------------------------------------------------
>  deltaspike/examples/security-console/pom.xml       |  111 ++++++
>  .../securityconsole/BasicAuthenticator.java        |   23 ++
>  .../src/main/resources/META-INF/beans.xml          |   23 ++
>  .../main/webapp/WEB-INF/templates/default.xhtml    |   38 ++
>  .../src/main/webapp/WEB-INF/web.xml                |   30 ++
>  .../security-console/src/main/webapp/home.xhtml    |   39 ++
>  .../security-console/src/main/webapp/index.html    |    5 +
>  .../security-console/src/main/webapp/menu.xhtml    |   27 ++
>  .../src/main/webapp/style/default.css              |   61 ++++
>  .../security/api/permission/Permission.java        |   54 +++
>  .../security/api/permission/PermissionManager.java |   29 ++
>  .../permission/annotations/CheckPermissions.java   |   39 ++
>  .../permission/annotations/RequiresPermission.java |   34 ++
>  .../spi/permission/PermissionResolver.java         |   43 +++
>  .../security/spi/permission/PermissionStore.java   |   51 +++
>  .../deltaspike/security/impl/DefaultIdentity.java  |   12 +
>  .../security/impl/idm/AbstractIdentityType.java    |   81 +++++
>  .../security/impl/idm/DefaultIdentityManager.java  |  272 +++++++++++++++
>  .../security/impl/idm/JPAIdentityStore.java        |  238 +++++++++++++
>  .../security/impl/idm/LDAPIdentityStore.java       |  238 +++++++++++++
>  .../deltaspike/security/impl/idm/SimpleGroup.java  |   54 +++
>  .../deltaspike/security/impl/idm/SimpleRole.java   |   40 +++
>  .../deltaspike/security/impl/idm/SimpleUser.java   |   85 +++++
>  .../security/impl/permission/PermissionMapper.java |   78 ++++
>  .../permission/PersistentPermissionResolver.java   |   45 +++
>  25 files changed, 1750 insertions(+), 0 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/pom.xml
> ----------------------------------------------------------------------
> diff --git a/deltaspike/examples/security-console/pom.xml
> b/deltaspike/examples/security-console/pom.xml
> new file mode 100644
> index 0000000..f96daf7
> --- /dev/null
> +++ b/deltaspike/examples/security-console/pom.xml
> @@ -0,0 +1,111 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
> http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd
> ">
> +<!--
> +    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.
> +-->
> +    <modelVersion>4.0.0</modelVersion>
> +
> +    <parent>
> +        <groupId>org.apache.deltaspike.examples</groupId>
> +        <artifactId>jse-examples-project</artifactId>
> +        <version>0.3-incubating-SNAPSHOT</version>
> +    </parent>
> +
> +    <groupId>org.apache.deltaspike.examples</groupId>
> +    <artifactId>security-console</artifactId>
> +
> +    <name>Apache DeltaSpike Security Console Example</name>
> +
> +    <packaging>war</packaging>
> +
> +    <dependencies>
> +
> +        <!-- DeltaSpike modules -->
> +        <dependency>
> +            <groupId>org.apache.deltaspike.core</groupId>
> +            <artifactId>deltaspike-core-api</artifactId>
> +            <scope>compile</scope>
> +        </dependency>
> +
> +        <dependency>
> +            <groupId>org.apache.deltaspike.core</groupId>
> +            <artifactId>deltaspike-core-impl</artifactId>
> +            <scope>runtime</scope>
> +        </dependency>
> +
> +        <dependency>
> +            <groupId>org.apache.deltaspike.modules</groupId>
> +            <artifactId>deltaspike-security-module-api</artifactId>
> +            <scope>compile</scope>
> +        </dependency>
> +
> +        <dependency>
> +            <groupId>org.apache.deltaspike.modules</groupId>
> +            <artifactId>deltaspike-security-module-impl</artifactId>
> +            <scope>runtime</scope>
> +        </dependency>
> +
> +    </dependencies>
> +
> +    <profiles>
> +        <profile>
> +            <id>OWB</id>
> +            <dependencies>
> +                <dependency>
> +                    <groupId>org.apache.openwebbeans</groupId>
> +                    <artifactId>openwebbeans-impl</artifactId>
> +                    <scope>compile</scope>
> +                </dependency>
> +
> +                <dependency>
> +                    <groupId>org.apache.openwebbeans</groupId>
> +                    <artifactId>openwebbeans-spi</artifactId>
> +                    <scope>compile</scope>
> +                </dependency>
> +
> +                <dependency>
> +                    <groupId>org.apache.deltaspike.cdictrl</groupId>
> +                    <artifactId>deltaspike-cdictrl-owb</artifactId>
> +                    <scope>runtime</scope>
> +                </dependency>
> +            </dependencies>
> +        </profile>
> +        <profile>
> +            <id>Weld</id>
> +            <dependencies>
> +                <dependency>
> +                    <groupId>org.apache.deltaspike.cdictrl</groupId>
> +                    <artifactId>deltaspike-cdictrl-weld</artifactId>
> +                    <scope>runtime</scope>
> +                </dependency>
> +
> +                <dependency>
> +                    <groupId>org.jboss.weld.se</groupId>
> +                    <artifactId>weld-se</artifactId>
> +                    <version>${weld.version}</version>
> +                    <scope>runtime</scope>
> +                </dependency>
> +            </dependencies>
> +        </profile>
> +    </profiles>
> +
> +    <build>
> +        <finalName>security-console</finalName>
> +    </build>
> +</project>
> +
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> b/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> new file mode 100644
> index 0000000..e58d319
> --- /dev/null
> +++
> b/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> @@ -0,0 +1,23 @@
> +package org.apache.deltaspike.example.securityconsole;
> +
> +import javax.inject.Inject;
> +
> +import org.apache.deltaspike.security.api.User;
> +import org.apache.deltaspike.security.api.credential.LoginCredential;
> +import
> org.apache.deltaspike.security.spi.authentication.BaseAuthenticator;
> +
> +public class BasicAuthenticator extends BaseAuthenticator
> +{
> +    @Inject
> +    private LoginCredential loginCredential;
> +
> +    public void authenticate()
> +    {
> +        if ("shane".equals(loginCredential.getUserId()) &&
> +
>  "password".equals(loginCredential.getCredential().getValue()))
> +        {
> +            setUser(new User("shane"));
> +            setStatus(AuthenticationStatus.SUCCESS);
> +        }
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> b/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> new file mode 100644
> index 0000000..4070730
> --- /dev/null
> +++
> b/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> @@ -0,0 +1,23 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +    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.
> +-->
> +<beans xmlns="http://java.sun.com/xml/ns/javaee"
> +       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
> +</beans>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> new file mode 100644
> index 0000000..1010f7a
> --- /dev/null
> +++
> b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> @@ -0,0 +1,38 @@
> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> +        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> +<html xmlns="http://www.w3.org/1999/xhtml"
> +      xmlns:h="http://java.sun.com/jsf/html"
> +      xmlns:ui="http://java.sun.com/jsf/facelets">
> +<h:head>
> +    <title>DeltaSpike Example - Security Console</title>
> +    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
> +    <link rel="stylesheet" href="style/default.css" type="text/css"
> media="screen"/>
> +</h:head>
> +<h:body>
> +    <div id="container">
> +        <div id="header">
> +            <div id="title">
> +                Security Console
> +            </div>
> +
> +            <div id="headerMenu">
> +                <h:form>
> +                    <ui:fragment rendered="#{identity.loggedIn}">
> +                        Welcome, #{identity.user.id}!<br/>
> +                        <a href="changepassword.jsf">Change
> password</a><span> | </span>
> +                        <h:commandLink value="Log out"
> action="#{identity.logout}"/>
> +                    </ui:fragment>
> +                </h:form>
> +            </div>
> +        </div>
> +
> +        <div id="sidebar">
> +            <ui:insert name="sidebar"/>
> +        </div>
> +
> +        <div id="content">
> +            <ui:insert name="content"/>
> +        </div>
> +    </div>
> +</h:body>
> +</html>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml
> b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml
> new file mode 100644
> index 0000000..11f6635
> --- /dev/null
> +++ b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml
> @@ -0,0 +1,30 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<web-app version="3.0"
> +         xmlns="http://java.sun.com/xml/ns/javaee"
> +         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +         xsi:schemaLocation="
> +      http://java.sun.com/xml/ns/javaee
> +      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
> +
> +    <!-- Activate the JSF 2.0 servlet -->
> +    <!-- The JSF servlet declaration and mapping are not required for
> GlassFish V3 -->
> +    <servlet>
> +        <servlet-name>Faces Servlet</servlet-name>
> +        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
> +        <load-on-startup>1</load-on-startup>
> +    </servlet>
> +
> +    <!-- Tell the context which URLs to process as facelets.  -->
> +    <servlet-mapping>
> +        <servlet-name>Faces Servlet</servlet-name>
> +        <url-pattern>*.jsf</url-pattern>
> +    </servlet-mapping>
> +
> +    <!-- This is an optional parameter, but it makes troubleshooting
> errors much easier -->
> +    <!-- You are advised to delete this context parameter before a
> production deployment -->
> +    <context-param>
> +        <param-name>facelets.DEVELOPMENT</param-name>
> +        <param-value>true</param-value>
> +    </context-param>
> +
> +</web-app>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> b/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> new file mode 100644
> index 0000000..c8ae064
> --- /dev/null
> +++ b/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> @@ -0,0 +1,39 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<ui:composition xmlns="http://www.w3.org/1999/xhtml"
> +                xmlns:ui="http://java.sun.com/jsf/facelets"
> +                xmlns:f="http://java.sun.com/jsf/core"
> +                xmlns:h="http://java.sun.com/jsf/html"
> +                template="/WEB-INF/templates/default.xhtml">
> +
> +    <ui:define name="sidebar">
> +        <ui:include src="menu.xhtml"/>
> +    </ui:define>
> +
> +    <ui:define name="content">
> +        <p>This example demonstrates DeltaSpike's security features.</p>
> +
> +        <h:form id="loginForm" rendered="#{not identity.loggedIn}">
> +            <h:messages id="messages" globalOnly="true"/>
> +
> +            <div class="loginRow">
> +                <h:outputLabel for="name" value="Username"
> styleClass="loginLabel"/>
> +                <h:inputText id="name"
> value="#{loginCredentials.userId}"/>
> +            </div>
> +
> +            <div class="loginRow">
> +                <h:outputLabel for="password" value="Password"
> styleClass="loginLabel"/>
> +                <h:inputSecret id="password"
> value="#{loginCredentials.password}" redisplay="true"/>
> +            </div>
> +
> +            <div class="buttons">
> +                <h:commandButton id="login" value="LOGIN"
> action="#{identity.login}" styleClass="loginButton"/>
> +            </div>
> +
> +            Tip: you can login with a username/password of demo/demo.
> +
> +        </h:form>
> +
> +        <br style="clear:both"/>
> +
> +    </ui:define>
> +</ui:composition>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/index.html
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/examples/security-console/src/main/webapp/index.html
> b/deltaspike/examples/security-console/src/main/webapp/index.html
> new file mode 100644
> index 0000000..c54885e
> --- /dev/null
> +++ b/deltaspike/examples/security-console/src/main/webapp/index.html
> @@ -0,0 +1,5 @@
> +<html>
> +<head>
> +    <meta http-equiv="Refresh" content="0; URL=home.jsf">
> +</head>
> +</html>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> b/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> new file mode 100644
> index 0000000..daaa7ec
> --- /dev/null
> +++ b/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> @@ -0,0 +1,27 @@
> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> +<html xmlns="http://www.w3.org/1999/xhtml"
> +      xmlns:h="http://java.sun.com/jsf/html"
> +      xmlns:f="http://java.sun.com/jsf/core"
> +      xmlns:ui="http://java.sun.com/jsf/facelets">
> +
> +<ui:composition>
> +
> +    <div class="menuitem">
> +        <a href="home.jsf">Home</a>
> +    </div>
> +
> +    <div class="menuitem">
> +        <a href="manageusers.jsf">Manage users</a>
> +    </div>
> +
> +    <div class="menuitem">
> +        <a href="managegroups.jsf">Manage groups</a>
> +    </div>
> +
> +    <div class="menuitem">
> +        <a href="manageroletypes.jsf">Manage role types</a>
> +    </div>
> +
> +</ui:composition>
> +
> +</html>
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/style/default.css
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/examples/security-console/src/main/webapp/style/default.css
> b/deltaspike/examples/security-console/src/main/webapp/style/default.css
> new file mode 100644
> index 0000000..653c97d
> --- /dev/null
> +++
> b/deltaspike/examples/security-console/src/main/webapp/style/default.css
> @@ -0,0 +1,61 @@
> +body {
> +    margin: 0;
> +    padding: 0;
> +    background-color: #5c6066;
> +    font-family: Verdana, sans-serif;
> +    font-size: 0.9em;
> +}
> +
> +div#header {
> +    height: 80px;
> +    background-color: #eeeeee;
> +}
> +
> +div#headerMenu {
> +    float: right;
> +}
> +
> +div#title {
> +    padding-top: 22px;
> +    font-size: 22px;
> +    font-weight: bold;
> +    margin-left: 180px;
> +}
> +
> +div#container {
> +    margin: 0px auto;
> +    padding: 2px 2px 2px 4px;
> +    border: 1px solid #666666;
> +    width: 865px;
> +    background: #FFFFFF;
> +}
> +
> +div#sidebar {
> +    font-size: 0.9em;
> +    width: 160px;
> +    float: left;
> +    border: 1px solid #666666;
> +    background: #EAECEE;
> +    padding: 4px 4px 24px 4px;
> +    margin-top: 8px;
> +}
> +
> +div#content {
> +    padding: 4px 4px 4px 4px;
> +    margin-left: 180px;
> +}
> +
> +div.menuitem a {
> +    font-weight: bold;
> +    text-decoration: none;
> +}
> +
> +input.newuser {
> +    background: url(btn_newuser.png) top left no-repeat;
> +    height: 39px;
> +    width: 113px;
> +    margin: 4px 4px 4px 4px;
> +    border: 0px;
> +    cursor: pointer;
> +}
> +
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> new file mode 100644
> index 0000000..4221eed
> --- /dev/null
> +++
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> @@ -0,0 +1,54 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.api.permission;
> +
> +import org.apache.deltaspike.security.api.idm.IdentityType;
> +
> +/**
> + * Represents a specific permission grant for a domain object
> + *
> + */
> +public class Permission
> +{
> +    private Object resource;
> +    private IdentityType recipient;
> +    private String permission;
> +
> +    public Permission(Object resource, IdentityType recipient, String
> permission)
> +    {
> +        this.resource = resource;
> +        this.recipient = recipient;
> +        this.permission = permission;
> +    }
> +
> +    public Object getResource()
> +    {
> +        return resource;
> +    }
> +
> +    public IdentityType getRecipient()
> +    {
> +        return recipient;
> +    }
> +
> +    public String getPermission()
> +    {
> +        return permission;
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> new file mode 100644
> index 0000000..e1e87ae
> --- /dev/null
> +++
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> @@ -0,0 +1,29 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.api.permission;
> +
> +/**
> + * Manages user permissions.
> + *
> + */
> +public interface PermissionManager
> +{
> +
> +
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> new file mode 100644
> index 0000000..b2d9542
> --- /dev/null
> +++
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> @@ -0,0 +1,39 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.api.permission.annotations;
> +
> +import static java.lang.annotation.ElementType.METHOD;
> +import static java.lang.annotation.RetentionPolicy.RUNTIME;
> +
> +import java.lang.annotation.Documented;
> +import java.lang.annotation.Retention;
> +import java.lang.annotation.Target;
> +
> +import
> org.apache.deltaspike.security.api.authorization.annotation.SecurityBindingType;
> +
> +@Target({ METHOD })
> +@Retention(RUNTIME)
> +@Documented
> +
> +//cdi annotations
> +@SecurityBindingType
> +public @interface CheckPermissions
> +{
> +
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> new file mode 100644
> index 0000000..7428b9b
> --- /dev/null
> +++
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> @@ -0,0 +1,34 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.api.permission.annotations;
> +
> +import static java.lang.annotation.ElementType.PARAMETER;
> +import static java.lang.annotation.RetentionPolicy.RUNTIME;
> +
> +import java.lang.annotation.Documented;
> +import java.lang.annotation.Retention;
> +import java.lang.annotation.Target;
> +
> +@Target({ PARAMETER })
> +@Retention(RUNTIME)
> +@Documented
> +public @interface RequiresPermission
> +{
> +    String value() default "";
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> new file mode 100644
> index 0000000..739f107
> --- /dev/null
> +++
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> @@ -0,0 +1,43 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.spi.permission;
> +
> +import java.io.Serializable;
> +
> +/**
> + * A PermissionResolver may be used to determine access restrictions for
> application resources. For every
> + * permission check the application performs, the hasPermission() method
> of each known PermissionResolver
> + * is invoked. For the permission check to succeed, at least one
> PermissionResolver must return a result of
> + * PermissionStatus.ALLOW.  If any PermissionResolver returns a result of
> PermissionStatus.DENY, the
> + * permission check is unsuccessful and the user is not allowed to carry
> out the requested operation.
> + * If a PermissionResolver does not explicitly allow or deny the
> permission, it should return a result of
> + * PermissionStatus.NOT_APPLICABLE.
> + *
> + */
> +public interface PermissionResolver
> +{
> +    public enum PermissionStatus
> +    {
> +        ALLOW, DENY, NOT_APPLICABLE
> +    }
> +
> +    PermissionStatus hasPermission(Object resource, String operation);
> +
> +    PermissionStatus hasPermission(Class<?> resourceClass, Serializable
> identifier, String operation);
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> new file mode 100644
> index 0000000..a0c547f
> --- /dev/null
> +++
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> @@ -0,0 +1,51 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.spi.permission;
> +
> +import java.util.List;
> +import java.util.Set;
> +
> +import org.apache.deltaspike.security.api.permission.Permission;
> +
> +/**
> + *
> + *
> + */
> +public interface PermissionStore
> +{
> +    List<Permission> listPermissions(Object target);
> +
> +    List<Permission> listPermissions(Object target, String action);
> +
> +    List<Permission> listPermissions(Set<Object> targets, String action);
> +
> +    boolean grantPermission(Permission permission);
> +
> +    boolean grantPermissions(List<Permission> permissions);
> +
> +    boolean revokePermission(Permission permission);
> +
> +    boolean revokePermissions(List<Permission> permissions);
> +
> +    List<String> listAvailableActions(Object target);
> +
> +    void clearPermissions(Object target);
> +
> +    boolean isEnabled();
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> index 050cc41..1cb7b1b 100644
> ---
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> @@ -22,6 +22,10 @@ import java.io.Serializable;
>
>  import org.apache.deltaspike.core.util.ExceptionUtils;
>  import org.apache.deltaspike.security.api.Identity;
> +<<<<<<< HEAD
> +=======
> +import org.apache.deltaspike.security.api.User;
> +>>>>>>> added missing files
>  import
> org.apache.deltaspike.security.api.authentication.AuthenticationException;
>  import
> org.apache.deltaspike.security.api.authentication.UnexpectedCredentialException;
>  import
> org.apache.deltaspike.security.api.authentication.event.AlreadyLoggedInEvent;
> @@ -31,8 +35,12 @@ import
> org.apache.deltaspike.security.api.authentication.event.PostAuthenticateE
>  import
> org.apache.deltaspike.security.api.authentication.event.PostLoggedOutEvent;
>  import
> org.apache.deltaspike.security.api.authentication.event.PreAuthenticateEvent;
>  import
> org.apache.deltaspike.security.api.authentication.event.PreLoggedOutEvent;
> +<<<<<<< HEAD
>  import org.apache.deltaspike.security.api.credential.LoginCredentials;
>  import org.apache.deltaspike.security.api.idm.User;
> +=======
> +import org.apache.deltaspike.security.api.credential.LoginCredential;
> +>>>>>>> added missing files
>  import org.apache.deltaspike.security.spi.authentication.Authenticator;
>  import
> org.apache.deltaspike.security.spi.authentication.Authenticator.AuthenticationStatus;
>  import
> org.apache.deltaspike.security.spi.authentication.AuthenticatorSelector;
> @@ -62,7 +70,11 @@ public class DefaultIdentity implements Identity
>
>      @Inject
>      @SuppressWarnings("NonSerializableFieldInSerializableClass")
> +<<<<<<< HEAD
>      private LoginCredentials loginCredential;
> +=======
> +    private LoginCredential loginCredential;
> +>>>>>>> added missing files
>
>      /**
>       * Flag indicating whether we are currently authenticating
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> new file mode 100644
> index 0000000..bbb3521
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> @@ -0,0 +1,81 @@
> +package org.apache.deltaspike.security.impl.idm;
> +
> +import java.util.Date;
> +import java.util.HashMap;
> +import java.util.Map;
> +
> +import org.apache.deltaspike.security.api.idm.IdentityType;
> +
> +/**
> + * Abstract base class for IdentityType implementations
> + */
> +public abstract class AbstractIdentityType implements IdentityType
> +{
> +    private String key;
> +    private boolean enabled = true;
> +    private Date creationDate = null;
> +    private Date expirationDate = null;
> +    private Map<String,String[]> attributes = new
> HashMap<String,String[]>();
> +
> +    @Override
> +    public String getKey()
> +    {
> +        return this.key;
> +    }
> +
> +    @Override
> +    public boolean isEnabled()
> +    {
> +        return this.enabled;
> +    }
> +
> +    @Override
> +    public Date getExpirationDate()
> +    {
> +        return this.expirationDate;
> +    }
> +
> +    @Override
> +    public Date getCreationDate()
> +    {
> +        return this.creationDate;
> +    }
> +
> +    @Override
> +    public void setAttribute(String name, String value)
> +    {
> +        attributes.put(name, new String[]{value});
> +    }
> +
> +    @Override
> +    public void setAttribute(String name, String[] values)
> +    {
> +        attributes.put(name,  values);
> +    }
> +
> +    @Override
> +    public void removeAttribute(String name)
> +    {
> +        attributes.remove(name);
> +    }
> +
> +    @Override
> +    public String getAttribute(String name)
> +    {
> +        String[] vals = attributes.get(name);
> +        return null == vals ? null : ((vals.length != 0) ? vals[0] :
> null);
> +    }
> +
> +    @Override
> +    public String[] getAttributeValues(String name)
> +    {
> +        return attributes.get(name);
> +    }
> +
> +    @Override
> +    public Map<String, String[]> getAttributes()
> +    {
> +        return java.util.Collections.unmodifiableMap(attributes);
> +    }
> +
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> new file mode 100644
> index 0000000..752a371
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> @@ -0,0 +1,272 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.impl.idm;
> +
> +import java.util.Collection;
> +import java.util.Date;
> +
> +import org.apache.deltaspike.security.api.idm.Group;
> +import org.apache.deltaspike.security.api.idm.GroupQuery;
> +import org.apache.deltaspike.security.api.idm.IdentityManager;
> +import org.apache.deltaspike.security.api.idm.IdentityType;
> +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> +import org.apache.deltaspike.security.api.idm.Role;
> +import org.apache.deltaspike.security.api.idm.RoleQuery;
> +import org.apache.deltaspike.security.api.idm.User;
> +import org.apache.deltaspike.security.api.idm.UserQuery;
> +
> +/**
> + * Default implementation of the IdentityManager interface
> + *
> + */
> +public class DefaultIdentityManager implements IdentityManager
> +{
> +
> +    @Override
> +    public User createUser(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeUser(User user)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeUser(String name)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public User getUser(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Collection<User> getAllUsers()
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Group createGroup(String id)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Group createGroup(String id, Group parent)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Group createGroup(String id, String parent)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeGroup(Group group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeGroup(String groupId)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Group getGroup(String groupId)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Group getGroup(String groupId, Group parent)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Collection<Group> getAllGroups()
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void addToGroup(IdentityType identityType, Group group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeFromGroup(IdentityType identityType, Group group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Collection<IdentityType> getGroupMembers(Group group)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Role createRole(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeRole(Role role)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeRole(String name)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Role getRole(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Collection<Role> getAllRoles()
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Collection<Role> getRoles(IdentityType identityType, Group
> group)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public boolean hasRole(Role role, IdentityType identityType, Group
> group)
> +    {
> +        // TODO Auto-generated method stub
> +        return false;
> +    }
> +
> +    @Override
> +    public void grantRole(Role role, IdentityType identityType, Group
> group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void revokeRole(Role role, IdentityType identityType, Group
> group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public UserQuery createUserQuery()
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public GroupQuery createGroupQuery()
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public RoleQuery createRoleQuery()
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public MembershipQuery createMembershipQuery()
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public boolean validatePassword(String password)
> +    {
> +        // TODO Auto-generated method stub
> +        return false;
> +    }
> +
> +    @Override
> +    public void updatePassword(String password)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void setEnabled(IdentityType identityType, boolean enabled)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void setExpirationDate(IdentityType identityType, Date
> expirationDate)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> new file mode 100644
> index 0000000..040b9e9
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> @@ -0,0 +1,238 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.impl.idm;
> +
> +import java.util.List;
> +import java.util.Map;
> +
> +import org.apache.deltaspike.security.api.idm.Group;
> +import org.apache.deltaspike.security.api.idm.GroupQuery;
> +import org.apache.deltaspike.security.api.idm.Membership;
> +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> +import org.apache.deltaspike.security.api.idm.Range;
> +import org.apache.deltaspike.security.api.idm.Role;
> +import org.apache.deltaspike.security.api.idm.RoleQuery;
> +import org.apache.deltaspike.security.api.idm.User;
> +import org.apache.deltaspike.security.api.idm.UserQuery;
> +import org.apache.deltaspike.security.spi.idm.IdentityStore;
> +
> +/**
> + * An implementation of IdentityStore backed by a JPA datasource
> + *
> + */
> +public class JPAIdentityStore implements IdentityStore
> +{
> +
> +    @Override
> +    public User createUser(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeUser(User user)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public User getUser(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Group createGroup(String name, Group parent)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeGroup(Group group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Group getGroup(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Role createRole(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeRole(Role role)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Role getRole(String role)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Membership createMembership(Role role, User user, Group group)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeMembership(Role role, User user, Group group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Membership getMembership(Role role, User user, Group group)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public List<User> executeQuery(UserQuery query, Range range)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public List<Group> executeQuery(GroupQuery query, Range range)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public List<Role> executeQuery(RoleQuery query, Range range)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public List<Membership> executeQuery(MembershipQuery query, Range
> range)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void setAttribute(User user, String name, String[] values)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeAttribute(User user, String name)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public String[] getAttributeValues(User user, String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Map<String, String[]> getAttributes(User user)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void setAttribute(Group group, String name, String[] values)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeAttribute(Group group, String name)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public String[] getAttributeValues(Group group, String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Map<String, String[]> getAttributes(Group group)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void setAttribute(Role role, String name, String[] values)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeAttribute(Role role, String name)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public String[] getAttributeValues(Role role, String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Map<String, String[]> getAttributes(Role role)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> new file mode 100644
> index 0000000..ba6581c
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> @@ -0,0 +1,238 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.impl.idm;
> +
> +import java.util.List;
> +import java.util.Map;
> +
> +import org.apache.deltaspike.security.api.idm.Group;
> +import org.apache.deltaspike.security.api.idm.GroupQuery;
> +import org.apache.deltaspike.security.api.idm.Membership;
> +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> +import org.apache.deltaspike.security.api.idm.Range;
> +import org.apache.deltaspike.security.api.idm.Role;
> +import org.apache.deltaspike.security.api.idm.RoleQuery;
> +import org.apache.deltaspike.security.api.idm.User;
> +import org.apache.deltaspike.security.api.idm.UserQuery;
> +import org.apache.deltaspike.security.spi.idm.IdentityStore;
> +
> +/**
> + * An IdentityStore implementation backed by an LDAP directory
> + *
> + */
> +public class LDAPIdentityStore implements IdentityStore
> +{
> +
> +    @Override
> +    public User createUser(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeUser(User user)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public User getUser(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Group createGroup(String name, Group parent)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeGroup(Group group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Group getGroup(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Role createRole(String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeRole(Role role)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Role getRole(String role)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Membership createMembership(Role role, User user, Group group)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void removeMembership(Role role, User user, Group group)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public Membership getMembership(Role role, User user, Group group)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public List<User> executeQuery(UserQuery query, Range range)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public List<Group> executeQuery(GroupQuery query, Range range)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public List<Role> executeQuery(RoleQuery query, Range range)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public List<Membership> executeQuery(MembershipQuery query, Range
> range)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void setAttribute(User user, String name, String[] values)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeAttribute(User user, String name)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public String[] getAttributeValues(User user, String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Map<String, String[]> getAttributes(User user)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void setAttribute(Group group, String name, String[] values)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeAttribute(Group group, String name)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public String[] getAttributeValues(Group group, String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Map<String, String[]> getAttributes(Group group)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public void setAttribute(Role role, String name, String[] values)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public void removeAttribute(Role role, String name)
> +    {
> +        // TODO Auto-generated method stub
> +
> +    }
> +
> +    @Override
> +    public String[] getAttributeValues(Role role, String name)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +    @Override
> +    public Map<String, String[]> getAttributes(Role role)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> new file mode 100644
> index 0000000..3ad4089
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> @@ -0,0 +1,54 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.impl.idm;
> +
> +import org.apache.deltaspike.security.api.idm.Group;
> +
> +/**
> + * Simple implementation of the Group interface
> + *
> + */
> +public class SimpleGroup extends AbstractIdentityType implements Group
> +{
> +    private String id;
> +    private String name;
> +    private Group parentGroup;
> +
> +    public SimpleGroup(String id, String name, Group parentGroup)
> +    {
> +        this.id = id;
> +        this.name = name;
> +        this.parentGroup = parentGroup;
> +    }
> +
> +    public String getId()
> +    {
> +        return id;
> +    }
> +
> +    public String getName()
> +    {
> +        return name;
> +    }
> +
> +    public Group getParentGroup()
> +    {
> +        return parentGroup;
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> new file mode 100644
> index 0000000..457a17d
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> @@ -0,0 +1,40 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.impl.idm;
> +
> +import org.apache.deltaspike.security.api.idm.Role;
> +
> +/**
> + * Simple implementation of the Role interface
> + */
> +public class SimpleRole extends AbstractIdentityType implements Role
> +{
> +    private String name;
> +
> +    public SimpleRole(String name)
> +    {
> +        this.name = name;
> +    }
> +
> +    public String getName()
> +    {
> +        return name;
> +    }
> +
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> new file mode 100644
> index 0000000..f0dd9b7
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> @@ -0,0 +1,85 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.impl.idm;
> +
> +import org.apache.deltaspike.security.api.idm.User;
> +
> +/**
> + * A simple User implementation
> + */
> +public class SimpleUser extends AbstractIdentityType implements User
> +{
> +    private String id;
> +    private String firstName;
> +    private String lastName;
> +    private String email;
> +
> +    public SimpleUser(String id)
> +    {
> +        this.id = id;
> +    }
> +
> +    @Override
> +    public String getId()
> +    {
> +        return id;
> +    }
> +
> +    @Override
> +    public String getFirstName()
> +    {
> +        return firstName;
> +    }
> +
> +    @Override
> +    public void setFirstName(String firstName)
> +    {
> +        this.firstName = firstName;
> +    }
> +
> +    @Override
> +    public String getLastName()
> +    {
> +        return lastName;
> +    }
> +
> +    @Override
> +    public void setLastName(String lastName)
> +    {
> +        this.lastName = lastName;
> +    }
> +
> +    @Override
> +    public String getFullName()
> +    {
> +        return String.format("%s %s", firstName, lastName);
> +    }
> +
> +    @Override
> +    public String getEmail()
> +    {
> +        return email;
> +    }
> +
> +    @Override
> +    public void setEmail(String email)
> +    {
> +        this.email = email;
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> new file mode 100644
> index 0000000..5168b15
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> @@ -0,0 +1,78 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.impl.permission;
> +
> +import java.io.Serializable;
> +
> +import javax.enterprise.inject.Instance;
> +import javax.inject.Inject;
> +
> +import org.apache.deltaspike.security.spi.permission.PermissionResolver;
> +import
> org.apache.deltaspike.security.spi.permission.PermissionResolver.PermissionStatus;
> +
> +/**
> + * Uses the available PermissionResolver instances to determine whether
> an application permission
> + * is to be allowed or denied.
> + *
> + */
> +public class PermissionMapper
> +{
> +    @Inject
> +    private Instance<PermissionResolver> resolvers;
> +
> +    public boolean resolvePermission(Object resource, String operation)
> +    {
> +        boolean permit = false;
> +
> +        for (PermissionResolver resolver : resolvers)
> +        {
> +            PermissionStatus status = resolver.hasPermission(resource,
> operation);
> +            if (PermissionStatus.ALLOW.equals(status))
> +            {
> +                permit = true;
> +            }
> +            else if (PermissionStatus.DENY.equals(status))
> +            {
> +                return false;
> +            }
> +        }
> +
> +        return permit;
> +    }
> +
> +    public boolean resolvePermission(Class<?> resourceClass, Serializable
> identifier, String operation)
> +    {
> +        boolean permit = false;
> +
> +        for (PermissionResolver resolver : resolvers)
> +        {
> +            PermissionStatus status =
> resolver.hasPermission(resourceClass, identifier, operation);
> +            if (PermissionStatus.ALLOW.equals(status))
> +            {
> +                permit = true;
> +            }
> +            else if (PermissionStatus.DENY.equals(status))
> +            {
> +                return false;
> +            }
> +        }
> +
> +        return permit;
> +    }
> +}
>
>
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> ----------------------------------------------------------------------
> diff --git
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> new file mode 100644
> index 0000000..3cb7194
> --- /dev/null
> +++
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> @@ -0,0 +1,45 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +package org.apache.deltaspike.security.impl.permission;
> +
> +import java.io.Serializable;
> +
> +import org.apache.deltaspike.security.spi.permission.PermissionResolver;
> +
> +/**
> + * A PermissionResolver implementation that provides ACL-style object
> permissions, backed by a database.
> + *
> + */
> +public class PersistentPermissionResolver implements PermissionResolver
> +{
> +
> +    public PermissionStatus hasPermission(Object resource, String
> operation)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +
> +    public PermissionStatus hasPermission(Class<?> resourceClass,
> Serializable identifier, String operation)
> +    {
> +        // TODO Auto-generated method stub
> +        return null;
> +    }
> +
> +}
>
>

Re: [16/20] git commit: added missing files

Posted by Gerhard Petracek <ge...@gmail.com>.
hi bruno,

some of the changes are blockers we have to resolve before v0.3 (also other
commits are affected).

regards,
gerhard



2012/7/24 Bruno Oliveira <br...@abstractj.org>

> Morning guys.
>
> When will these changes take effect in 0.3 or 0.4 release?
>
> --
> "The measure of a man is what he does with power" - Plato
> -
> @abstractj
> -
> Volenti Nihil Difficile
>
>
>
> On Tuesday, July 24, 2012 at 6:49 AM, Gerhard Petracek wrote:
>
> > hi shane,
> >
> > not ordered by priority:
> >
> > #1
> > the java-se example-module should not contain web-app-examples -> please
> > move this example
> >
> > #2
> > please create jira tickets for new or changed parts + use the issue
> > number/s in your commit-message.
> >
> > #3
> > please re-visit your commit messages, before you push commits.
> >
> > #4
> > every file needs a license header!
> >
> > #5
> > please change your ide settings to avoid tabs (see [1])
> >
> > regards,
> > gerhard
> >
> > [1] http://s.apache.org/I2y
> >
> >
> >
> > 2012/7/24 <sbryzak@apache.org (mailto:sbryzak@apache.org)>
> >
> > > added missing files
> > >
> > >
> > > Project:
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
> > > Commit:
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/4bc36662
> > > Tree:
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/4bc36662
> > > Diff:
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/4bc36662
> > >
> > > Branch: refs/heads/master
> > > Commit: 4bc36662b9ad65b7d10f8ea150ea3f4bb0e73171
> > > Parents: 6f27b78
> > > Author: Shane Bryzak <sbryzak@gmail.com (mailto:sbryzak@gmail.com)>
> > > Authored: Wed May 30 19:34:38 2012 +1000
> > > Committer: Shane Bryzak <sbryzak@gmail.com (mailto:sbryzak@gmail.com)>
> > > Committed: Tue Jul 24 10:05:06 2012 +1000
> > >
> > > ----------------------------------------------------------------------
> > > deltaspike/examples/security-console/pom.xml | 111 ++++++
> > > .../securityconsole/BasicAuthenticator.java | 23 ++
> > > .../src/main/resources/META-INF/beans.xml | 23 ++
> > > .../main/webapp/WEB-INF/templates/default.xhtml | 38 ++
> > > .../src/main/webapp/WEB-INF/web.xml (http://web.xml) | 30 ++
> > > .../security-console/src/main/webapp/home.xhtml | 39 ++
> > > .../security-console/src/main/webapp/index.html | 5 +
> > > .../security-console/src/main/webapp/menu.xhtml | 27 ++
> > > .../src/main/webapp/style/default.css | 61 ++++
> > > .../security/api/permission/Permission.java | 54 +++
> > > .../security/api/permission/PermissionManager.java | 29 ++
> > > .../permission/annotations/CheckPermissions.java | 39 ++
> > > .../permission/annotations/RequiresPermission.java | 34 ++
> > > .../spi/permission/PermissionResolver.java | 43 +++
> > > .../security/spi/permission/PermissionStore.java | 51 +++
> > > .../deltaspike/security/impl/DefaultIdentity.java | 12 +
> > > .../security/impl/idm/AbstractIdentityType.java | 81 +++++
> > > .../security/impl/idm/DefaultIdentityManager.java | 272 +++++++++++++++
> > > .../security/impl/idm/JPAIdentityStore.java | 238 +++++++++++++
> > > .../security/impl/idm/LDAPIdentityStore.java | 238 +++++++++++++
> > > .../deltaspike/security/impl/idm/SimpleGroup.java | 54 +++
> > > .../deltaspike/security/impl/idm/SimpleRole.java | 40 +++
> > > .../deltaspike/security/impl/idm/SimpleUser.java | 85 +++++
> > > .../security/impl/permission/PermissionMapper.java | 78 ++++
> > > .../permission/PersistentPermissionResolver.java | 45 +++
> > > 25 files changed, 1750 insertions(+), 0 deletions(-)
> > > ----------------------------------------------------------------------
> > >
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/pom.xml
> > > ----------------------------------------------------------------------
> > > diff --git a/deltaspike/examples/security-console/pom.xml
> > > b/deltaspike/examples/security-console/pom.xml
> > > new file mode 100644
> > > index 0000000..f96daf7
> > > --- /dev/null
> > > +++ b/deltaspike/examples/security-console/pom.xml
> > > @@ -0,0 +1,111 @@
> > > +<?xml version="1.0" encoding="UTF-8"?>
> > > +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
> > > http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
> > > http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/maven-v4_0_0.xsd
> > > ">
> > > +<!--
> > > + 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.
> > > +-->
> > > + <modelVersion>4.0.0</modelVersion>
> > > +
> > > + <parent>
> > > + <groupId>org.apache.deltaspike.examples</groupId>
> > > + <artifactId>jse-examples-project</artifactId>
> > > + <version>0.3-incubating-SNAPSHOT</version>
> > > + </parent>
> > > +
> > > + <groupId>org.apache.deltaspike.examples</groupId>
> > > + <artifactId>security-console</artifactId>
> > > +
> > > + <name>Apache DeltaSpike Security Console Example</name>
> > > +
> > > + <packaging>war</packaging>
> > > +
> > > + <dependencies>
> > > +
> > > + <!-- DeltaSpike modules -->
> > > + <dependency>
> > > + <groupId>org.apache.deltaspike.core</groupId>
> > > + <artifactId>deltaspike-core-api</artifactId>
> > > + <scope>compile</scope>
> > > + </dependency>
> > > +
> > > + <dependency>
> > > + <groupId>org.apache.deltaspike.core</groupId>
> > > + <artifactId>deltaspike-core-impl</artifactId>
> > > + <scope>runtime</scope>
> > > + </dependency>
> > > +
> > > + <dependency>
> > > + <groupId>org.apache.deltaspike.modules</groupId>
> > > + <artifactId>deltaspike-security-module-api</artifactId>
> > > + <scope>compile</scope>
> > > + </dependency>
> > > +
> > > + <dependency>
> > > + <groupId>org.apache.deltaspike.modules</groupId>
> > > + <artifactId>deltaspike-security-module-impl</artifactId>
> > > + <scope>runtime</scope>
> > > + </dependency>
> > > +
> > > + </dependencies>
> > > +
> > > + <profiles>
> > > + <profile>
> > > + <id>OWB</id>
> > > + <dependencies>
> > > + <dependency>
> > > + <groupId>org.apache.openwebbeans</groupId>
> > > + <artifactId>openwebbeans-impl</artifactId>
> > > + <scope>compile</scope>
> > > + </dependency>
> > > +
> > > + <dependency>
> > > + <groupId>org.apache.openwebbeans</groupId>
> > > + <artifactId>openwebbeans-spi</artifactId>
> > > + <scope>compile</scope>
> > > + </dependency>
> > > +
> > > + <dependency>
> > > + <groupId>org.apache.deltaspike.cdictrl</groupId>
> > > + <artifactId>deltaspike-cdictrl-owb</artifactId>
> > > + <scope>runtime</scope>
> > > + </dependency>
> > > + </dependencies>
> > > + </profile>
> > > + <profile>
> > > + <id>Weld</id>
> > > + <dependencies>
> > > + <dependency>
> > > + <groupId>org.apache.deltaspike.cdictrl</groupId>
> > > + <artifactId>deltaspike-cdictrl-weld</artifactId>
> > > + <scope>runtime</scope>
> > > + </dependency>
> > > +
> > > + <dependency>
> > > + <groupId>org.jboss.weld.se (http://org.jboss.weld.se)</groupId>
> > > + <artifactId>weld-se</artifactId>
> > > + <version>${weld.version}</version>
> > > + <scope>runtime</scope>
> > > + </dependency>
> > > + </dependencies>
> > > + </profile>
> > > + </profiles>
> > > +
> > > + <build>
> > > + <finalName>security-console</finalName>
> > > + </build>
> > > +</project>
> > > +
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> > >
> b/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> > > new file mode 100644
> > > index 0000000..e58d319
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> > > @@ -0,0 +1,23 @@
> > > +package org.apache.deltaspike.example.securityconsole;
> > > +
> > > +import javax.inject.Inject;
> > > +
> > > +import org.apache.deltaspike.security.api.User;
> > > +import org.apache.deltaspike.security.api.credential.LoginCredential;
> > > +import
> > > org.apache.deltaspike.security.spi.authentication.BaseAuthenticator;
> > > +
> > > +public class BasicAuthenticator extends BaseAuthenticator
> > > +{
> > > + @Inject
> > > + private LoginCredential loginCredential;
> > > +
> > > + public void authenticate()
> > > + {
> > > + if ("shane".equals(loginCredential.getUserId()) &&
> > > +
> > > "password".equals(loginCredential.getCredential().getValue()))
> > > + {
> > > + setUser(new User("shane"));
> > > + setStatus(AuthenticationStatus.SUCCESS);
> > > + }
> > > + }
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> > >
> b/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> > > new file mode 100644
> > > index 0000000..4070730
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> > > @@ -0,0 +1,23 @@
> > > +<?xml version="1.0" encoding="UTF-8"?>
> > > +<!--
> > > + 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.
> > > +-->
> > > +<beans xmlns="http://java.sun.com/xml/ns/javaee"
> > > + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> > > http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
> > > +</beans>
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> > >
> b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> > > new file mode 100644
> > > index 0000000..1010f7a
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> > > @@ -0,0 +1,38 @@
> > > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> > > + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> > > +<html xmlns="http://www.w3.org/1999/xhtml"
> > > + xmlns:h="http://java.sun.com/jsf/html"
> > > + xmlns:ui="http://java.sun.com/jsf/facelets">
> > > +<h:head>
> > > + <title>DeltaSpike Example - Security Console</title>
> > > + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
> > > + <link rel="stylesheet" href="style/default.css" type="text/css"
> > > media="screen"/>
> > > +</h:head>
> > > +<h:body>
> > > + <div id="container">
> > > + <div id="header">
> > > + <div id="title">
> > > + Security Console
> > > + </div>
> > > +
> > > + <div id="headerMenu">
> > > + <h:form>
> > > + <ui:fragment rendered="#{identity.loggedIn}">
> > > + Welcome, #{identity.user.id}!<br/>
> > > + <a href="changepassword.jsf">Change
> > > password</a><span> | </span>
> > > + <h:commandLink value="Log out"
> > > action="#{identity.logout}"/>
> > > + </ui:fragment>
> > > + </h:form>
> > > + </div>
> > > + </div>
> > > +
> > > + <div id="sidebar">
> > > + <ui:insert name="sidebar"/>
> > > + </div>
> > > +
> > > + <div id="content">
> > > + <ui:insert name="content"/>
> > > + </div>
> > > + </div>
> > > +</h:body>
> > > +</html>
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml
> > > ----------------------------------------------------------------------
> > > diff --git
> > > a/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml
> (http://web.xml)
> > > b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml
> (http://web.xml)
> > > new file mode 100644
> > > index 0000000..11f6635
> > > --- /dev/null
> > > +++
> b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml (
> http://web.xml)
> > > @@ -0,0 +1,30 @@
> > > +<?xml version="1.0" encoding="UTF-8"?>
> > > +<web-app version="3.0"
> > > + xmlns="http://java.sun.com/xml/ns/javaee"
> > > + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > + xsi:schemaLocation="
> > > + http://java.sun.com/xml/ns/javaee
> > > + http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
> > > +
> > > + <!-- Activate the JSF 2.0 servlet -->
> > > + <!-- The JSF servlet declaration and mapping are not required for
> > > GlassFish V3 -->
> > > + <servlet>
> > > + <servlet-name>Faces Servlet</servlet-name>
> > > + <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
> > > + <load-on-startup>1</load-on-startup>
> > > + </servlet>
> > > +
> > > + <!-- Tell the context which URLs to process as facelets. -->
> > > + <servlet-mapping>
> > > + <servlet-name>Faces Servlet</servlet-name>
> > > + <url-pattern>*.jsf</url-pattern>
> > > + </servlet-mapping>
> > > +
> > > + <!-- This is an optional parameter, but it makes troubleshooting
> > > errors much easier -->
> > > + <!-- You are advised to delete this context parameter before a
> > > production deployment -->
> > > + <context-param>
> > > + <param-name>facelets.DEVELOPMENT</param-name>
> > > + <param-value>true</param-value>
> > > + </context-param>
> > > +
> > > +</web-app>
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> > > ----------------------------------------------------------------------
> > > diff --git
> > > a/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> > > b/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> > > new file mode 100644
> > > index 0000000..c8ae064
> > > --- /dev/null
> > > +++ b/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> > > @@ -0,0 +1,39 @@
> > > +<?xml version="1.0" encoding="UTF-8"?>
> > > +<ui:composition xmlns="http://www.w3.org/1999/xhtml"
> > > + xmlns:ui="http://java.sun.com/jsf/facelets"
> > > + xmlns:f="http://java.sun.com/jsf/core"
> > > + xmlns:h="http://java.sun.com/jsf/html"
> > > + template="/WEB-INF/templates/default.xhtml">
> > > +
> > > + <ui:define name="sidebar">
> > > + <ui:include src="menu.xhtml"/>
> > > + </ui:define>
> > > +
> > > + <ui:define name="content">
> > > + <p>This example demonstrates DeltaSpike's security features.</p>
> > > +
> > > + <h:form id="loginForm" rendered="#{not identity.loggedIn}">
> > > + <h:messages id="messages" globalOnly="true"/>
> > > +
> > > + <div class="loginRow">
> > > + <h:outputLabel for="name" value="Username"
> > > styleClass="loginLabel"/>
> > > + <h:inputText id="name"
> > > value="#{loginCredentials.userId}"/>
> > > + </div>
> > > +
> > > + <div class="loginRow">
> > > + <h:outputLabel for="password" value="Password"
> > > styleClass="loginLabel"/>
> > > + <h:inputSecret id="password"
> > > value="#{loginCredentials.password}" redisplay="true"/>
> > > + </div>
> > > +
> > > + <div class="buttons">
> > > + <h:commandButton id="login" value="LOGIN"
> > > action="#{identity.login}" styleClass="loginButton"/>
> > > + </div>
> > > +
> > > + Tip: you can login with a username/password of demo/demo.
> > > +
> > > + </h:form>
> > > +
> > > + <br style="clear:both"/>
> > > +
> > > + </ui:define>
> > > +</ui:composition>
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/index.html
> > > ----------------------------------------------------------------------
> > > diff --git
> > > a/deltaspike/examples/security-console/src/main/webapp/index.html
> > > b/deltaspike/examples/security-console/src/main/webapp/index.html
> > > new file mode 100644
> > > index 0000000..c54885e
> > > --- /dev/null
> > > +++ b/deltaspike/examples/security-console/src/main/webapp/index.html
> > > @@ -0,0 +1,5 @@
> > > +<html>
> > > +<head>
> > > + <meta http-equiv="Refresh" content="0; URL=home.jsf">
> > > +</head>
> > > +</html>
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> > > ----------------------------------------------------------------------
> > > diff --git
> > > a/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> > > b/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> > > new file mode 100644
> > > index 0000000..daaa7ec
> > > --- /dev/null
> > > +++ b/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> > > @@ -0,0 +1,27 @@
> > > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> > > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> > > +<html xmlns="http://www.w3.org/1999/xhtml"
> > > + xmlns:h="http://java.sun.com/jsf/html"
> > > + xmlns:f="http://java.sun.com/jsf/core"
> > > + xmlns:ui="http://java.sun.com/jsf/facelets">
> > > +
> > > +<ui:composition>
> > > +
> > > + <div class="menuitem">
> > > + <a href="home.jsf">Home</a>
> > > + </div>
> > > +
> > > + <div class="menuitem">
> > > + <a href="manageusers.jsf">Manage users</a>
> > > + </div>
> > > +
> > > + <div class="menuitem">
> > > + <a href="managegroups.jsf">Manage groups</a>
> > > + </div>
> > > +
> > > + <div class="menuitem">
> > > + <a href="manageroletypes.jsf">Manage role types</a>
> > > + </div>
> > > +
> > > +</ui:composition>
> > > +
> > > +</html>
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/style/default.css
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/examples/security-console/src/main/webapp/style/default.css
> > >
> b/deltaspike/examples/security-console/src/main/webapp/style/default.css
> > > new file mode 100644
> > > index 0000000..653c97d
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/examples/security-console/src/main/webapp/style/default.css
> > > @@ -0,0 +1,61 @@
> > > +body {
> > > + margin: 0;
> > > + padding: 0;
> > > + background-color: #5c6066;
> > > + font-family: Verdana, sans-serif;
> > > + font-size: 0.9em;
> > > +}
> > > +
> > > +div#header {
> > > + height: 80px;
> > > + background-color: #eeeeee;
> > > +}
> > > +
> > > +div#headerMenu {
> > > + float: right;
> > > +}
> > > +
> > > +div#title {
> > > + padding-top: 22px;
> > > + font-size: 22px;
> > > + font-weight: bold;
> > > + margin-left: 180px;
> > > +}
> > > +
> > > +div#container {
> > > + margin: 0px auto;
> > > + padding: 2px 2px 2px 4px;
> > > + border: 1px solid #666666;
> > > + width: 865px;
> > > + background: #FFFFFF;
> > > +}
> > > +
> > > +div#sidebar {
> > > + font-size: 0.9em;
> > > + width: 160px;
> > > + float: left;
> > > + border: 1px solid #666666;
> > > + background: #EAECEE;
> > > + padding: 4px 4px 24px 4px;
> > > + margin-top: 8px;
> > > +}
> > > +
> > > +div#content {
> > > + padding: 4px 4px 4px 4px;
> > > + margin-left: 180px;
> > > +}
> > > +
> > > +div.menuitem a {
> > > + font-weight: bold;
> > > + text-decoration: none;
> > > +}
> > > +
> > > +input.newuser {
> > > + background: url(btn_newuser.png) top left no-repeat;
> > > + height: 39px;
> > > + width: 113px;
> > > + margin: 4px 4px 4px 4px;
> > > + border: 0px;
> > > + cursor: pointer;
> > > +}
> > > +
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> > > new file mode 100644
> > > index 0000000..4221eed
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> > > @@ -0,0 +1,54 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.api.permission;
> > > +
> > > +import org.apache.deltaspike.security.api.idm.IdentityType;
> > > +
> > > +/**
> > > + * Represents a specific permission grant for a domain object
> > > + *
> > > + */
> > > +public class Permission
> > > +{
> > > + private Object resource;
> > > + private IdentityType recipient;
> > > + private String permission;
> > > +
> > > + public Permission(Object resource, IdentityType recipient, String
> > > permission)
> > > + {
> > > + this.resource = resource;
> > > + this.recipient = recipient;
> > > + this.permission = permission;
> > > + }
> > > +
> > > + public Object getResource()
> > > + {
> > > + return resource;
> > > + }
> > > +
> > > + public IdentityType getRecipient()
> > > + {
> > > + return recipient;
> > > + }
> > > +
> > > + public String getPermission()
> > > + {
> > > + return permission;
> > > + }
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> > > new file mode 100644
> > > index 0000000..e1e87ae
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> > > @@ -0,0 +1,29 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.api.permission;
> > > +
> > > +/**
> > > + * Manages user permissions.
> > > + *
> > > + */
> > > +public interface PermissionManager
> > > +{
> > > +
> > > +
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> > > new file mode 100644
> > > index 0000000..b2d9542
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> > > @@ -0,0 +1,39 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.api.permission.annotations;
> > > +
> > > +import static java.lang.annotation.ElementType.METHOD;
> > > +import static java.lang.annotation.RetentionPolicy.RUNTIME;
> > > +
> > > +import java.lang.annotation.Documented;
> > > +import java.lang.annotation.Retention;
> > > +import java.lang.annotation.Target;
> > > +
> > > +import
> > >
> org.apache.deltaspike.security.api.authorization.annotation.SecurityBindingType;
> > > +
> > > +@Target({ METHOD })
> > > +@Retention(RUNTIME)
> > > +@Documented
> > > +
> > > +//cdi annotations
> > > +@SecurityBindingType
> > > +public @interface CheckPermissions
> > > +{
> > > +
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> > > new file mode 100644
> > > index 0000000..7428b9b
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> > > @@ -0,0 +1,34 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.api.permission.annotations;
> > > +
> > > +import static java.lang.annotation.ElementType.PARAMETER;
> > > +import static java.lang.annotation.RetentionPolicy.RUNTIME;
> > > +
> > > +import java.lang.annotation.Documented;
> > > +import java.lang.annotation.Retention;
> > > +import java.lang.annotation.Target;
> > > +
> > > +@Target({ PARAMETER })
> > > +@Retention(RUNTIME)
> > > +@Documented
> > > +public @interface RequiresPermission
> > > +{
> > > + String value() default "";
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> > > new file mode 100644
> > > index 0000000..739f107
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> > > @@ -0,0 +1,43 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.spi.permission;
> > > +
> > > +import java.io.Serializable;
> > > +
> > > +/**
> > > + * A PermissionResolver may be used to determine access restrictions
> for
> > > application resources. For every
> > > + * permission check the application performs, the hasPermission()
> method
> > > of each known PermissionResolver
> > > + * is invoked. For the permission check to succeed, at least one
> > > PermissionResolver must return a result of
> > > + * PermissionStatus.ALLOW. If any PermissionResolver returns a result
> of
> > > PermissionStatus.DENY, the
> > > + * permission check is unsuccessful and the user is not allowed to
> carry
> > > out the requested operation.
> > > + * If a PermissionResolver does not explicitly allow or deny the
> > > permission, it should return a result of
> > > + * PermissionStatus.NOT_APPLICABLE.
> > > + *
> > > + */
> > > +public interface PermissionResolver
> > > +{
> > > + public enum PermissionStatus
> > > + {
> > > + ALLOW, DENY, NOT_APPLICABLE
> > > + }
> > > +
> > > + PermissionStatus hasPermission(Object resource, String operation);
> > > +
> > > + PermissionStatus hasPermission(Class<?> resourceClass, Serializable
> > > identifier, String operation);
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> > > new file mode 100644
> > > index 0000000..a0c547f
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> > > @@ -0,0 +1,51 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.spi.permission;
> > > +
> > > +import java.util.List;
> > > +import java.util.Set;
> > > +
> > > +import org.apache.deltaspike.security.api.permission.Permission;
> > > +
> > > +/**
> > > + *
> > > + *
> > > + */
> > > +public interface PermissionStore
> > > +{
> > > + List<Permission> listPermissions(Object target);
> > > +
> > > + List<Permission> listPermissions(Object target, String action);
> > > +
> > > + List<Permission> listPermissions(Set<Object> targets, String action);
> > > +
> > > + boolean grantPermission(Permission permission);
> > > +
> > > + boolean grantPermissions(List<Permission> permissions);
> > > +
> > > + boolean revokePermission(Permission permission);
> > > +
> > > + boolean revokePermissions(List<Permission> permissions);
> > > +
> > > + List<String> listAvailableActions(Object target);
> > > +
> > > + void clearPermissions(Object target);
> > > +
> > > + boolean isEnabled();
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > > index 050cc41..1cb7b1b 100644
> > > ---
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > > @@ -22,6 +22,10 @@ import java.io.Serializable;
> > >
> > > import org.apache.deltaspike.core.util.ExceptionUtils;
> > > import org.apache.deltaspike.security.api.Identity;
> > > +<<<<<<< HEAD
> > > +=======
> > > +import org.apache.deltaspike.security.api.User;
> > > +>>>>>>> added missing files
> > > import
> > >
> org.apache.deltaspike.security.api.authentication.AuthenticationException;
> > > import
> > >
> org.apache.deltaspike.security.api.authentication.UnexpectedCredentialException;
> > > import
> > >
> org.apache.deltaspike.security.api.authentication.event.AlreadyLoggedInEvent;
> > > @@ -31,8 +35,12 @@ import
> > >
> org.apache.deltaspike.security.api.authentication.event.PostAuthenticateE
> > > import
> > >
> org.apache.deltaspike.security.api.authentication.event.PostLoggedOutEvent;
> > > import
> > >
> org.apache.deltaspike.security.api.authentication.event.PreAuthenticateEvent;
> > > import
> > >
> org.apache.deltaspike.security.api.authentication.event.PreLoggedOutEvent;
> > > +<<<<<<< HEAD
> > > import org.apache.deltaspike.security.api.credential.LoginCredentials;
> > > import org.apache.deltaspike.security.api.idm.User;
> > > +=======
> > > +import org.apache.deltaspike.security.api.credential.LoginCredential;
> > > +>>>>>>> added missing files
> > > import org.apache.deltaspike.security.spi.authentication.Authenticator;
> > > import
> > >
> org.apache.deltaspike.security.spi.authentication.Authenticator.AuthenticationStatus;
> > > import
> > >
> org.apache.deltaspike.security.spi.authentication.AuthenticatorSelector;
> > > @@ -62,7 +70,11 @@ public class DefaultIdentity implements Identity
> > >
> > > @Inject
> > > @SuppressWarnings("NonSerializableFieldInSerializableClass")
> > > +<<<<<<< HEAD
> > > private LoginCredentials loginCredential;
> > > +=======
> > > + private LoginCredential loginCredential;
> > > +>>>>>>> added missing files
> > >
> > > /**
> > > * Flag indicating whether we are currently authenticating
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> > > new file mode 100644
> > > index 0000000..bbb3521
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> > > @@ -0,0 +1,81 @@
> > > +package org.apache.deltaspike.security.impl.idm;
> > > +
> > > +import java.util.Date;
> > > +import java.util.HashMap;
> > > +import java.util.Map;
> > > +
> > > +import org.apache.deltaspike.security.api.idm.IdentityType;
> > > +
> > > +/**
> > > + * Abstract base class for IdentityType implementations
> > > + */
> > > +public abstract class AbstractIdentityType implements IdentityType
> > > +{
> > > + private String key;
> > > + private boolean enabled = true;
> > > + private Date creationDate = null;
> > > + private Date expirationDate = null;
> > > + private Map<String,String[]> attributes = new
> > > HashMap<String,String[]>();
> > > +
> > > + @Override
> > > + public String getKey()
> > > + {
> > > + return this.key;
> > > + }
> > > +
> > > + @Override
> > > + public boolean isEnabled()
> > > + {
> > > + return this.enabled;
> > > + }
> > > +
> > > + @Override
> > > + public Date getExpirationDate()
> > > + {
> > > + return this.expirationDate;
> > > + }
> > > +
> > > + @Override
> > > + public Date getCreationDate()
> > > + {
> > > + return this.creationDate;
> > > + }
> > > +
> > > + @Override
> > > + public void setAttribute(String name, String value)
> > > + {
> > > + attributes.put(name, new String[]{value});
> > > + }
> > > +
> > > + @Override
> > > + public void setAttribute(String name, String[] values)
> > > + {
> > > + attributes.put(name, values);
> > > + }
> > > +
> > > + @Override
> > > + public void removeAttribute(String name)
> > > + {
> > > + attributes.remove(name);
> > > + }
> > > +
> > > + @Override
> > > + public String getAttribute(String name)
> > > + {
> > > + String[] vals = attributes.get(name);
> > > + return null == vals ? null : ((vals.length != 0) ? vals[0] :
> > > null);
> > > + }
> > > +
> > > + @Override
> > > + public String[] getAttributeValues(String name)
> > > + {
> > > + return attributes.get(name);
> > > + }
> > > +
> > > + @Override
> > > + public Map<String, String[]> getAttributes()
> > > + {
> > > + return java.util.Collections.unmodifiableMap(attributes);
> > > + }
> > > +
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> > > new file mode 100644
> > > index 0000000..752a371
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> > > @@ -0,0 +1,272 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.impl.idm;
> > > +
> > > +import java.util.Collection;
> > > +import java.util.Date;
> > > +
> > > +import org.apache.deltaspike.security.api.idm.Group;
> > > +import org.apache.deltaspike.security.api.idm.GroupQuery;
> > > +import org.apache.deltaspike.security.api.idm.IdentityManager;
> > > +import org.apache.deltaspike.security.api.idm.IdentityType;
> > > +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> > > +import org.apache.deltaspike.security.api.idm.Role;
> > > +import org.apache.deltaspike.security.api.idm.RoleQuery;
> > > +import org.apache.deltaspike.security.api.idm.User;
> > > +import org.apache.deltaspike.security.api.idm.UserQuery;
> > > +
> > > +/**
> > > + * Default implementation of the IdentityManager interface
> > > + *
> > > + */
> > > +public class DefaultIdentityManager implements IdentityManager
> > > +{
> > > +
> > > + @Override
> > > + public User createUser(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeUser(User user)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeUser(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public User getUser(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Collection<User> getAllUsers()
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Group createGroup(String id)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Group createGroup(String id, Group parent)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Group createGroup(String id, String parent)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeGroup(Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeGroup(String groupId)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Group getGroup(String groupId)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Group getGroup(String groupId, Group parent)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Collection<Group> getAllGroups()
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void addToGroup(IdentityType identityType, Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeFromGroup(IdentityType identityType, Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Collection<IdentityType> getGroupMembers(Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Role createRole(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeRole(Role role)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeRole(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Role getRole(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Collection<Role> getAllRoles()
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Collection<Role> getRoles(IdentityType identityType, Group
> > > group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public boolean hasRole(Role role, IdentityType identityType, Group
> > > group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return false;
> > > + }
> > > +
> > > + @Override
> > > + public void grantRole(Role role, IdentityType identityType, Group
> > > group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void revokeRole(Role role, IdentityType identityType, Group
> > > group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public UserQuery createUserQuery()
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public GroupQuery createGroupQuery()
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public RoleQuery createRoleQuery()
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public MembershipQuery createMembershipQuery()
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public boolean validatePassword(String password)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return false;
> > > + }
> > > +
> > > + @Override
> > > + public void updatePassword(String password)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void setEnabled(IdentityType identityType, boolean enabled)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void setExpirationDate(IdentityType identityType, Date
> > > expirationDate)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> > > new file mode 100644
> > > index 0000000..040b9e9
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> > > @@ -0,0 +1,238 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.impl.idm;
> > > +
> > > +import java.util.List;
> > > +import java.util.Map;
> > > +
> > > +import org.apache.deltaspike.security.api.idm.Group;
> > > +import org.apache.deltaspike.security.api.idm.GroupQuery;
> > > +import org.apache.deltaspike.security.api.idm.Membership;
> > > +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> > > +import org.apache.deltaspike.security.api.idm.Range;
> > > +import org.apache.deltaspike.security.api.idm.Role;
> > > +import org.apache.deltaspike.security.api.idm.RoleQuery;
> > > +import org.apache.deltaspike.security.api.idm.User;
> > > +import org.apache.deltaspike.security.api.idm.UserQuery;
> > > +import org.apache.deltaspike.security.spi.idm.IdentityStore;
> > > +
> > > +/**
> > > + * An implementation of IdentityStore backed by a JPA datasource
> > > + *
> > > + */
> > > +public class JPAIdentityStore implements IdentityStore
> > > +{
> > > +
> > > + @Override
> > > + public User createUser(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeUser(User user)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public User getUser(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Group createGroup(String name, Group parent)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeGroup(Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Group getGroup(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Role createRole(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeRole(Role role)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Role getRole(String role)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Membership createMembership(Role role, User user, Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeMembership(Role role, User user, Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Membership getMembership(Role role, User user, Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public List<User> executeQuery(UserQuery query, Range range)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public List<Group> executeQuery(GroupQuery query, Range range)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public List<Role> executeQuery(RoleQuery query, Range range)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public List<Membership> executeQuery(MembershipQuery query, Range
> > > range)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void setAttribute(User user, String name, String[] values)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeAttribute(User user, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public String[] getAttributeValues(User user, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Map<String, String[]> getAttributes(User user)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void setAttribute(Group group, String name, String[] values)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeAttribute(Group group, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public String[] getAttributeValues(Group group, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Map<String, String[]> getAttributes(Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void setAttribute(Role role, String name, String[] values)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeAttribute(Role role, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public String[] getAttributeValues(Role role, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Map<String, String[]> getAttributes(Role role)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> > > new file mode 100644
> > > index 0000000..ba6581c
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> > > @@ -0,0 +1,238 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.impl.idm;
> > > +
> > > +import java.util.List;
> > > +import java.util.Map;
> > > +
> > > +import org.apache.deltaspike.security.api.idm.Group;
> > > +import org.apache.deltaspike.security.api.idm.GroupQuery;
> > > +import org.apache.deltaspike.security.api.idm.Membership;
> > > +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> > > +import org.apache.deltaspike.security.api.idm.Range;
> > > +import org.apache.deltaspike.security.api.idm.Role;
> > > +import org.apache.deltaspike.security.api.idm.RoleQuery;
> > > +import org.apache.deltaspike.security.api.idm.User;
> > > +import org.apache.deltaspike.security.api.idm.UserQuery;
> > > +import org.apache.deltaspike.security.spi.idm.IdentityStore;
> > > +
> > > +/**
> > > + * An IdentityStore implementation backed by an LDAP directory
> > > + *
> > > + */
> > > +public class LDAPIdentityStore implements IdentityStore
> > > +{
> > > +
> > > + @Override
> > > + public User createUser(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeUser(User user)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public User getUser(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Group createGroup(String name, Group parent)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeGroup(Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Group getGroup(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Role createRole(String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeRole(Role role)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Role getRole(String role)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Membership createMembership(Role role, User user, Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void removeMembership(Role role, User user, Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public Membership getMembership(Role role, User user, Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public List<User> executeQuery(UserQuery query, Range range)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public List<Group> executeQuery(GroupQuery query, Range range)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public List<Role> executeQuery(RoleQuery query, Range range)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public List<Membership> executeQuery(MembershipQuery query, Range
> > > range)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void setAttribute(User user, String name, String[] values)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeAttribute(User user, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public String[] getAttributeValues(User user, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Map<String, String[]> getAttributes(User user)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void setAttribute(Group group, String name, String[] values)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeAttribute(Group group, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public String[] getAttributeValues(Group group, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Map<String, String[]> getAttributes(Group group)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public void setAttribute(Role role, String name, String[] values)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public void removeAttribute(Role role, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > +
> > > + }
> > > +
> > > + @Override
> > > + public String[] getAttributeValues(Role role, String name)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > + @Override
> > > + public Map<String, String[]> getAttributes(Role role)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> > > new file mode 100644
> > > index 0000000..3ad4089
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> > > @@ -0,0 +1,54 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.impl.idm;
> > > +
> > > +import org.apache.deltaspike.security.api.idm.Group;
> > > +
> > > +/**
> > > + * Simple implementation of the Group interface
> > > + *
> > > + */
> > > +public class SimpleGroup extends AbstractIdentityType implements Group
> > > +{
> > > + private String id;
> > > + private String name;
> > > + private Group parentGroup;
> > > +
> > > + public SimpleGroup(String id, String name, Group parentGroup)
> > > + {
> > > + this.id = id;
> > > + this.name (http://this.name) = name;
> > > + this.parentGroup = parentGroup;
> > > + }
> > > +
> > > + public String getId()
> > > + {
> > > + return id;
> > > + }
> > > +
> > > + public String getName()
> > > + {
> > > + return name;
> > > + }
> > > +
> > > + public Group getParentGroup()
> > > + {
> > > + return parentGroup;
> > > + }
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> > > new file mode 100644
> > > index 0000000..457a17d
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> > > @@ -0,0 +1,40 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.impl.idm;
> > > +
> > > +import org.apache.deltaspike.security.api.idm.Role;
> > > +
> > > +/**
> > > + * Simple implementation of the Role interface
> > > + */
> > > +public class SimpleRole extends AbstractIdentityType implements Role
> > > +{
> > > + private String name;
> > > +
> > > + public SimpleRole(String name)
> > > + {
> > > + this.name (http://this.name) = name;
> > > + }
> > > +
> > > + public String getName()
> > > + {
> > > + return name;
> > > + }
> > > +
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> > > new file mode 100644
> > > index 0000000..f0dd9b7
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> > > @@ -0,0 +1,85 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.impl.idm;
> > > +
> > > +import org.apache.deltaspike.security.api.idm.User;
> > > +
> > > +/**
> > > + * A simple User implementation
> > > + */
> > > +public class SimpleUser extends AbstractIdentityType implements User
> > > +{
> > > + private String id;
> > > + private String firstName;
> > > + private String lastName;
> > > + private String email;
> > > +
> > > + public SimpleUser(String id)
> > > + {
> > > + this.id = id;
> > > + }
> > > +
> > > + @Override
> > > + public String getId()
> > > + {
> > > + return id;
> > > + }
> > > +
> > > + @Override
> > > + public String getFirstName()
> > > + {
> > > + return firstName;
> > > + }
> > > +
> > > + @Override
> > > + public void setFirstName(String firstName)
> > > + {
> > > + this.firstName = firstName;
> > > + }
> > > +
> > > + @Override
> > > + public String getLastName()
> > > + {
> > > + return lastName;
> > > + }
> > > +
> > > + @Override
> > > + public void setLastName(String lastName)
> > > + {
> > > + this.lastName = lastName;
> > > + }
> > > +
> > > + @Override
> > > + public String getFullName()
> > > + {
> > > + return String.format("%s %s", firstName, lastName);
> > > + }
> > > +
> > > + @Override
> > > + public String getEmail()
> > > + {
> > > + return email;
> > > + }
> > > +
> > > + @Override
> > > + public void setEmail(String email)
> > > + {
> > > + this.email = email;
> > > + }
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> > > new file mode 100644
> > > index 0000000..5168b15
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> > > @@ -0,0 +1,78 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.impl.permission;
> > > +
> > > +import java.io.Serializable;
> > > +
> > > +import javax.enterprise.inject.Instance;
> > > +import javax.inject.Inject;
> > > +
> > > +import
> org.apache.deltaspike.security.spi.permission.PermissionResolver;
> > > +import
> > >
> org.apache.deltaspike.security.spi.permission.PermissionResolver.PermissionStatus;
> > > +
> > > +/**
> > > + * Uses the available PermissionResolver instances to determine
> whether
> > > an application permission
> > > + * is to be allowed or denied.
> > > + *
> > > + */
> > > +public class PermissionMapper
> > > +{
> > > + @Inject
> > > + private Instance<PermissionResolver> resolvers;
> > > +
> > > + public boolean resolvePermission(Object resource, String operation)
> > > + {
> > > + boolean permit = false;
> > > +
> > > + for (PermissionResolver resolver : resolvers)
> > > + {
> > > + PermissionStatus status = resolver.hasPermission(resource,
> > > operation);
> > > + if (PermissionStatus.ALLOW.equals(status))
> > > + {
> > > + permit = true;
> > > + }
> > > + else if (PermissionStatus.DENY.equals(status))
> > > + {
> > > + return false;
> > > + }
> > > + }
> > > +
> > > + return permit;
> > > + }
> > > +
> > > + public boolean resolvePermission(Class<?> resourceClass, Serializable
> > > identifier, String operation)
> > > + {
> > > + boolean permit = false;
> > > +
> > > + for (PermissionResolver resolver : resolvers)
> > > + {
> > > + PermissionStatus status =
> > > resolver.hasPermission(resourceClass, identifier, operation);
> > > + if (PermissionStatus.ALLOW.equals(status))
> > > + {
> > > + permit = true;
> > > + }
> > > + else if (PermissionStatus.DENY.equals(status))
> > > + {
> > > + return false;
> > > + }
> > > + }
> > > +
> > > + return permit;
> > > + }
> > > +}
> > >
> > >
> > >
> http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> > > ----------------------------------------------------------------------
> > > diff --git
> > >
> a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> > > new file mode 100644
> > > index 0000000..3cb7194
> > > --- /dev/null
> > > +++
> > >
> b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> > > @@ -0,0 +1,45 @@
> > > +/*
> > > + * Licensed to the Apache Software Foundation (ASF) under one
> > > + * or more contributor license agreements. See the NOTICE file
> > > + * distributed with this work for additional information
> > > + * regarding copyright ownership. The ASF licenses this file
> > > + * to you under the Apache License, Version 2.0 (the
> > > + * "License"); you may not use this file except in compliance
> > > + * with the License. You may obtain a copy of the License at
> > > + *
> > > + * http://www.apache.org/licenses/LICENSE-2.0
> > > + *
> > > + * Unless required by applicable law or agreed to in writing,
> > > + * software distributed under the License is distributed on an
> > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > > + * KIND, either express or implied. See the License for the
> > > + * specific language governing permissions and limitations
> > > + * under the License.
> > > + */
> > > +package org.apache.deltaspike.security.impl.permission;
> > > +
> > > +import java.io.Serializable;
> > > +
> > > +import
> org.apache.deltaspike.security.spi.permission.PermissionResolver;
> > > +
> > > +/**
> > > + * A PermissionResolver implementation that provides ACL-style object
> > > permissions, backed by a database.
> > > + *
> > > + */
> > > +public class PersistentPermissionResolver implements
> PermissionResolver
> > > +{
> > > +
> > > + public PermissionStatus hasPermission(Object resource, String
> > > operation)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > +
> > > + public PermissionStatus hasPermission(Class<?> resourceClass,
> > > Serializable identifier, String operation)
> > > + {
> > > + // TODO Auto-generated method stub
> > > + return null;
> > > + }
> > > +
> > > +}
> > >
> >
> >
> >
>
>
>

Re: [16/20] git commit: added missing files

Posted by Bruno Oliveira <br...@abstractj.org>.
Morning guys. 

When will these changes take effect in 0.3 or 0.4 release? 

-- 
"The measure of a man is what he does with power" - Plato
-
@abstractj
-
Volenti Nihil Difficile



On Tuesday, July 24, 2012 at 6:49 AM, Gerhard Petracek wrote:

> hi shane,
> 
> not ordered by priority:
> 
> #1
> the java-se example-module should not contain web-app-examples -> please
> move this example
> 
> #2
> please create jira tickets for new or changed parts + use the issue
> number/s in your commit-message.
> 
> #3
> please re-visit your commit messages, before you push commits.
> 
> #4
> every file needs a license header!
> 
> #5
> please change your ide settings to avoid tabs (see [1])
> 
> regards,
> gerhard
> 
> [1] http://s.apache.org/I2y
> 
> 
> 
> 2012/7/24 <sbryzak@apache.org (mailto:sbryzak@apache.org)>
> 
> > added missing files
> > 
> > 
> > Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
> > Commit:
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/4bc36662
> > Tree:
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/4bc36662
> > Diff:
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/4bc36662
> > 
> > Branch: refs/heads/master
> > Commit: 4bc36662b9ad65b7d10f8ea150ea3f4bb0e73171
> > Parents: 6f27b78
> > Author: Shane Bryzak <sbryzak@gmail.com (mailto:sbryzak@gmail.com)>
> > Authored: Wed May 30 19:34:38 2012 +1000
> > Committer: Shane Bryzak <sbryzak@gmail.com (mailto:sbryzak@gmail.com)>
> > Committed: Tue Jul 24 10:05:06 2012 +1000
> > 
> > ----------------------------------------------------------------------
> > deltaspike/examples/security-console/pom.xml | 111 ++++++
> > .../securityconsole/BasicAuthenticator.java | 23 ++
> > .../src/main/resources/META-INF/beans.xml | 23 ++
> > .../main/webapp/WEB-INF/templates/default.xhtml | 38 ++
> > .../src/main/webapp/WEB-INF/web.xml (http://web.xml) | 30 ++
> > .../security-console/src/main/webapp/home.xhtml | 39 ++
> > .../security-console/src/main/webapp/index.html | 5 +
> > .../security-console/src/main/webapp/menu.xhtml | 27 ++
> > .../src/main/webapp/style/default.css | 61 ++++
> > .../security/api/permission/Permission.java | 54 +++
> > .../security/api/permission/PermissionManager.java | 29 ++
> > .../permission/annotations/CheckPermissions.java | 39 ++
> > .../permission/annotations/RequiresPermission.java | 34 ++
> > .../spi/permission/PermissionResolver.java | 43 +++
> > .../security/spi/permission/PermissionStore.java | 51 +++
> > .../deltaspike/security/impl/DefaultIdentity.java | 12 +
> > .../security/impl/idm/AbstractIdentityType.java | 81 +++++
> > .../security/impl/idm/DefaultIdentityManager.java | 272 +++++++++++++++
> > .../security/impl/idm/JPAIdentityStore.java | 238 +++++++++++++
> > .../security/impl/idm/LDAPIdentityStore.java | 238 +++++++++++++
> > .../deltaspike/security/impl/idm/SimpleGroup.java | 54 +++
> > .../deltaspike/security/impl/idm/SimpleRole.java | 40 +++
> > .../deltaspike/security/impl/idm/SimpleUser.java | 85 +++++
> > .../security/impl/permission/PermissionMapper.java | 78 ++++
> > .../permission/PersistentPermissionResolver.java | 45 +++
> > 25 files changed, 1750 insertions(+), 0 deletions(-)
> > ----------------------------------------------------------------------
> > 
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/pom.xml
> > ----------------------------------------------------------------------
> > diff --git a/deltaspike/examples/security-console/pom.xml
> > b/deltaspike/examples/security-console/pom.xml
> > new file mode 100644
> > index 0000000..f96daf7
> > --- /dev/null
> > +++ b/deltaspike/examples/security-console/pom.xml
> > @@ -0,0 +1,111 @@
> > +<?xml version="1.0" encoding="UTF-8"?>
> > +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
> > http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
> > http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd
> > ">
> > +<!--
> > + 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.
> > +-->
> > + <modelVersion>4.0.0</modelVersion>
> > +
> > + <parent>
> > + <groupId>org.apache.deltaspike.examples</groupId>
> > + <artifactId>jse-examples-project</artifactId>
> > + <version>0.3-incubating-SNAPSHOT</version>
> > + </parent>
> > +
> > + <groupId>org.apache.deltaspike.examples</groupId>
> > + <artifactId>security-console</artifactId>
> > +
> > + <name>Apache DeltaSpike Security Console Example</name>
> > +
> > + <packaging>war</packaging>
> > +
> > + <dependencies>
> > +
> > + <!-- DeltaSpike modules -->
> > + <dependency>
> > + <groupId>org.apache.deltaspike.core</groupId>
> > + <artifactId>deltaspike-core-api</artifactId>
> > + <scope>compile</scope>
> > + </dependency>
> > +
> > + <dependency>
> > + <groupId>org.apache.deltaspike.core</groupId>
> > + <artifactId>deltaspike-core-impl</artifactId>
> > + <scope>runtime</scope>
> > + </dependency>
> > +
> > + <dependency>
> > + <groupId>org.apache.deltaspike.modules</groupId>
> > + <artifactId>deltaspike-security-module-api</artifactId>
> > + <scope>compile</scope>
> > + </dependency>
> > +
> > + <dependency>
> > + <groupId>org.apache.deltaspike.modules</groupId>
> > + <artifactId>deltaspike-security-module-impl</artifactId>
> > + <scope>runtime</scope>
> > + </dependency>
> > +
> > + </dependencies>
> > +
> > + <profiles>
> > + <profile>
> > + <id>OWB</id>
> > + <dependencies>
> > + <dependency>
> > + <groupId>org.apache.openwebbeans</groupId>
> > + <artifactId>openwebbeans-impl</artifactId>
> > + <scope>compile</scope>
> > + </dependency>
> > +
> > + <dependency>
> > + <groupId>org.apache.openwebbeans</groupId>
> > + <artifactId>openwebbeans-spi</artifactId>
> > + <scope>compile</scope>
> > + </dependency>
> > +
> > + <dependency>
> > + <groupId>org.apache.deltaspike.cdictrl</groupId>
> > + <artifactId>deltaspike-cdictrl-owb</artifactId>
> > + <scope>runtime</scope>
> > + </dependency>
> > + </dependencies>
> > + </profile>
> > + <profile>
> > + <id>Weld</id>
> > + <dependencies>
> > + <dependency>
> > + <groupId>org.apache.deltaspike.cdictrl</groupId>
> > + <artifactId>deltaspike-cdictrl-weld</artifactId>
> > + <scope>runtime</scope>
> > + </dependency>
> > +
> > + <dependency>
> > + <groupId>org.jboss.weld.se (http://org.jboss.weld.se)</groupId>
> > + <artifactId>weld-se</artifactId>
> > + <version>${weld.version}</version>
> > + <scope>runtime</scope>
> > + </dependency>
> > + </dependencies>
> > + </profile>
> > + </profiles>
> > +
> > + <build>
> > + <finalName>security-console</finalName>
> > + </build>
> > +</project>
> > +
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> > b/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> > new file mode 100644
> > index 0000000..e58d319
> > --- /dev/null
> > +++
> > b/deltaspike/examples/security-console/src/main/java/org/apache/deltaspike/example/securityconsole/BasicAuthenticator.java
> > @@ -0,0 +1,23 @@
> > +package org.apache.deltaspike.example.securityconsole;
> > +
> > +import javax.inject.Inject;
> > +
> > +import org.apache.deltaspike.security.api.User;
> > +import org.apache.deltaspike.security.api.credential.LoginCredential;
> > +import
> > org.apache.deltaspike.security.spi.authentication.BaseAuthenticator;
> > +
> > +public class BasicAuthenticator extends BaseAuthenticator
> > +{
> > + @Inject
> > + private LoginCredential loginCredential;
> > +
> > + public void authenticate()
> > + {
> > + if ("shane".equals(loginCredential.getUserId()) &&
> > +
> > "password".equals(loginCredential.getCredential().getValue()))
> > + {
> > + setUser(new User("shane"));
> > + setStatus(AuthenticationStatus.SUCCESS);
> > + }
> > + }
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> > b/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> > new file mode 100644
> > index 0000000..4070730
> > --- /dev/null
> > +++
> > b/deltaspike/examples/security-console/src/main/resources/META-INF/beans.xml
> > @@ -0,0 +1,23 @@
> > +<?xml version="1.0" encoding="UTF-8"?>
> > +<!--
> > + 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.
> > +-->
> > +<beans xmlns="http://java.sun.com/xml/ns/javaee"
> > + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> > http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
> > +</beans>
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> > b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> > new file mode 100644
> > index 0000000..1010f7a
> > --- /dev/null
> > +++
> > b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/templates/default.xhtml
> > @@ -0,0 +1,38 @@
> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> > + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> > +<html xmlns="http://www.w3.org/1999/xhtml"
> > + xmlns:h="http://java.sun.com/jsf/html"
> > + xmlns:ui="http://java.sun.com/jsf/facelets">
> > +<h:head>
> > + <title>DeltaSpike Example - Security Console</title>
> > + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
> > + <link rel="stylesheet" href="style/default.css" type="text/css"
> > media="screen"/>
> > +</h:head>
> > +<h:body>
> > + <div id="container">
> > + <div id="header">
> > + <div id="title">
> > + Security Console
> > + </div>
> > +
> > + <div id="headerMenu">
> > + <h:form>
> > + <ui:fragment rendered="#{identity.loggedIn}">
> > + Welcome, #{identity.user.id}!<br/>
> > + <a href="changepassword.jsf">Change
> > password</a><span> | </span>
> > + <h:commandLink value="Log out"
> > action="#{identity.logout}"/>
> > + </ui:fragment>
> > + </h:form>
> > + </div>
> > + </div>
> > +
> > + <div id="sidebar">
> > + <ui:insert name="sidebar"/>
> > + </div>
> > +
> > + <div id="content">
> > + <ui:insert name="content"/>
> > + </div>
> > + </div>
> > +</h:body>
> > +</html>
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml (http://web.xml)
> > b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml (http://web.xml)
> > new file mode 100644
> > index 0000000..11f6635
> > --- /dev/null
> > +++ b/deltaspike/examples/security-console/src/main/webapp/WEB-INF/web.xml (http://web.xml)
> > @@ -0,0 +1,30 @@
> > +<?xml version="1.0" encoding="UTF-8"?>
> > +<web-app version="3.0"
> > + xmlns="http://java.sun.com/xml/ns/javaee"
> > + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > + xsi:schemaLocation="
> > + http://java.sun.com/xml/ns/javaee
> > + http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
> > +
> > + <!-- Activate the JSF 2.0 servlet -->
> > + <!-- The JSF servlet declaration and mapping are not required for
> > GlassFish V3 -->
> > + <servlet>
> > + <servlet-name>Faces Servlet</servlet-name>
> > + <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
> > + <load-on-startup>1</load-on-startup>
> > + </servlet>
> > +
> > + <!-- Tell the context which URLs to process as facelets. -->
> > + <servlet-mapping>
> > + <servlet-name>Faces Servlet</servlet-name>
> > + <url-pattern>*.jsf</url-pattern>
> > + </servlet-mapping>
> > +
> > + <!-- This is an optional parameter, but it makes troubleshooting
> > errors much easier -->
> > + <!-- You are advised to delete this context parameter before a
> > production deployment -->
> > + <context-param>
> > + <param-name>facelets.DEVELOPMENT</param-name>
> > + <param-value>true</param-value>
> > + </context-param>
> > +
> > +</web-app>
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> > b/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> > new file mode 100644
> > index 0000000..c8ae064
> > --- /dev/null
> > +++ b/deltaspike/examples/security-console/src/main/webapp/home.xhtml
> > @@ -0,0 +1,39 @@
> > +<?xml version="1.0" encoding="UTF-8"?>
> > +<ui:composition xmlns="http://www.w3.org/1999/xhtml"
> > + xmlns:ui="http://java.sun.com/jsf/facelets"
> > + xmlns:f="http://java.sun.com/jsf/core"
> > + xmlns:h="http://java.sun.com/jsf/html"
> > + template="/WEB-INF/templates/default.xhtml">
> > +
> > + <ui:define name="sidebar">
> > + <ui:include src="menu.xhtml"/>
> > + </ui:define>
> > +
> > + <ui:define name="content">
> > + <p>This example demonstrates DeltaSpike's security features.</p>
> > +
> > + <h:form id="loginForm" rendered="#{not identity.loggedIn}">
> > + <h:messages id="messages" globalOnly="true"/>
> > +
> > + <div class="loginRow">
> > + <h:outputLabel for="name" value="Username"
> > styleClass="loginLabel"/>
> > + <h:inputText id="name"
> > value="#{loginCredentials.userId}"/>
> > + </div>
> > +
> > + <div class="loginRow">
> > + <h:outputLabel for="password" value="Password"
> > styleClass="loginLabel"/>
> > + <h:inputSecret id="password"
> > value="#{loginCredentials.password}" redisplay="true"/>
> > + </div>
> > +
> > + <div class="buttons">
> > + <h:commandButton id="login" value="LOGIN"
> > action="#{identity.login}" styleClass="loginButton"/>
> > + </div>
> > +
> > + Tip: you can login with a username/password of demo/demo.
> > +
> > + </h:form>
> > +
> > + <br style="clear:both"/>
> > +
> > + </ui:define>
> > +</ui:composition>
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/index.html
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/examples/security-console/src/main/webapp/index.html
> > b/deltaspike/examples/security-console/src/main/webapp/index.html
> > new file mode 100644
> > index 0000000..c54885e
> > --- /dev/null
> > +++ b/deltaspike/examples/security-console/src/main/webapp/index.html
> > @@ -0,0 +1,5 @@
> > +<html>
> > +<head>
> > + <meta http-equiv="Refresh" content="0; URL=home.jsf">
> > +</head>
> > +</html>
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> > b/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> > new file mode 100644
> > index 0000000..daaa7ec
> > --- /dev/null
> > +++ b/deltaspike/examples/security-console/src/main/webapp/menu.xhtml
> > @@ -0,0 +1,27 @@
> > +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> > +<html xmlns="http://www.w3.org/1999/xhtml"
> > + xmlns:h="http://java.sun.com/jsf/html"
> > + xmlns:f="http://java.sun.com/jsf/core"
> > + xmlns:ui="http://java.sun.com/jsf/facelets">
> > +
> > +<ui:composition>
> > +
> > + <div class="menuitem">
> > + <a href="home.jsf">Home</a>
> > + </div>
> > +
> > + <div class="menuitem">
> > + <a href="manageusers.jsf">Manage users</a>
> > + </div>
> > +
> > + <div class="menuitem">
> > + <a href="managegroups.jsf">Manage groups</a>
> > + </div>
> > +
> > + <div class="menuitem">
> > + <a href="manageroletypes.jsf">Manage role types</a>
> > + </div>
> > +
> > +</ui:composition>
> > +
> > +</html>
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/examples/security-console/src/main/webapp/style/default.css
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/examples/security-console/src/main/webapp/style/default.css
> > b/deltaspike/examples/security-console/src/main/webapp/style/default.css
> > new file mode 100644
> > index 0000000..653c97d
> > --- /dev/null
> > +++
> > b/deltaspike/examples/security-console/src/main/webapp/style/default.css
> > @@ -0,0 +1,61 @@
> > +body {
> > + margin: 0;
> > + padding: 0;
> > + background-color: #5c6066;
> > + font-family: Verdana, sans-serif;
> > + font-size: 0.9em;
> > +}
> > +
> > +div#header {
> > + height: 80px;
> > + background-color: #eeeeee;
> > +}
> > +
> > +div#headerMenu {
> > + float: right;
> > +}
> > +
> > +div#title {
> > + padding-top: 22px;
> > + font-size: 22px;
> > + font-weight: bold;
> > + margin-left: 180px;
> > +}
> > +
> > +div#container {
> > + margin: 0px auto;
> > + padding: 2px 2px 2px 4px;
> > + border: 1px solid #666666;
> > + width: 865px;
> > + background: #FFFFFF;
> > +}
> > +
> > +div#sidebar {
> > + font-size: 0.9em;
> > + width: 160px;
> > + float: left;
> > + border: 1px solid #666666;
> > + background: #EAECEE;
> > + padding: 4px 4px 24px 4px;
> > + margin-top: 8px;
> > +}
> > +
> > +div#content {
> > + padding: 4px 4px 4px 4px;
> > + margin-left: 180px;
> > +}
> > +
> > +div.menuitem a {
> > + font-weight: bold;
> > + text-decoration: none;
> > +}
> > +
> > +input.newuser {
> > + background: url(btn_newuser.png) top left no-repeat;
> > + height: 39px;
> > + width: 113px;
> > + margin: 4px 4px 4px 4px;
> > + border: 0px;
> > + cursor: pointer;
> > +}
> > +
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> > new file mode 100644
> > index 0000000..4221eed
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/Permission.java
> > @@ -0,0 +1,54 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.api.permission;
> > +
> > +import org.apache.deltaspike.security.api.idm.IdentityType;
> > +
> > +/**
> > + * Represents a specific permission grant for a domain object
> > + *
> > + */
> > +public class Permission
> > +{
> > + private Object resource;
> > + private IdentityType recipient;
> > + private String permission;
> > +
> > + public Permission(Object resource, IdentityType recipient, String
> > permission)
> > + {
> > + this.resource = resource;
> > + this.recipient = recipient;
> > + this.permission = permission;
> > + }
> > +
> > + public Object getResource()
> > + {
> > + return resource;
> > + }
> > +
> > + public IdentityType getRecipient()
> > + {
> > + return recipient;
> > + }
> > +
> > + public String getPermission()
> > + {
> > + return permission;
> > + }
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> > new file mode 100644
> > index 0000000..e1e87ae
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/PermissionManager.java
> > @@ -0,0 +1,29 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.api.permission;
> > +
> > +/**
> > + * Manages user permissions.
> > + *
> > + */
> > +public interface PermissionManager
> > +{
> > +
> > +
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> > new file mode 100644
> > index 0000000..b2d9542
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/CheckPermissions.java
> > @@ -0,0 +1,39 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.api.permission.annotations;
> > +
> > +import static java.lang.annotation.ElementType.METHOD;
> > +import static java.lang.annotation.RetentionPolicy.RUNTIME;
> > +
> > +import java.lang.annotation.Documented;
> > +import java.lang.annotation.Retention;
> > +import java.lang.annotation.Target;
> > +
> > +import
> > org.apache.deltaspike.security.api.authorization.annotation.SecurityBindingType;
> > +
> > +@Target({ METHOD })
> > +@Retention(RUNTIME)
> > +@Documented
> > +
> > +//cdi annotations
> > +@SecurityBindingType
> > +public @interface CheckPermissions
> > +{
> > +
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> > new file mode 100644
> > index 0000000..7428b9b
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/api/permission/annotations/RequiresPermission.java
> > @@ -0,0 +1,34 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.api.permission.annotations;
> > +
> > +import static java.lang.annotation.ElementType.PARAMETER;
> > +import static java.lang.annotation.RetentionPolicy.RUNTIME;
> > +
> > +import java.lang.annotation.Documented;
> > +import java.lang.annotation.Retention;
> > +import java.lang.annotation.Target;
> > +
> > +@Target({ PARAMETER })
> > +@Retention(RUNTIME)
> > +@Documented
> > +public @interface RequiresPermission
> > +{
> > + String value() default "";
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> > new file mode 100644
> > index 0000000..739f107
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionResolver.java
> > @@ -0,0 +1,43 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.spi.permission;
> > +
> > +import java.io.Serializable;
> > +
> > +/**
> > + * A PermissionResolver may be used to determine access restrictions for
> > application resources. For every
> > + * permission check the application performs, the hasPermission() method
> > of each known PermissionResolver
> > + * is invoked. For the permission check to succeed, at least one
> > PermissionResolver must return a result of
> > + * PermissionStatus.ALLOW. If any PermissionResolver returns a result of
> > PermissionStatus.DENY, the
> > + * permission check is unsuccessful and the user is not allowed to carry
> > out the requested operation.
> > + * If a PermissionResolver does not explicitly allow or deny the
> > permission, it should return a result of
> > + * PermissionStatus.NOT_APPLICABLE.
> > + *
> > + */
> > +public interface PermissionResolver
> > +{
> > + public enum PermissionStatus
> > + {
> > + ALLOW, DENY, NOT_APPLICABLE
> > + }
> > +
> > + PermissionStatus hasPermission(Object resource, String operation);
> > +
> > + PermissionStatus hasPermission(Class<?> resourceClass, Serializable
> > identifier, String operation);
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> > new file mode 100644
> > index 0000000..a0c547f
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/api/src/main/java/org/apache/deltaspike/security/spi/permission/PermissionStore.java
> > @@ -0,0 +1,51 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.spi.permission;
> > +
> > +import java.util.List;
> > +import java.util.Set;
> > +
> > +import org.apache.deltaspike.security.api.permission.Permission;
> > +
> > +/**
> > + *
> > + *
> > + */
> > +public interface PermissionStore
> > +{
> > + List<Permission> listPermissions(Object target);
> > +
> > + List<Permission> listPermissions(Object target, String action);
> > +
> > + List<Permission> listPermissions(Set<Object> targets, String action);
> > +
> > + boolean grantPermission(Permission permission);
> > +
> > + boolean grantPermissions(List<Permission> permissions);
> > +
> > + boolean revokePermission(Permission permission);
> > +
> > + boolean revokePermissions(List<Permission> permissions);
> > +
> > + List<String> listAvailableActions(Object target);
> > +
> > + void clearPermissions(Object target);
> > +
> > + boolean isEnabled();
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > index 050cc41..1cb7b1b 100644
> > ---
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/DefaultIdentity.java
> > @@ -22,6 +22,10 @@ import java.io.Serializable;
> > 
> > import org.apache.deltaspike.core.util.ExceptionUtils;
> > import org.apache.deltaspike.security.api.Identity;
> > +<<<<<<< HEAD
> > +=======
> > +import org.apache.deltaspike.security.api.User;
> > +>>>>>>> added missing files
> > import
> > org.apache.deltaspike.security.api.authentication.AuthenticationException;
> > import
> > org.apache.deltaspike.security.api.authentication.UnexpectedCredentialException;
> > import
> > org.apache.deltaspike.security.api.authentication.event.AlreadyLoggedInEvent;
> > @@ -31,8 +35,12 @@ import
> > org.apache.deltaspike.security.api.authentication.event.PostAuthenticateE
> > import
> > org.apache.deltaspike.security.api.authentication.event.PostLoggedOutEvent;
> > import
> > org.apache.deltaspike.security.api.authentication.event.PreAuthenticateEvent;
> > import
> > org.apache.deltaspike.security.api.authentication.event.PreLoggedOutEvent;
> > +<<<<<<< HEAD
> > import org.apache.deltaspike.security.api.credential.LoginCredentials;
> > import org.apache.deltaspike.security.api.idm.User;
> > +=======
> > +import org.apache.deltaspike.security.api.credential.LoginCredential;
> > +>>>>>>> added missing files
> > import org.apache.deltaspike.security.spi.authentication.Authenticator;
> > import
> > org.apache.deltaspike.security.spi.authentication.Authenticator.AuthenticationStatus;
> > import
> > org.apache.deltaspike.security.spi.authentication.AuthenticatorSelector;
> > @@ -62,7 +70,11 @@ public class DefaultIdentity implements Identity
> > 
> > @Inject
> > @SuppressWarnings("NonSerializableFieldInSerializableClass")
> > +<<<<<<< HEAD
> > private LoginCredentials loginCredential;
> > +=======
> > + private LoginCredential loginCredential;
> > +>>>>>>> added missing files
> > 
> > /**
> > * Flag indicating whether we are currently authenticating
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> > new file mode 100644
> > index 0000000..bbb3521
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/AbstractIdentityType.java
> > @@ -0,0 +1,81 @@
> > +package org.apache.deltaspike.security.impl.idm;
> > +
> > +import java.util.Date;
> > +import java.util.HashMap;
> > +import java.util.Map;
> > +
> > +import org.apache.deltaspike.security.api.idm.IdentityType;
> > +
> > +/**
> > + * Abstract base class for IdentityType implementations
> > + */
> > +public abstract class AbstractIdentityType implements IdentityType
> > +{
> > + private String key;
> > + private boolean enabled = true;
> > + private Date creationDate = null;
> > + private Date expirationDate = null;
> > + private Map<String,String[]> attributes = new
> > HashMap<String,String[]>();
> > +
> > + @Override
> > + public String getKey()
> > + {
> > + return this.key;
> > + }
> > +
> > + @Override
> > + public boolean isEnabled()
> > + {
> > + return this.enabled;
> > + }
> > +
> > + @Override
> > + public Date getExpirationDate()
> > + {
> > + return this.expirationDate;
> > + }
> > +
> > + @Override
> > + public Date getCreationDate()
> > + {
> > + return this.creationDate;
> > + }
> > +
> > + @Override
> > + public void setAttribute(String name, String value)
> > + {
> > + attributes.put(name, new String[]{value});
> > + }
> > +
> > + @Override
> > + public void setAttribute(String name, String[] values)
> > + {
> > + attributes.put(name, values);
> > + }
> > +
> > + @Override
> > + public void removeAttribute(String name)
> > + {
> > + attributes.remove(name);
> > + }
> > +
> > + @Override
> > + public String getAttribute(String name)
> > + {
> > + String[] vals = attributes.get(name);
> > + return null == vals ? null : ((vals.length != 0) ? vals[0] :
> > null);
> > + }
> > +
> > + @Override
> > + public String[] getAttributeValues(String name)
> > + {
> > + return attributes.get(name);
> > + }
> > +
> > + @Override
> > + public Map<String, String[]> getAttributes()
> > + {
> > + return java.util.Collections.unmodifiableMap(attributes);
> > + }
> > +
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> > new file mode 100644
> > index 0000000..752a371
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/DefaultIdentityManager.java
> > @@ -0,0 +1,272 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.impl.idm;
> > +
> > +import java.util.Collection;
> > +import java.util.Date;
> > +
> > +import org.apache.deltaspike.security.api.idm.Group;
> > +import org.apache.deltaspike.security.api.idm.GroupQuery;
> > +import org.apache.deltaspike.security.api.idm.IdentityManager;
> > +import org.apache.deltaspike.security.api.idm.IdentityType;
> > +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> > +import org.apache.deltaspike.security.api.idm.Role;
> > +import org.apache.deltaspike.security.api.idm.RoleQuery;
> > +import org.apache.deltaspike.security.api.idm.User;
> > +import org.apache.deltaspike.security.api.idm.UserQuery;
> > +
> > +/**
> > + * Default implementation of the IdentityManager interface
> > + *
> > + */
> > +public class DefaultIdentityManager implements IdentityManager
> > +{
> > +
> > + @Override
> > + public User createUser(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeUser(User user)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeUser(String name)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public User getUser(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Collection<User> getAllUsers()
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Group createGroup(String id)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Group createGroup(String id, Group parent)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Group createGroup(String id, String parent)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeGroup(Group group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeGroup(String groupId)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Group getGroup(String groupId)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Group getGroup(String groupId, Group parent)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Collection<Group> getAllGroups()
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void addToGroup(IdentityType identityType, Group group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeFromGroup(IdentityType identityType, Group group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Collection<IdentityType> getGroupMembers(Group group)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Role createRole(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeRole(Role role)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeRole(String name)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Role getRole(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Collection<Role> getAllRoles()
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Collection<Role> getRoles(IdentityType identityType, Group
> > group)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public boolean hasRole(Role role, IdentityType identityType, Group
> > group)
> > + {
> > + // TODO Auto-generated method stub
> > + return false;
> > + }
> > +
> > + @Override
> > + public void grantRole(Role role, IdentityType identityType, Group
> > group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void revokeRole(Role role, IdentityType identityType, Group
> > group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public UserQuery createUserQuery()
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public GroupQuery createGroupQuery()
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public RoleQuery createRoleQuery()
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public MembershipQuery createMembershipQuery()
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public boolean validatePassword(String password)
> > + {
> > + // TODO Auto-generated method stub
> > + return false;
> > + }
> > +
> > + @Override
> > + public void updatePassword(String password)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void setEnabled(IdentityType identityType, boolean enabled)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void setExpirationDate(IdentityType identityType, Date
> > expirationDate)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> > new file mode 100644
> > index 0000000..040b9e9
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/JPAIdentityStore.java
> > @@ -0,0 +1,238 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.impl.idm;
> > +
> > +import java.util.List;
> > +import java.util.Map;
> > +
> > +import org.apache.deltaspike.security.api.idm.Group;
> > +import org.apache.deltaspike.security.api.idm.GroupQuery;
> > +import org.apache.deltaspike.security.api.idm.Membership;
> > +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> > +import org.apache.deltaspike.security.api.idm.Range;
> > +import org.apache.deltaspike.security.api.idm.Role;
> > +import org.apache.deltaspike.security.api.idm.RoleQuery;
> > +import org.apache.deltaspike.security.api.idm.User;
> > +import org.apache.deltaspike.security.api.idm.UserQuery;
> > +import org.apache.deltaspike.security.spi.idm.IdentityStore;
> > +
> > +/**
> > + * An implementation of IdentityStore backed by a JPA datasource
> > + *
> > + */
> > +public class JPAIdentityStore implements IdentityStore
> > +{
> > +
> > + @Override
> > + public User createUser(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeUser(User user)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public User getUser(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Group createGroup(String name, Group parent)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeGroup(Group group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Group getGroup(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Role createRole(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeRole(Role role)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Role getRole(String role)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Membership createMembership(Role role, User user, Group group)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeMembership(Role role, User user, Group group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Membership getMembership(Role role, User user, Group group)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public List<User> executeQuery(UserQuery query, Range range)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public List<Group> executeQuery(GroupQuery query, Range range)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public List<Role> executeQuery(RoleQuery query, Range range)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public List<Membership> executeQuery(MembershipQuery query, Range
> > range)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void setAttribute(User user, String name, String[] values)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeAttribute(User user, String name)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public String[] getAttributeValues(User user, String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Map<String, String[]> getAttributes(User user)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void setAttribute(Group group, String name, String[] values)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeAttribute(Group group, String name)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public String[] getAttributeValues(Group group, String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Map<String, String[]> getAttributes(Group group)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void setAttribute(Role role, String name, String[] values)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeAttribute(Role role, String name)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public String[] getAttributeValues(Role role, String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Map<String, String[]> getAttributes(Role role)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> > new file mode 100644
> > index 0000000..ba6581c
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/LDAPIdentityStore.java
> > @@ -0,0 +1,238 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.impl.idm;
> > +
> > +import java.util.List;
> > +import java.util.Map;
> > +
> > +import org.apache.deltaspike.security.api.idm.Group;
> > +import org.apache.deltaspike.security.api.idm.GroupQuery;
> > +import org.apache.deltaspike.security.api.idm.Membership;
> > +import org.apache.deltaspike.security.api.idm.MembershipQuery;
> > +import org.apache.deltaspike.security.api.idm.Range;
> > +import org.apache.deltaspike.security.api.idm.Role;
> > +import org.apache.deltaspike.security.api.idm.RoleQuery;
> > +import org.apache.deltaspike.security.api.idm.User;
> > +import org.apache.deltaspike.security.api.idm.UserQuery;
> > +import org.apache.deltaspike.security.spi.idm.IdentityStore;
> > +
> > +/**
> > + * An IdentityStore implementation backed by an LDAP directory
> > + *
> > + */
> > +public class LDAPIdentityStore implements IdentityStore
> > +{
> > +
> > + @Override
> > + public User createUser(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeUser(User user)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public User getUser(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Group createGroup(String name, Group parent)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeGroup(Group group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Group getGroup(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Role createRole(String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeRole(Role role)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Role getRole(String role)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Membership createMembership(Role role, User user, Group group)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void removeMembership(Role role, User user, Group group)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public Membership getMembership(Role role, User user, Group group)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public List<User> executeQuery(UserQuery query, Range range)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public List<Group> executeQuery(GroupQuery query, Range range)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public List<Role> executeQuery(RoleQuery query, Range range)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public List<Membership> executeQuery(MembershipQuery query, Range
> > range)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void setAttribute(User user, String name, String[] values)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeAttribute(User user, String name)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public String[] getAttributeValues(User user, String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Map<String, String[]> getAttributes(User user)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void setAttribute(Group group, String name, String[] values)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeAttribute(Group group, String name)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public String[] getAttributeValues(Group group, String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Map<String, String[]> getAttributes(Group group)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public void setAttribute(Role role, String name, String[] values)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public void removeAttribute(Role role, String name)
> > + {
> > + // TODO Auto-generated method stub
> > +
> > + }
> > +
> > + @Override
> > + public String[] getAttributeValues(Role role, String name)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > + @Override
> > + public Map<String, String[]> getAttributes(Role role)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> > new file mode 100644
> > index 0000000..3ad4089
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleGroup.java
> > @@ -0,0 +1,54 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.impl.idm;
> > +
> > +import org.apache.deltaspike.security.api.idm.Group;
> > +
> > +/**
> > + * Simple implementation of the Group interface
> > + *
> > + */
> > +public class SimpleGroup extends AbstractIdentityType implements Group
> > +{
> > + private String id;
> > + private String name;
> > + private Group parentGroup;
> > +
> > + public SimpleGroup(String id, String name, Group parentGroup)
> > + {
> > + this.id = id;
> > + this.name (http://this.name) = name;
> > + this.parentGroup = parentGroup;
> > + }
> > +
> > + public String getId()
> > + {
> > + return id;
> > + }
> > +
> > + public String getName()
> > + {
> > + return name;
> > + }
> > +
> > + public Group getParentGroup()
> > + {
> > + return parentGroup;
> > + }
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> > new file mode 100644
> > index 0000000..457a17d
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleRole.java
> > @@ -0,0 +1,40 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.impl.idm;
> > +
> > +import org.apache.deltaspike.security.api.idm.Role;
> > +
> > +/**
> > + * Simple implementation of the Role interface
> > + */
> > +public class SimpleRole extends AbstractIdentityType implements Role
> > +{
> > + private String name;
> > +
> > + public SimpleRole(String name)
> > + {
> > + this.name (http://this.name) = name;
> > + }
> > +
> > + public String getName()
> > + {
> > + return name;
> > + }
> > +
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> > new file mode 100644
> > index 0000000..f0dd9b7
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/idm/SimpleUser.java
> > @@ -0,0 +1,85 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.impl.idm;
> > +
> > +import org.apache.deltaspike.security.api.idm.User;
> > +
> > +/**
> > + * A simple User implementation
> > + */
> > +public class SimpleUser extends AbstractIdentityType implements User
> > +{
> > + private String id;
> > + private String firstName;
> > + private String lastName;
> > + private String email;
> > +
> > + public SimpleUser(String id)
> > + {
> > + this.id = id;
> > + }
> > +
> > + @Override
> > + public String getId()
> > + {
> > + return id;
> > + }
> > +
> > + @Override
> > + public String getFirstName()
> > + {
> > + return firstName;
> > + }
> > +
> > + @Override
> > + public void setFirstName(String firstName)
> > + {
> > + this.firstName = firstName;
> > + }
> > +
> > + @Override
> > + public String getLastName()
> > + {
> > + return lastName;
> > + }
> > +
> > + @Override
> > + public void setLastName(String lastName)
> > + {
> > + this.lastName = lastName;
> > + }
> > +
> > + @Override
> > + public String getFullName()
> > + {
> > + return String.format("%s %s", firstName, lastName);
> > + }
> > +
> > + @Override
> > + public String getEmail()
> > + {
> > + return email;
> > + }
> > +
> > + @Override
> > + public void setEmail(String email)
> > + {
> > + this.email = email;
> > + }
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> > new file mode 100644
> > index 0000000..5168b15
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PermissionMapper.java
> > @@ -0,0 +1,78 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.impl.permission;
> > +
> > +import java.io.Serializable;
> > +
> > +import javax.enterprise.inject.Instance;
> > +import javax.inject.Inject;
> > +
> > +import org.apache.deltaspike.security.spi.permission.PermissionResolver;
> > +import
> > org.apache.deltaspike.security.spi.permission.PermissionResolver.PermissionStatus;
> > +
> > +/**
> > + * Uses the available PermissionResolver instances to determine whether
> > an application permission
> > + * is to be allowed or denied.
> > + *
> > + */
> > +public class PermissionMapper
> > +{
> > + @Inject
> > + private Instance<PermissionResolver> resolvers;
> > +
> > + public boolean resolvePermission(Object resource, String operation)
> > + {
> > + boolean permit = false;
> > +
> > + for (PermissionResolver resolver : resolvers)
> > + {
> > + PermissionStatus status = resolver.hasPermission(resource,
> > operation);
> > + if (PermissionStatus.ALLOW.equals(status))
> > + {
> > + permit = true;
> > + }
> > + else if (PermissionStatus.DENY.equals(status))
> > + {
> > + return false;
> > + }
> > + }
> > +
> > + return permit;
> > + }
> > +
> > + public boolean resolvePermission(Class<?> resourceClass, Serializable
> > identifier, String operation)
> > + {
> > + boolean permit = false;
> > +
> > + for (PermissionResolver resolver : resolvers)
> > + {
> > + PermissionStatus status =
> > resolver.hasPermission(resourceClass, identifier, operation);
> > + if (PermissionStatus.ALLOW.equals(status))
> > + {
> > + permit = true;
> > + }
> > + else if (PermissionStatus.DENY.equals(status))
> > + {
> > + return false;
> > + }
> > + }
> > +
> > + return permit;
> > + }
> > +}
> > 
> > 
> > http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/4bc36662/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> > ----------------------------------------------------------------------
> > diff --git
> > a/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> > new file mode 100644
> > index 0000000..3cb7194
> > --- /dev/null
> > +++
> > b/deltaspike/modules/security/impl/src/main/java/org/apache/deltaspike/security/impl/permission/PersistentPermissionResolver.java
> > @@ -0,0 +1,45 @@
> > +/*
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements. See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership. The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License. You may obtain a copy of the License at
> > + *
> > + * http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing,
> > + * software distributed under the License is distributed on an
> > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > + * KIND, either express or implied. See the License for the
> > + * specific language governing permissions and limitations
> > + * under the License.
> > + */
> > +package org.apache.deltaspike.security.impl.permission;
> > +
> > +import java.io.Serializable;
> > +
> > +import org.apache.deltaspike.security.spi.permission.PermissionResolver;
> > +
> > +/**
> > + * A PermissionResolver implementation that provides ACL-style object
> > permissions, backed by a database.
> > + *
> > + */
> > +public class PersistentPermissionResolver implements PermissionResolver
> > +{
> > +
> > + public PermissionStatus hasPermission(Object resource, String
> > operation)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > +
> > + public PermissionStatus hasPermission(Class<?> resourceClass,
> > Serializable identifier, String operation)
> > + {
> > + // TODO Auto-generated method stub
> > + return null;
> > + }
> > +
> > +}
> > 
> 
> 
>