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

📄 reportdao.java

📁 开源的OpenId的一个java实现
💻 JAVA
字号:
/* * Copyright 2005-2007 WSO2, Inc. (http://wso2.com) * * 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 java.util.ArrayList;import java.util.Date;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import org.wso2.solutions.identity.IdentityProviderException;import org.wso2.solutions.identity.persistence.HibernateConfig;import org.wso2.solutions.identity.persistence.dataobject.ActionDO;import org.wso2.solutions.identity.persistence.dataobject.ReportDataDO;import org.wso2.solutions.identity.report.ReportUtil;public class ReportDAO extends BaseDAO {    public ReportDAO(HibernateConfig config) {        super(config);    }    public ActionDO[] getAllActions() {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        String stmt = "from ActionDO";        ActionDO[] actions = new ActionDO[0];        try {            Query query = session.createQuery(stmt);            List lst = query.list();            actions = (ActionDO[]) lst.toArray(new ActionDO[lst.size()]);            tx.commit();        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorAccessActions");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }        return actions;    }    public ActionDO addReportData(String username, String actionId,            String description) {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        String stmt = "from ActionDO as action where action.actionId = '"                + actionId + "'";        ActionDO action = null;        try {            Query query = session.createQuery(stmt);            action = (ActionDO) query.uniqueResult();            if (action == null) {                throw new IdentityProviderException("nullAction");            }            ReportDataDO udo = new ReportDataDO();            udo.setAction(action);            udo.setUserId(username);            udo.setLastUpdatedTime(new Date());            udo.setDescription(description);            session.persist(udo);            session.flush();            tx.commit();        } catch (Throwable e) {            e.printStackTrace();            tx.rollback();            String msg = messages.getMessage("errorAccessActions");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }        return action;    }    public List getReportDataByUser(String username, Date startDate,            Date endDate) {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();        String stmt = "from ReportDataDO as udo where udo.userId ='" + username                + "'";        List userActions = new ArrayList();        try {            Query query = session.createQuery(stmt);            List lst = query.list();            userActions = ReportUtil.convertToUsageReportData(lst);            tx.commit();        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorQuerryingUserAction");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }        return userActions;    }    public List getReportDataByAction(String actionId, Date startDate,            Date endDate) {        Session session = hbConfig.getCurrentSession();        Transaction tx = session.beginTransaction();                String stmt = "from ReportDataDO as uado where uado.action.actionId = '"                + actionId + "'";                List repActions = new ArrayList();        try {            Query query = session.createQuery(stmt);            List lst = query.list();            repActions = ReportUtil.convertToFailureReportData(lst);            tx.commit();        } catch (Throwable e) {            tx.rollback();            String msg = messages.getMessage("errorQuerryingUserAction");            log.error(msg, e);            throw new RuntimeException(msg, e);        } finally {            hbConfig.closeSession();        }        return repActions;    }            }

⌨️ 快捷键说明

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