/** * 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); } }