/*
* Licensed Materials - Property of Rogue Wave Software, Inc.
* © Copyright Rogue Wave Software, Inc. 2014, 2017
* © Copyright IBM Corp. 2009, 2014
* © Copyright ILOG 1996, 2009
* All Rights Reserved.
*
* Note to U.S. Government Users Restricted Rights:
* The Software and Documentation were developed at private expense and
* are "Commercial Items" as that term is defined at 48 CFR 2.101,
* consisting of "Commercial Computer Software" and
* "Commercial Computer Software Documentation", as such terms are
* used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4,
* as applicable.
*/
package plugins;
import java.io.File;
import java.net.URL;
import java.security.AccessControlException;
import ilog.views.IlvManagerView;
import ilog.views.maps.IlvMapUtil;
import ilog.views.maps.raster.IlvRasterAbstractReader;
import nodefense.ASRPDefLess;
/**
* Class that manages ASRP import action.
*/
public class ASRPLoadAction extends DefaultLoadAction {
/**
* Creates an action for the specified view
*
* @param view
* view to add map data to.
*/
public ASRPLoadAction(IlvManagerView view) {
super(view);
}
/**
* @see plugins.ImportAction#getSubDirectory()
*/
Override
protected String getSubDirectory() {
return IlvMapUtil.getString(getClass(), "ASRPLoadAction.CDDirectory"); //$NON-NLS-1$
}
/**
* @see plugins.DefaultLoadAction#makeReader(java.lang.String)
*/
Override
public IlvRasterAbstractReader makeReader(String fileName) {
Object r = ASRPDefLess.newIlvRasterASRPReader();
ASRPDefLess.addMap(r, fileName);
return (IlvRasterAbstractReader) r;
}
/**
* @see plugins.DefaultLoadAction#makeReader(URL)
*/
Override
public IlvRasterAbstractReader makeReader(URL url) {
Object r = ASRPDefLess.newIlvRasterASRPReader();
ASRPDefLess.addMap(r, url);
return (IlvRasterAbstractReader) r;
}
/**
* @see plugins.DefaultLoadAction#getExtensions()
*/
Override
public String[] getExtensions() {
return new String[] { ".gen" }; //$NON-NLS-1$
}
/**
* @see plugins.DefaultLoadAction#getFormatName()
*/
Override
public String getFormatName() {
return ilog.views.maps.IlvMapUtil.getString(getClass(), "ASRPLoadAction.FormatName"); //$NON-NLS-1$
}
/**
* @see plugins.ImportAction#accept(java.io.File)
*/
Override
public boolean accept(File f) {
boolean accept = super.accept(f);
boolean dir = false;
try {
dir = f.isDirectory();
} catch (AccessControlException e) {
// applets.
}
if (accept && !dir) {
if (!ASRPDefLess.isASRPFile(f)) {
accept = false;
}
}
return accept;
}
/**
* @see plugins.ImportAction#isAvailable()
*/
Override
public boolean isAvailable() {
return super.isAvailable() && ASRPDefLess.isAvailable();
}
}