Package clips.delegate.directory.complex

Source Code of clips.delegate.directory.complex.DirectoryPacketTemplate

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package clips.delegate.directory.complex;

import beans.directory.packet.template.DirectoryPacketTemplateBeanRemote;
import beans.directory.packet.entity.PacketTemplateDetails;
import beans.directory.packet.template.DirectoryPacketTemplateBean;
import cli_fmw.delegate.directory.DirectoryMagic;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.SelectorEditableExceptional;
import clips.delegate.directory.ro.DirectoryLpuItem;
import clips.login.UserInfo;
import framework.beans.directory.DirectoryItemDetails;
import framework.utils.ROList;
import java.util.ArrayList;
import java.util.HashMap;

/**
*
* @author lacoste
*/
public class DirectoryPacketTemplate extends
        DirectoryMagic<DirectoryPacketTemplateBeanRemote, DirectoryPacketTemplateItem>  {
   
    private HashMap<DirectoryLpuItem, ROList<DirectoryPacketTemplateItem>> map;

    public DirectoryPacketTemplate() throws ClipsException {
        super(DirectoryPacketTemplateBean.class.getSimpleName());
        map = new HashMap<DirectoryLpuItem, ROList<DirectoryPacketTemplateItem>>();
    }
   
    @Override
    public String getDirectoryTitle() {
        return "Шаблоны пакетов услуг";
    }

    @Override
    protected DirectoryPacketTemplateItem createFromLoadedDetails(DirectoryItemDetails details) {
        PacketTemplateDetails d = (PacketTemplateDetails) details;
        return new DirectoryPacketTemplateItem(d);
    }

    @Override
    protected DirectoryPacketTemplateItem createNullItem() {
        PacketTemplateDetails details = new PacketTemplateDetails();
        details.title = "Не указан";
        return new DirectoryPacketTemplateItem(details);
    }

//    /**
//     *
//     * @return
//     * @deprecated Unsupported, use "getFilteredItems"
//     */
//    @Deprecated
//    @Override
//    public SelectorEditableExceptional<DirectoryPacketTemplateItem> getItems() {
//        throw new UnsupportedOperationException("Unsupported, use \"getFilteredItems\"");
//    }

     private ArrayList<DirectoryPacketTemplateItem> filterItems(DirectoryLpuItem lpu) throws ClipsException{
        ArrayList<DirectoryPacketTemplateItem> list = new ArrayList<DirectoryPacketTemplateItem>(0);
        if (lpu == null) {
            return list;
        }
        SelectorEditableExceptional<DirectoryPacketTemplateItem> items = getItems();
        for (int i = 0; i < items.size(); i++) {
            DirectoryPacketTemplateItem item = items.get(i);
            if(item.getLpu() != null && item.getLpu().getID() == lpu.getID()){
                list.add(item);
            }
        }
        return list;
    }

    public ROList<DirectoryPacketTemplateItem> getFilteredItems(DirectoryLpuItem lpu) throws ClipsException {
        if (map.get(lpu) == null){
            map.put(lpu, new ROList<DirectoryPacketTemplateItem>(filterItems(lpu)));
        }
        return map.get(lpu);
    }

//    @Override
//    protected void removeDB(DirectoryPacketTemplateItem item) throws ClipsException {
//        super.removeDB(item);
//        map.clear();
//    }

    @Override
    protected void addToExtraCache(DirectoryPacketTemplateItem item) {
        map.clear();
    }

    @Override
    protected void removeFromExtraCache(DirectoryPacketTemplateItem item) {
        map.clear();
    }





}
TOP

Related Classes of clips.delegate.directory.complex.DirectoryPacketTemplate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.