/** * Creates a new {@link IdAnalyzer} instance for the given {@link MappedAppSchema}. * * @param schema application schema with mapping information, must not be <code>null</code> */ public IdAnalyzer( MappedAppSchema schema ) { this.schema = schema; for ( FeatureType ft : schema.getFeatureTypes() ) { if ( !ft.isAbstract() ) { FeatureTypeMapping ftMapping = schema.getFtMapping( ft.getName() ); if ( ftMapping != null ) { FIDMapping fidMapping = ftMapping.getFidMapping(); if ( fidMapping != null ) { LOG.debug( fidMapping.getPrefix() + " -> " + ft.getName() ); prefixToFt.put( fidMapping.getPrefix(), ft ); } } } } prefixKeysSortedByLengthDesc = prefixToFt.keySet().toArray( new String[0] ); sortByLengthDescending( prefixKeysSortedByLengthDesc ); }