/* * Licensed Materials - Property of Perforce Software, Inc. * © Copyright Perforce Software, Inc. 2014, 2021 * © 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; } }