/*
* 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.
*/
import java.io.IOException;
import ilog.views.IlvManager;
import ilog.views.maps.IlvMapFeatureIterator;
import ilog.views.maps.format.IlvMapFormatException;
import ilog.views.maps.format.IlvMapLoader;
/**
* A class that extends IlvMapLoader to take the polygon reader into account.
*/
public class MyMapLoader extends IlvMapLoader {
/**
* Constructor
*/
public MyMapLoader(IlvManager manager) {
super(manager);
}
/**
* Overrides the makeFeatureIterator method from super class
*/
Override
public IlvMapFeatureIterator makeFeatureIterator(String fileName) throws IOException {
// Does superclass know the format of provided file ?
IlvMapFeatureIterator result = super.makeFeatureIterator(fileName);
// If not, try with the polygon reader
if (result == null) {
// test extension
int length = fileName.length();
// .pol are polylines files
if (length > 4) {
String suffix = fileName.substring(length - 4);
if (suffix.toLowerCase(IlvMapLoader.getFileLocale()).equals(".pol")) {
try {
return new MyPolylineReader(fileName);
} catch (IlvMapFormatException e) {
return null;
}
}
}
}
return result;
}
}