package net.sf.jpasecurity.spring.eclipselink;

import javax.persistence.EntityManager;

import net.sf.jpasecurity.persistence.DefaultSecureEntityManager;

import org.eclipse.persistence.sessions.Session;
import org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect;

public class JpaSecurityEclipseLinkJpaDialect extends EclipseLinkJpaDialect {

    @Override
    protected Session getSession(EntityManager em) {
        if(em instanceof DefaultSecureEntityManager){
            em = ((DefaultSecureEntityManager)em).getUnsecureEntityManager();
        }
        return super.getSession(em);
    }
}

@@ -1,8 +1,610 @@
+/*%0A * Copyright 2013 Stefan Hildebrandt%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions%0A * and limitations under the License.%0A */%0A
 package 
@@ -1022,16 +1022,17 @@
       if
+ 
 (em inst
@@ -1065,16 +1065,17 @@
 Manager)
+ 
 %7B%0A      

Fix Spring Problem with JpaDialect und session retrivval in eclipselink