de.juwimm.cms.components.remote.ComponentsServiceSpringImpl.java Source code

Java tutorial

Introduction

Here is the source code for de.juwimm.cms.components.remote.ComponentsServiceSpringImpl.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.components.remote;

import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Vector;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import de.juwimm.cms.authorization.model.UserHbm;
import de.juwimm.cms.components.model.AddressHbm;
import de.juwimm.cms.components.model.AddressHbmImpl;
import de.juwimm.cms.components.model.DepartmentHbm;
import de.juwimm.cms.components.model.DepartmentHbmImpl;
import de.juwimm.cms.components.model.PersonHbm;
import de.juwimm.cms.components.model.PersonHbmImpl;
import de.juwimm.cms.components.model.TalktimeHbm;
import de.juwimm.cms.components.model.TalktimeHbmImpl;
import de.juwimm.cms.components.vo.AddressValue;
import de.juwimm.cms.components.vo.DepartmentValue;
import de.juwimm.cms.components.vo.PersonValue;
import de.juwimm.cms.components.vo.TalktimeValue;
import de.juwimm.cms.exceptions.UserException;
import de.juwimm.cms.model.UnitHbm;
import de.juwimm.cms.remote.helper.AuthenticationHelper;
import de.juwimm.cms.vo.UnitValue;

/**
 * @see de.juwimm.cms.components.remote.ComponentsServiceSpring
 * @author <a href="mailto:carsten.schalm@juwimm.com">Carsten Schalm</a> ,
 *         Juwi|MacMillan Group Gmbh, Walsrode, Germany
 * @version $Id: ComponentsServiceSpringImpl.java 26864 2008-04-29 14:21:24Z
 *          greivej $
 */
