org.agatom.springatom.data.hades.model.revision.AuditingRevisionEntity.java Source code

Java tutorial

Introduction

Here is the source code for org.agatom.springatom.data.hades.model.revision.AuditingRevisionEntity.java

Source

/**************************************************************************************************
 * This file is part of [SpringAtom] Copyright [kornicameister@gmail.com][2013]                   *
 *                                                                                                *
 * [SpringAtom] is free software: you can redistribute it and/or modify                           *
 * it under the terms of the GNU General Public License as published by                           *
 * the Free Software Foundation, either version 3 of the License, or                              *
 * (at your option) any later version.                                                            *
 *                                                                                                *
 * [SpringAtom] is distributed in the hope that it will be useful,                                *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of                                 *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                  *
 * GNU General Public License for more details.                                                   *
 *                                                                                                *
 * You should have received a copy of the GNU General Public License                              *
 * along with [SpringAtom].  If not, see <http://www.gnu.org/licenses/gpl.html>.                  *
 **************************************************************************************************/

package org.agatom.springatom.data.hades.model.revision;

import org.hibernate.envers.RevisionListener;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;

/**
 * <p>AuditingRevisionEntity class.</p>
 *
 * @author kornicameister
 * @version 0.0.1
 * @since 0.0.1
 */
public class AuditingRevisionEntity implements RevisionListener {
    /** {@inheritDoc} */
    @Override
    public void newRevision(final Object revisionEntity) {
        final AuditedRevisionEntity auditedRevisionEntity = (AuditedRevisionEntity) revisionEntity;
        final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
        if (authentication != null) {
            final String userName = authentication.getName();
            auditedRevisionEntity.setUser(userName);
        } else {
            auditedRevisionEntity.setUser("SYSTEM");
        }
    }
}