entityviewconfigmanagerejb.java

来自「CRM源码This file describes some issues tha」· Java 代码 · 共 240 行

JAVA
240
字号
/* * Copyright 2006-2007 Queplix Corp. * * Licensed under the Queplix Public License, Version 1.1.1 (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.queplix.com/solutions/commercial-open-source/queplix-public-license/ * * 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. */package com.queplix.core.modules.config.ejb;import com.queplix.core.jxb.entity.Entity;import com.queplix.core.modules.config.error.UnknownEntityException;import com.queplix.core.modules.config.utils.ConfigPropertyFactory;import com.queplix.core.utils.cache.Cache;import com.queplix.core.utils.ejb.AbstractSessionEJB;import com.queplix.core.integrator.entity.EntityViewHelper;import java.util.Collection;import java.util.Iterator;/** * <p>LogonSession EJB drives the Entity EntityViewConfig EJBs</p> * @author [ALB] Baranov Andrey * @version $Revision: 1.1.1.1 $ $Date: 2005/09/12 15:30:14 $ */public class EntityViewConfigManagerEJB    extends AbstractSessionEJB {    //---------------------------------------------------------------- public methods    /**     * Initialize bean     */    public void ejbCreate() {}    /**     * Delete all Entity objects from database.     * @return number of updated records     */    public int deleteEntities() {        long time = System.currentTimeMillis();        DEBUG( "Try to delete all entity view configs" );        // Clear cache        Cache cache = ConfigPropertyFactory.getInstance().getEntityViewConfigCache();        cache.clear();        EntityViewHelper.getInstance().clearCache();        // Delete all records.        int updated = ConfigPropertyFactory.getInstance().getEntityViewConfigDAO().clearAllEntityVO();        if( getLogger().isDebugEnabled() ) {            DEBUG( "Delete all entity configs - ok. Count " + updated +                   ". Time (ms): " + ( System.currentTimeMillis() - time ) );        }        return updated;    }    /**     * Delete Entity object from database.     * @param entityName entity name attribute     * @return number of updated records     */    public int deleteEntityViewConfig( String entityName ) {        if( getLogger().isDebugEnabled() ) {            DEBUG( "Try to delete entity view config '" + entityName + "'" );        }        // Clear cache        Cache cache = ConfigPropertyFactory.getInstance().getEntityViewConfigCache();        cache.clear();        EntityViewHelper.getInstance().clearCache();        // Delete one record.        int updated = ConfigPropertyFactory.getInstance().getEntityViewConfigDAO().clearEntityVO( entityName );        return updated;    }    /**     * Get Entity value object by the name     * @param entityName entity name attribute     * @return Entity object     */    public Entity getEntityViewConfig( String entityName ) {        if( getLogger().isDebugEnabled() ) {            DEBUG( "Try to get entity view config '" + entityName + "'" );        }        // Try to find out in cache.        Cache cache = ConfigPropertyFactory.getInstance().getEntityViewConfigCache();        Entity entity = ( Entity ) cache.get( entityName );        if( entity == null ) {            // Load record from database.            entity = ConfigPropertyFactory.getInstance().getEntityViewConfigDAO().loadEntityVO( entityName );            // Store in cache.            cache.put( entityName, entity );        } else {            // Found in cache!            if( getLogger().isDebugEnabled() ) {                DEBUG( "Entity '" + entityName + "' found in the cache." );            }        }        if( entity == null ) {            throw new UnknownEntityException( entityName,                                              "Incorrect entity class format. " +                                              "Please call entity tool again." );        }        // Return read-only entity.        return entity;    }    /**     * Get collection of Entity value objects     * @return collection of Entity objects     */    public Collection getEntityViewConfigs() {        Collection entities;        long time = System.currentTimeMillis();        DEBUG( "Try to get All entities" );        Cache cache = ConfigPropertyFactory.getInstance().getEntityViewConfigCache();        if( cache.isOpen() ) {            // Load entities.            entities = ConfigPropertyFactory.getInstance().getEntityViewConfigDAO().loadAllEntityVO();            synchronized( cache ) {                // Clear cache.                cache.clear();                EntityViewHelper.getInstance().clearCache();                // Store entities in cache.                if( entities != null ) {                    for( Iterator it = entities.iterator(); it.hasNext(); ) {                        Entity entity = ( Entity ) it.next();                        cache.put( entity.getName(), entity );                    }                }                // Close cache.                cache.close();            }        } else {            // Take entire cache.            entities = cache.values();        }        if( getLogger().isDebugEnabled() ) {            DEBUG( "Get All entitiy view configs - ok. Time (ms): " + ( System.currentTimeMillis() - time ) );        }        // Return read-only collection.        return entities;    }    /**     * Create new Entity object     * @param entity Entity object     * @return count of updated records     */    public int createEntityViewConfig( Entity entity ) {        String entityName = entity.getName();        if( getLogger().isDebugEnabled() ) {            DEBUG( "Try to create entity view config '" + entityName + "'" );        }        // Clear cache.        Cache cache = ConfigPropertyFactory.getInstance().getEntityViewConfigCache();        cache.clear();        EntityViewHelper.getInstance().clearCache();        // Update History object.        ConfigPropertyFactory.getInstance().getEntityViewConfigDAO().storeHistoryVO( entity );        // Create Entity object.        return ConfigPropertyFactory.getInstance().getEntityViewConfigDAO().storeEntityVO( entity );    }    /**     * Fill collection of Entity objects     * @param entities collection of Entity objects     * @return number of updated records     */    public int fillEntityViewConfigs( Entity[] entities ) {        long time = System.currentTimeMillis();        INFO( "Try to fill All Entity objects" );        // Delete all first.        deleteEntities();        // Create new again.        int updated = 0;        int count = entities.length;        for( int i = 0; i < count; i++ ) {            Entity entity = entities[i];            String name = entity.getName();            updated += createEntityViewConfig( entity );            if( getLogger().isInfoEnabled() ) {                INFO( ( i + 1 ) + "[" + count + "] deploy entity '" + name + "' - ok" );            }        }        if( getLogger().isDebugEnabled() ) {            INFO( "Fill all entity configs - ok. Count " + count +                  ". Time (ms): " + ( System.currentTimeMillis() - time ) );        }        return updated;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?