⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 claimdao.java

📁 开源的OpenId的一个java实现
💻 JAVA
字号:
/*                                                                              * Copyright 2005,2006 WSO2, Inc. http://www.wso2.org *                                                                              * Licensed under the Apache License, Version 2.0 (the "License");              * you may not use this file except in compliance with the License.             * You may obtain a copy of the License at                                      *                                                                              *      http://www.apache.org/licenses/LICENSE-2.0                              *                                                                              * Unless required by applicable law or agreed to in writing, software          * distributed under the License is distributed on an "AS IS" BASIS,            * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.     * See the License for the specific language governing permissions and          * limitations under the License.                                               */package org.wso2.solutions.identity.persistence.dao;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.criterion.Expression;import org.wso2.solutions.identity.persistence.HibernateConfig;import org.wso2.solutions.identity.persistence.dataobject.ClaimDO;import java.util.List;public class ClaimDAO extends BaseDAO {    protected Log log = LogFactory.getLog(ClaimDAO.class);    public ClaimDAO(HibernateConfig config) {        super(config);    }    public ClaimDO[] getAllClaims() {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        String stmt = "from ClaimDO";        ClaimDO[] claims = new ClaimDO[0];        try {            Query query = session.createQuery(stmt);            List lst = query.list();            claims = (ClaimDO[]) lst.toArray(new ClaimDO[lst.size()]);            tx.commit();        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorQuerryingClaimData");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }        return claims;    }    public ClaimDO getClaimByURI(String value) {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        String stmt = "from ClaimDO as cl where cl.uri = '" + value + "'";        ClaimDO claim = null;        try {            claim = (ClaimDO) session.createQuery(stmt).uniqueResult();            tx.commit();        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorQuerryingClaimData");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }        return claim;    }    public ClaimDO[] getAllMappedClaims() {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        String stmt = "from ClaimDO as cl where cl.attrId != '-1'";        ClaimDO[] claims = new ClaimDO[0];        try {            Query query = session.createQuery(stmt);            List lst = query.list();            claims = (ClaimDO[]) lst.toArray(new ClaimDO[lst.size()]);            tx.commit();        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorQuerryingClaimData");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }        return claims;    }    public ClaimDO[] getAllEnabledClaims() {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        try {            Criteria criteria = session.createCriteria(ClaimDO.class);            criteria.add(Expression.eq("supported", Boolean.TRUE));            List lst = criteria.list();            return (ClaimDO[]) lst.toArray(new ClaimDO[lst.size()]);        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorQuerryingClaimData");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }    }    public ClaimDO[] getAllMappedEnabledClaims() {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        try {            Criteria criteria = session.createCriteria(ClaimDO.class);            criteria.add(Expression.not(Expression.eq("attrId", "-1")));            criteria.add(Expression.eq("supported", Boolean.TRUE));            List lst = criteria.list();            return (ClaimDO[]) lst.toArray(new ClaimDO[lst.size()]);        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorQuerryingClaimData");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }    }    public String getMappedOpenIDTag(String uri) {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        ClaimDO[] claims = null;        try {            Criteria criteria = session.createCriteria(ClaimDO.class);            criteria.add(Expression.eq("uri", uri));            List lst = criteria.list();            claims = (ClaimDO[]) lst.toArray(new ClaimDO[lst.size()]);            if (claims != null && claims.length > 0)                return claims[0].getOpenIDTag();            else                return null;        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorQuerryingClaimData");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }    }        public boolean isValidOpenIDTag(String openIDTag) {        Session session = hbConfig.getCurrentSession();        ClaimDO[] claims = null;        try {            Criteria criteria = session.createCriteria(ClaimDO.class);            criteria.add(Expression.eq("openIDTag", openIDTag));            criteria.add(Expression.eq("supported", Boolean.TRUE));            List lst = criteria.list();            claims = (ClaimDO[]) lst.toArray(new ClaimDO[lst.size()]);            if (claims != null && claims.length > 0)                return false;            else                return true;                    } catch (Throwable e) {                        String msg = messages.getMessage("errorQuerryingClaimData");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -