de.juwimm.cms.authorization.model.UserHbmImpl.java Source code

Java tutorial

Introduction

Here is the source code for de.juwimm.cms.authorization.model.UserHbmImpl.java

Source

/**
 * Copyright (c) 2009 Juwi MacMillan Group GmbH
 *
 * 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.
 */
// license-header java merge-point
/**
 * This is only generated once! It will never be overwritten.
 * You can (and have to!) safely modify it by hand.
 */
package de.juwimm.cms.authorization.model;

import java.security.MessageDigest;
import java.util.Collection;
import java.util.Iterator;

import javax.ejb.EJBException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.tizzit.util.Base64;

import de.juwimm.cms.authorization.vo.UserValue;
import de.juwimm.cms.model.SiteHbm;
import de.juwimm.cms.model.UnitHbm;

/**
 * @see de.juwimm.cms.authorization.model.UserHbm
 */
public class UserHbmImpl extends de.juwimm.cms.authorization.model.UserHbm {
    /**
     * The serial version UID of this class. Needed for serialization.
     */
    private static final long serialVersionUID = -4618667299327020506L;
    private static Log log = LogFactory.getLog(UserHbmImpl.class);

    /**
     * @see de.juwimm.cms.authorization.model.UserHbm#addUnit(de.juwimm.cms.model.UnitHbm)
     */
    @Override
    @SuppressWarnings("unchecked")
    public void addUnit(de.juwimm.cms.model.UnitHbm unit) {
        unit.getUsers().add(this);
        getUnits().add(unit);
    }

    /**
     * @see de.juwimm.cms.authorization.model.UserHbm#dropUnit(de.juwimm.cms.model.UnitHbm)
     */
    @Override
    public void dropUnit(de.juwimm.cms.model.UnitHbm unit) {
        unit.getUsers().remove(this);
        getUnits().remove(unit);
    }

    /**
     * @see de.juwimm.cms.authorization.model.UserHbm#isInGroup(java.lang.Integer)
     */
    @Override
    public boolean isInGroup(java.lang.Integer groupId) { //TODO inefficent! solve per HBM query
        Collection c = getGroups();
        Iterator it = c.iterator();
        GroupHbm g = null;
        while (it.hasNext()) {
            g = (GroupHbm) it.next();
            if (g.getGroupId().equals(groupId)) {
                return true;
            }
        }
        return false;
    }

    /**
     * @see de.juwimm.cms.authorization.model.UserHbm#dropGroup(de.juwimm.cms.authorization.model.GroupHbm)
     */
    @Override
    public void dropGroup(de.juwimm.cms.authorization.model.GroupHbm group) {
        try {
            getGroups().remove(group);
            group.getUsers().remove(this);
        } catch (Exception ex) {
            throw new EJBException(ex.getMessage());
        }
    }

    /**
     * @return UserValue Object
     * @see de.juwimm.cms.authorization.model.UserHbm#getUserValue()
     */
    @Override
    public de.juwimm.cms.authorization.vo.UserValue getUserValue() {
        UserValue value = new UserValue();
        try {
            value.setUserName(getUserId());
            value.setFirstName(getFirstName());
            value.setLastName(getLastName());
            value.setMasterRoot(isMasterRoot());
            value.setEmail(getEmail());
            value.setConfigXML(getConfigXML());
            value.setLoginDate(getLoginDate());
        } catch (Exception e) {
            throw new EJBException(e);
        }
        return value;
    }

    /**
     * @see de.juwimm.cms.authorization.model.UserHbm#setUserValue(de.juwimm.cms.authorization.vo.UserValue)
     */
    @Override
    public void setUserValue(de.juwimm.cms.authorization.vo.UserValue value) {
        try {
            setFirstName(value.getFirstName());
            setLastName(value.getLastName());
            setMasterRoot(value.isMasterRoot());
            setEmail(value.getEmail());
            setConfigXML(value.getConfigXML());
            setLoginDate(value.getLoginDate());
        } catch (Exception e) {
            throw new EJBException(e);
        }
    }

    /**
     * @see de.juwimm.cms.authorization.model.UserHbm#getUserLoginValue()
     */

    public de.juwimm.cms.authorization.vo.UserLoginValue getUserLoginValue() {
        //      log.info(">>>>>>>>>>>>>>>>>>>> am in getUserLoginValue...");
        //      UserLoginValue value = new UserLoginValue();
        //      log.info(">>>>>>>>>>>>>>>>>>>> created Value...");
        //      value.setUser(getUserValue());
        //      log.info(">>>>>>>>>>>>>>>>>>>> set user...");
        //      value.setSiteConfigXML(getConfigXML());
        //      log.info(">>>>>>>>>>>>>>>>>>>> set xml config");
        //      log.info(">>>>>>>>>>>>>>>>>>>> active site: " + getActiveSite());
        //      value.setSiteName(getActiveSite().getName());
        //      log.info(">>>>>>>>>>>>>>>>>>>> found and set active Site...");
        //      Collection units = getUnits();
        //      log.info(">>>>>>>>>>>>>>>>>>>> the units...: " + units);
        //      UnitValue[] uv = new UnitValue[units.size()];
        //      int i = 0;
        //      for (Iterator it = units.iterator(); it.hasNext();) {
        //         uv[i++] = ((UnitValue) it.next());
        //      }
        //      value.setUnits(uv);
        //      return value;
        return null;
    }

    /**
     * @see de.juwimm.cms.authorization.model.UserHbm#setUserLoginValue(de.juwimm.cms.authorization.vo.UserLoginValue)
     */
    @Override
    public void setUserLoginValue(de.juwimm.cms.authorization.vo.UserLoginValue value) {
        setFirstName(value.getUser().getFirstName());
        setLastName(value.getUser().getLastName());
        setMasterRoot(value.getUser().isMasterRoot());
        setEmail(value.getUser().getEmail());
        setLoginDate(value.getUser().getLoginDate());
    }

    @Override
    public String encrypt(String x) {
        String passwd = null;
        try {
            byte[] hash = MessageDigest.getInstance("SHA-1").digest(x.getBytes());
            passwd = Base64.encodeBytes(hash);
        } catch (Exception exe) {
            log.error("encryption failed", exe);
        }
        return passwd;
    }

    @Override
    public boolean isInUnit(Integer unitId) {
        Collection units = getUnits();
        Iterator it = units.iterator();
        while (it.hasNext()) {
            int uId = ((UnitHbm) it.next()).getUnitId();
            if (uId == unitId) {
                return true;
            }
        }
        return false;
    }

    /* (non-Javadoc)
     * @see de.juwimm.cms.authorization.model.UserHbm#dropSite(de.juwimm.cms.model.SiteHbm)
     */
    @Override
    public void dropSite(SiteHbm site) {
        this.getSites().remove(site);
    }
}