public class ComponentsServiceSpringImpl extends ComponentsServiceSpringBase {
    private static Log log = LogFactory.getLog(ComponentsServiceSpringImpl.class);

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getPerson(java.lang.Long)
     */
    @Override
    protected PersonValue handleGetPerson(Long personId) throws Exception {
        PersonHbm person = getPersonHbmDao().load(personId);
        if (person != null) {
            return person.getDao(1);
        }
        return null;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpringBase#handleGetPersonByExternalId(java.lang.String)
     */
    @Override
    protected PersonValue handleGetPersonByExternalId(String personId) throws Exception {
        PersonHbm person = getPersonHbmDao().findByExternalId(personId);
        return person.getDao(1);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getPerson4Name(java.lang.String,
     *      java.lang.String)
     */
    @Override
    protected PersonValue[] handleGetPerson4Name(String firstName, String lastName) throws Exception {
        PersonValue[] personValues = new PersonValue[0];
        try {
            UserHbm user = getUserHbmDao().load(AuthenticationHelper.getUserName());
            Collection<PersonHbm> temp = getPersonHbmDao().findByName(user.getActiveSite().getSiteId(), firstName,
                    lastName);
            Iterator<PersonHbm> it = temp.iterator();
            Vector<PersonValue> vec = new Vector<PersonValue>();
            while (it.hasNext()) {
                vec.add(it.next().getDao(0));
            }
            personValues = vec.toArray(new PersonValue[0]);
        } catch (Exception e) {
            log.error("Could not get persons by name (" + firstName + " " + lastName + "): " + e.getMessage(), e);
        }
        return personValues;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getUnits4Name(java.lang.String)
     */
    @Override
    protected UnitValue[] handleGetUnits4Name(String name) throws Exception {
        try {
            Vector<UnitValue> vec = new Vector<UnitValue>();
            UserHbm user = getUserHbmDao().load(AuthenticationHelper.getUserName());
            Iterator it = getUnitHbmDao().findByName(user.getActiveSite().getSiteId(), name).iterator();
            while (it.hasNext()) {
                UnitHbm unit = (UnitHbm) it.next();
                vec.addElement(getUnitHbmDao().getDao(unit));
            }
            return vec.toArray(new UnitValue[0]);
        } catch (Exception e) {
            throw new UserException(e.getMessage());
        }
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getUnit(java.lang.Integer)
     */
    @Override
    protected UnitValue handleGetUnit(Integer unitId) throws Exception {
        UnitHbm unit = getUnitHbmDao().load(unitId);
        if (unit != null) {
            return getUnitHbmDao().getDao(unit);
        }
        return null;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getDepartments4Name(java.lang.String)
     */
    @Override
    protected DepartmentValue[] handleGetDepartments4Name(String name) throws Exception {
        UserHbm user = null;
        Iterator<DepartmentHbm> it = null;
        try {
            user = getUserHbmDao().load(AuthenticationHelper.getUserName());
            it = getDepartmentHbmDao().findByName(user.getActiveSite().getSiteId(), name).iterator();
        } catch (Exception e) {
            throw new UserException(e.getMessage());
        }
        Vector<DepartmentValue> vec = new Vector<DepartmentValue>();
        while (it.hasNext()) {
            vec.addElement(it.next().getDao(0));
        }
        return vec.toArray(new DepartmentValue[0]);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getDepartment(java.lang.Long)
     */
    @Override
    protected DepartmentValue handleGetDepartment(Long departmentId) throws Exception {
        DepartmentHbm department = getDepartmentHbmDao().load(departmentId);
        if (department != null) {
            return department.getDao(-1);
        }
        return null;
    }

    private PersonHbm createPersonHbmFromValue(PersonValue value) {
        PersonHbm personHbm = null;
        if (value != null) {
            if (value.getPersonId() != null) {
                personHbm = getPersonHbmDao().load(value.getPersonId());
            } else {
                personHbm = new PersonHbmImpl();
            }
            personHbm.setBirthDay(value.getBirthDay());
            personHbm.setCountryJob(value.getCountryJob());
            if (value.getDepartmentId() != null) {
                HashSet<DepartmentHbm> departments = new HashSet<DepartmentHbm>();
                departments.add(getDepartmentHbmDao().load(value.getDepartmentId()));
                personHbm.setDepartments(departments);
            }
            if (value.getUnitId() != null) {
                personHbm.getUnits().add(getUnitHbmDao().load(value.getUnitId().intValue()));
            }
            personHbm.setFirstname(value.getFirstname());
            personHbm.setImageId(value.getImageId());
            personHbm.setJob(value.getJob());
            personHbm.setJobTitle(value.getJobTitle());
            personHbm.setLastname(value.getLastname());
            personHbm.setLinkMedicalAssociation(value.getLinkMedicalAssociation());
            personHbm.setMedicalAssociation(value.getMedicalAssociation());
            personHbm.setPosition(value.getPosition());
            personHbm.setSalutation(value.getSalutation());
            personHbm.setSex(value.getSex());
            personHbm.setTitle(value.getTitle());
        }
        return personHbm;
    }

    private AddressHbm createAddressHbmFromValue(AddressValue value) {
        AddressHbm address = null;
        if (value != null) {
            if (value.getAddressId() != null) {
                address = getAddressHbmDao().load(value.getAddressId());
            } else {
                address = new AddressHbmImpl();
            }
            address.setAddressType(value.getAddressType());
            address.setBuildingLevel(value.getBuildingLevel());
            address.setBuildingNr(value.getBuildingNr());
            address.setCity(value.getCity());
            address.setCountry(value.getCountry());
            address.setCountryCode(value.getCountryCode());
            address.setEmail(value.getEmail());
            address.setFax(value.getFax());
            address.setHomepage(value.getHomepage());
            address.setMisc(value.getMisc());
            address.setMobilePhone(value.getMobilePhone());
            address.setPhone1(value.getPhone1());
            address.setPhone2(value.getPhone2());
            address.setPostOfficeBox(value.getPostOfficeBox());
            address.setRoomNr(value.getRoomNr());
            address.setStreet(value.getStreet());
            address.setStreetNr(value.getStreetNr());
            address.setZipCode(value.getZipCode());
        }
        return address;
    }

    private DepartmentHbm createDepartmentHbmFromValue(DepartmentValue value) {
        DepartmentHbm department = null;
        if (value != null) {
            if (value.getDepartmentId() != null) {
                department = getDepartmentHbmDao().load(value.getDepartmentId());
            } else {
                department = new DepartmentHbmImpl();
            }
            department.setName(value.getName());
        }
        return department;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#createPerson(de.juwimm.cms.components.vo.PersonValue)
     */
    @Override
    protected Long handleCreatePerson(PersonValue value) throws Exception {
        PersonHbm personHbm = this.createPersonHbmFromValue(value);
        personHbm = getPersonHbmDao().create(personHbm);
        return personHbm.getPersonId();
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#createAddress(de.juwimm.cms.components.vo.AddressValue)
     */
    @Override
    protected Long handleCreateAddress(AddressValue value) throws Exception {
        AddressHbm address = this.createAddressHbmFromValue(value);
        address = getAddressHbmDao().create(address);
        return address.getAddressId();
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#createDepartment(java.lang.String,
     *      java.lang.Integer)
     */
    @Override
    protected Long handleCreateDepartment(String name, Integer unitId) throws Exception {
        DepartmentHbm department = new DepartmentHbmImpl();
        department.setName(name);
        department.setUnit(getUnitHbmDao().load(unitId));
        department = getDepartmentHbmDao().create(department);
        return department.getDepartmentId();
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#addAddress2Person(java.lang.Long,
     *      java.lang.Long)
     */
    @Override
    protected void handleAddAddress2Person(Long personId, Long addressId) throws Exception {
        PersonHbm person = getPersonHbmDao().load(personId);
        AddressHbm address = getAddressHbmDao().load(addressId);
        person.addAddress(address);
        getPersonHbmDao().update(person);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#addAddress2Department(java.lang.Long,
     *      java.lang.Long)
     */
    @Override
    protected void handleAddAddress2Department(Long departmentId, Long addressId) throws Exception {
        DepartmentHbm department = getDepartmentHbmDao().load(departmentId);
        AddressHbm address = getAddressHbmDao().load(addressId);
        department.addAddress(address);
        getDepartmentHbmDao().update(department);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#addAddress2Unit(java.lang.Integer,
     *      java.lang.Long)
     */
    @SuppressWarnings("unchecked")
    @Override
    protected void handleAddAddress2Unit(Integer unitId, Long addressId) throws Exception {
        UnitHbm unit = getUnitHbmDao().load(unitId);
        AddressHbm address = getAddressHbmDao().load(addressId);
        unit.getAddresses().add(address);
        getUnitHbmDao().update(unit);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#removePerson(java.lang.Long)
     */
    @Override
    protected void handleRemovePerson(Long personId) throws Exception {
        getPersonHbmDao().remove(personId);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#createTalktime(java.lang.String,
     *      java.lang.String)
     */
    @Override
    protected Long handleCreateTalktime(String talkTimeType, String talkTimes) throws Exception {
        TalktimeHbm talktime = TalktimeHbm.Factory.newInstance();
        talktime.setTalkTimeType(talkTimeType);
        talktime.setTalkTimes(talkTimes);
        talktime = getTalktimeHbmDao().create(talktime);
        return talktime.getTalkTimeId();
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#addTalktime2Person(java.lang.Long,
     *      java.lang.String, java.lang.String)
     */
    @Override
    protected Long handleAddTalktime2Person(Long personId, String talkTimeType, String talkTimes) throws Exception {
        TalktimeHbm talktime = new TalktimeHbmImpl();
        talktime.setTalkTimes(talkTimes);
        talktime.setTalkTimeType(talkTimeType);
        talktime = getTalktimeHbmDao().create(talktime);
        PersonHbm person = getPersonHbmDao().load(personId);
        person.addTalktime(talktime);
        getPersonHbmDao().update(person);
        return talktime.getTalkTimeId();
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#addTalktime2Unit(java.lang.Integer,
     *      java.lang.String, java.lang.String)
     */
    @Override
    protected Long handleAddTalktime2Unit(Integer unitId, String talkTimeType, String talkTimes) throws Exception {
        TalktimeHbm talktime = new TalktimeHbmImpl();
        talktime.setTalkTimes(talkTimes);
        talktime.setTalkTimeType(talkTimeType);
        talktime = getTalktimeHbmDao().create(talktime);
        UnitHbm unit = getUnitHbmDao().load(unitId);
        talktime.setUnit(unit);
        getUnitHbmDao().update(unit);
        getTalktimeHbmDao().update(talktime);
        return talktime.getTalkTimeId();
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#addTalktime2Department(java.lang.Long,
     *      java.lang.String, java.lang.String)
     */
    @Override
    protected Long handleAddTalktime2Department(Long departmentId, String talkTimeType, String talkTimes)
            throws Exception {
        TalktimeHbm talktime = new TalktimeHbmImpl();
        talktime.setTalkTimes(talkTimes);
        talktime.setTalkTimeType(talkTimeType);
        talktime = getTalktimeHbmDao().create(talktime);
        DepartmentHbm department = getDepartmentHbmDao().load(departmentId);
        department.addTalktime(talktime);
        getDepartmentHbmDao().update(department);
        return talktime.getTalkTimeId();
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#removeTalktime(java.lang.Long)
     */
    @Override
    protected void handleRemoveTalktime(Long talktimeId) throws Exception {
        getTalktimeHbmDao().remove(talktimeId);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#removeUnit(java.lang.Integer)
     */
    @Override
    protected void handleRemoveUnit(Integer unitId) throws Exception {
        getUnitHbmDao().remove(unitId);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#removeDepartment(java.lang.Long)
     */
    @Override
    protected void handleRemoveDepartment(Long departmentId) throws Exception {
        getDepartmentHbmDao().remove(departmentId);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#removeAddress(java.lang.Long)
     */
    @Override
    protected void handleRemoveAddress(Long addressId) throws Exception {
        getAddressHbmDao().remove(addressId);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getDepartments4Unit(java.lang.Integer)
     */
    @Override
    protected DepartmentValue[] handleGetDepartments4Unit(Integer unitId) throws Exception {
        UnitHbm unit = getUnitHbmDao().load(unitId);
        Collection<DepartmentHbm> departments = unit.getDepartments();
        DepartmentValue[] departmentValues = new DepartmentValue[departments.size()];
        int i = 0;
        for (DepartmentHbm department : departments) {
            departmentValues[i++] = department.getDao(-1);
        }
        return departmentValues;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getPersons4Unit(java.lang.Integer)
     */
    @SuppressWarnings("unchecked")
    @Override
    protected PersonValue[] handleGetPersons4Unit(Integer unitId) throws Exception {
        Collection<PersonHbm> persons = getPersonHbmDao().findByUnit(unitId);
        PersonValue[] personValues = new PersonValue[persons.size()];
        int i = 0;
        for (PersonHbm person : persons) {
            personValues[i++] = person.getDao(-1);
        }
        return personValues;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getPersons4Department(java.lang.Long)
     */
    @Override
    protected PersonValue[] handleGetPersons4Department(Long departmentId) throws Exception {
        DepartmentHbm department = getDepartmentHbmDao().load(departmentId);
        Collection<PersonHbm> persons = department.getPersons();
        PersonValue[] personValues = new PersonValue[persons.size()];
        int i = 0;
        for (PersonHbm person : persons) {
            personValues[i++] = person.getDao(-1);
        }
        return personValues;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getTalktimes4Person(java.lang.Long)
     */
    @Override
    protected TalktimeValue[] handleGetTalktimes4Person(Long personId) throws Exception {
        PersonHbm person = getPersonHbmDao().load(personId);
        Collection<TalktimeHbm> talktimes = person.getTalktimes();
        TalktimeValue[] talktimeValues = new TalktimeValue[talktimes.size()];
        int i = 0;
        for (TalktimeHbm talktime : talktimes) {
            talktimeValues[i++] = talktime.getData();
        }
        return talktimeValues;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getTalktimes4Department(java.lang.Long)
     */
    @SuppressWarnings("unchecked")
    @Override
    protected TalktimeValue[] handleGetTalktimes4Department(Long departmentId) throws Exception {
        DepartmentHbm department = getDepartmentHbmDao().load(departmentId);
        Collection<TalktimeHbm> talktimes = department.getTalktimes();
        TalktimeValue[] talktimeValues = new TalktimeValue[talktimes.size()];
        int i = 0;
        for (TalktimeHbm talktime : talktimes) {
            talktimeValues[i++] = talktime.getData();
        }
        return talktimeValues;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getTalktimes4Unit(java.lang.Integer)
     */
    @SuppressWarnings("unchecked")
    @Override
    protected TalktimeValue[] handleGetTalktimes4Unit(Integer unitId) throws Exception {
        Collection<TalktimeHbm> talktimes = getTalktimeHbmDao().findByUnit(unitId);
        TalktimeValue[] talktimeValues = new TalktimeValue[talktimes.size()];
        int i = 0;
        for (TalktimeHbm talktime : talktimes) {
            talktimeValues[i++] = talktime.getData();
        }
        return talktimeValues;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getTalktime(java.lang.Long)
     */
    @Override
    protected TalktimeValue handleGetTalktime(Long talktimeId) throws Exception {
        TalktimeHbm talktime = getTalktimeHbmDao().load(talktimeId);
        if (talktime != null) {
            return talktime.getData();
        }
        return null;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#getAddress(java.lang.Long)
     */
    @Override
    protected AddressValue handleGetAddress(Long addressId) throws Exception {
        AddressHbm address = getAddressHbmDao().load(addressId);
        if (address != null) {
            return address.getData();
        }
        return null;
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#updatePerson(de.juwimm.cms.components.vo.PersonValue)
     */
    @Override
    protected void handleUpdatePerson(PersonValue personValue) throws Exception {
        PersonHbm personHbm = this.createPersonHbmFromValue(personValue);
        getPersonHbmDao().update(personHbm);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#updateDepartment(de.juwimm.cms.components.vo.DepartmentValue)
     */
    @Override
    protected void handleUpdateDepartment(DepartmentValue departmentValue) throws Exception {
        DepartmentHbm department = this.createDepartmentHbmFromValue(departmentValue);
        getDepartmentHbmDao().update(department);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#updateTalktime(de.juwimm.cms.components.vo.TalktimeValue)
     */
    @Override
    protected void handleUpdateTalktime(TalktimeValue talktimeValue) throws Exception {
        TalktimeHbm talktime = null;
        if (talktimeValue.getTalkTimeId() != null) {
            talktime = getTalktimeHbmDao().load(talktimeValue.getTalkTimeId());
        } else {
            talktime = new TalktimeHbmImpl();
        }
        talktime.setTalkTimes(talktimeValue.getTalkTimes());
        talktime.setTalkTimeType(talktimeValue.getTalkTimeType());
        getTalktimeHbmDao().update(talktime);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#updateAddressData(de.juwimm.cms.components.vo.AddressValue)
     */
    @Override
    protected void handleUpdateAddressData(AddressValue addressValue) throws Exception {
        AddressHbm address = this.createAddressHbmFromValue(addressValue);
        getAddressHbmDao().update(address);
    }

    /**
     * @see de.juwimm.cms.components.remote.ComponentsServiceSpring#setPicture4Person(java.lang.Long,
     *      java.lang.Integer)
     */
    @Override
    protected void handleSetPicture4Person(Long personId, Integer pictureId) throws Exception {
        PersonHbm person = getPersonHbmDao().load(personId);
        person.setImageId(pictureId);
        getPersonHbmDao().update(person);
    }

    @Override
    protected long handleCreateTalkTime(String talkTimes, String talkTimeType) throws Exception {
        long id = getTalktimeHbmDao().create(talkTimeType, talkTimes);
        return id;
    }

}