Package org.geoforge.guillc.menuitem

Source Code of org.geoforge.guillc.menuitem.GfrMimTrsAlrDelAllObjMlosAbs

/*
*  Copyright (C) 2011-2014 GeoForge Project
*
*  This program is free software; you can redistribute it and/or
*  modify it under the terms of the GNU Lesser General Public License
*  as published by the Free Software Foundation; either version 2
*  of the License, or (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU Lesser General Public License for more details.
*
*  You should have received a copy of the GNU Lesser General Public License
*  along with this program; if not, write to the Free Software
*  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/
package org.geoforge.guillc.menuitem;

import java.awt.event.ActionListener;
import java.util.Observable;
import java.util.logging.Logger;
import org.geoforge.guillc.optionpane.GfrOptionPaneAbs;
import org.geoforge.java.util.logging.filehandler.FileHandlerLogger;
import org.geoforge.mdldat.event.GfrEvtMdlIdDatAddedMlo;
import org.geoforge.mdldat.event.GfrEvtMdlIdDatRemovedAllMlo;
import org.geoforge.mdldat.event.GfrEvtMdlIdDatRemovedMlo;
import org.geoforge.mdl.event.GfrEvtMdlIdAbs;

/**
*
* @author bantchao
*/
abstract public class GfrMimTrsAlrDelAllObjMlosAbs extends GfrMimTrsAlrDelAllObjAbs
{
   // ----
    // begin: instantiate logger for this class
    final private static Logger _LOGGER_ = Logger.getLogger(GfrMimTrsAlrDelAllObjMlosAbs.class.getName());

    static
    {
        GfrMimTrsAlrDelAllObjMlosAbs._LOGGER_.addHandler(FileHandlerLogger.s_getInstance());
    }

    // end: instantiate logger for this class
    // ----
   
   private String _strIdThis_ = null;
  
   public String getIdThis() { return this._strIdThis_; }
  
   abstract protected void _updateRemovedObject() throws Exception;
   
    protected GfrMimTrsAlrDelAllObjMlosAbs(ActionListener alrController, String strLabel, String strIdThis)
            throws Exception
    {
        super(alrController, strLabel);
       
        this._strIdThis_ = strIdThis;
        _load();
    }

    @Override
   public void update(Observable obs, Object objEvt)
   {   
      if (objEvt instanceof GfrEvtMdlIdDatRemovedAllMlo)
      {
         GfrEvtMdlIdAbs mdlId = (GfrEvtMdlIdAbs) objEvt;
         String strIdEvt = mdlId.getId();
        
         if (strIdEvt.compareTo(this._strIdThis_) != 0)
            return;
        
         if (! super.isEnabled())
            return;
        
         super.setEnabled(false);
         return;
      }
     
      if (objEvt instanceof GfrEvtMdlIdDatAddedMlo)
      {
         GfrEvtMdlIdDatAddedMlo mdlId = (GfrEvtMdlIdDatAddedMlo) objEvt;
         String strIdParent = mdlId.getIdParent();
        
         if (strIdParent.compareTo(this._strIdThis_) != 0)
            return;
        
         if (super.isEnabled())
            return;
        
         super.setEnabled(true);
         return;
      }
     
      if (objEvt instanceof GfrEvtMdlIdDatRemovedMlo)
      {
         GfrEvtMdlIdDatRemovedMlo mdlId = (GfrEvtMdlIdDatRemovedMlo) objEvt;
         String strIdParent = mdlId.getIdParent();
        
         if (strIdParent.compareTo(this._strIdThis_) != 0)
            return;
        
         if (! super.isEnabled())
            return;
        
         try
         {
            _updateRemovedObject();
            return;
         }
        
         catch(Exception exc)
         {
            exc.printStackTrace();
            String str = exc.getMessage();
            GfrMimTrsAlrDelAllObjMlosAbs._LOGGER_.severe(str);
            GfrOptionPaneAbs.s_showDialogError(null, str);
            return;
         }
      }
     
      super.update(obs, objEvt);
   }
}
TOP

Related Classes of org.geoforge.guillc.menuitem.GfrMimTrsAlrDelAllObjMlosAbs

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.