/** * @param <T> * @param <U> * @param <V> * @param col * @return three separate lists */ public static <T, U, V> Triple<ArrayList<T>, ArrayList<U>, ArrayList<V>> unzip( Collection<Triple<T, U, V>> col ) { ArrayList<T> list1 = new ArrayList<T>( col.size() ); ArrayList<U> list2 = new ArrayList<U>( col.size() ); ArrayList<V> list3 = new ArrayList<V>( col.size() ); for ( Triple<T, U, V> pair : col ) { list1.add( pair.first ); list2.add( pair.second ); list3.add( pair.third ); } return new Triple<ArrayList<T>, ArrayList<U>, ArrayList<V>>( list1, list2, list3 ); }
/** * @return the base stylings for all symbolizers sorted by rules and the corresponding scale denominators */ public LinkedList<Triple<LinkedList<Styling>, DoublePair, LinkedList<String>>> getBasesWithScales() { LinkedList<Triple<LinkedList<Styling>, DoublePair, LinkedList<String>>> list; list = new LinkedList<Triple<LinkedList<Styling>, DoublePair, LinkedList<String>>>(); for ( Pair<Continuation<LinkedList<Symbolizer<?>>>, DoublePair> rule : rules ) { LinkedList<Symbolizer<?>> base = new LinkedList<Symbolizer<?>>(); rule.first.evaluate( base, null, null ); LinkedList<Styling> stylings = new LinkedList<Styling>(); LinkedList<String> xmlTexts = new LinkedList<String>(); for ( Symbolizer<?> s : base ) { stylings.add( (Styling) s.getBase() ); String text = labelXMLTexts.get( s ); if ( text != null ) { xmlTexts.add( text ); } } if ( !stylings.isEmpty() ) { list.add( new Triple<LinkedList<Styling>, DoublePair, LinkedList<String>>( stylings, rule.second, xmlTexts ) ); } } return list; }
private static void addStringProp( String propNs, String propName, DatabaseTables table, String column, boolean concatenated ) { QName qName = new QName( propNs, propName ); Triple<Pair<String, String>, Boolean, BaseType> mapping = new Triple<Pair<String, String>, Boolean, BaseType>( new Pair<String, String>( table.name(), column ), concatenated, STRING ); propToTableAndCol.put( qName, mapping ); }
private static void addBooleanProp( String propNs, String propName, DatabaseTables table, String column ) { QName qName = new QName( propNs, propName ); Triple<Pair<String, String>, Boolean, BaseType> mapping = new Triple<Pair<String, String>, Boolean, BaseType>( new Pair<String, String>( table.name(), column ), false, BOOLEAN ); propToTableAndCol.put( qName, mapping ); }
private static void addGeometryProp( String propNs, String propName, DatabaseTables table, String column, boolean concatenated ) { QName qName = new QName( propNs, propName ); Triple<Pair<String, String>, Boolean, BaseType> mapping = new Triple<Pair<String, String>, Boolean, BaseType>( new Pair<String, String>( table.name(), column ), concatenated, null ); propToTableAndCol.put( qName, mapping ); }
private static void addDateProp( String propNs, String propName, DatabaseTables table, String column ) { QName qName = new QName( propNs, propName ); Triple<Pair<String, String>, Boolean, BaseType> mapping = new Triple<Pair<String, String>, Boolean, BaseType>( new Pair<String, String>( table.name(), column ), false, DATE_TIME ); propToTableAndCol.put( qName, mapping ); }
private static void addIntProp( String propNs, String propName, DatabaseTables table, String column ) { QName qName = new QName( propNs, propName ); Triple<Pair<String, String>, Boolean, BaseType> mapping = new Triple<Pair<String, String>, Boolean, BaseType>( new Pair<String, String>( table.name(), column ), false, INTEGER ); propToTableAndCol.put( qName, mapping ); }
private static void addDecimalProp( String propNs, String propName, DatabaseTables table, String column ) { QName qName = new QName( propNs, propName ); Triple<Pair<String, String>, Boolean, BaseType> mapping = new Triple<Pair<String, String>, Boolean, BaseType>( new Pair<String, String>( table.name(), column ), false, DECIMAL ); propToTableAndCol.put( qName, mapping ); }
Continuation<StringBuffer> contn = context.parser.updateOrContinue( in, "OnlineResource", new StringBuffer(), SBUPDATER, null ).second; return new Triple<InputStream, String, Continuation<StringBuffer>>( null, null, contn ); LOG.debug( "Loading from URL '{}'", url ); in.nextTag(); return new Triple<InputStream, String, Continuation<StringBuffer>>( url.openStream(), strUrl, null ); } catch ( IOException e ) { LOG.debug( "Stack trace:", e ); if ( format.equalsIgnoreCase( "base64" ) ) { ByteArrayInputStream bis = new ByteArrayInputStream( Base64.decodeBase64( in.getElementText() ) ); return new Triple<InputStream, String, Continuation<StringBuffer>>( bis, null, null );
geometries.add( geom ); if ( geom instanceof Point || geom instanceof MultiPoint ) { list.add( new Triple<Styling, LinkedList<Geometry>, String>( defaultPointStyle, geometries, null ) ); } else if ( geom instanceof Curve || geom instanceof MultiCurve<?> || geom instanceof MultiLineString ) { list.add( new Triple<Styling, LinkedList<Geometry>, String>( defaultLineStyle, geometries, null ) ); } else if ( geom instanceof Surface || geom instanceof MultiSurface<?> || geom instanceof MultiPolygon || geom instanceof Envelope ) { list.add( new Triple<Styling, LinkedList<Geometry>, String>( defaultPolygonStyle, geometries, null ) ); } else { text = sb.toString(); res.add( new Triple<Object, Object, String>( p.first, p.second, text ) );
return new Triple<Symbolizer<?>, Continuation<StringBuffer>, String>( parsePointSymbolizer( in, uom ), null, null ); return new Triple<Symbolizer<?>, Continuation<StringBuffer>, String>( parseLineSymbolizer( in, uom ), null, null ); return new Triple<Symbolizer<?>, Continuation<StringBuffer>, String>( parsePolygonSymbolizer( in, uom ), null, null ); return new Triple<Symbolizer<?>, Continuation<StringBuffer>, String>( parseRasterSymbolizer( in, uom ), null, null );
return new Triple<BufferedImage, String, Continuation<List<Pair<BufferedImage, String>>>>( img, url, contn );
/** * @param in * @param service * @param gm * filters will be added to this GetMap instance * @return a list of layers parsed from SLD * @throws XMLStreamException * @throws OWSException * @throws ParseException */ @Deprecated public static Triple<LinkedList<LayerRef>, LinkedList<StyleRef>, LinkedList<OperatorFilter>> parse( XMLStreamReader in, RequestBase gm ) throws XMLStreamException, OWSException, ParseException { StylesContainer styleInformations = parse( in ); for ( Pair<String, List<?>> dimension : styleInformations.getDimensions() ) { gm.addDimensionValue( dimension.first, dimension.second ); } LinkedList<LayerRef> layerRefs = new LinkedList<LayerRef>(); LinkedList<StyleRef> styleRefs = new LinkedList<StyleRef>(); LinkedList<OperatorFilter> filters = new LinkedList<OperatorFilter>(); List<StyleContainer> styles = styleInformations.getStyles(); for ( StyleContainer styleInformation : styles ) { layerRefs.add( styleInformation.getLayerRef() ); styleRefs.add( styleInformation.getStyleRef() ); filters.add( styleInformation.getFilter() ); } return new Triple<LinkedList<LayerRef>, LinkedList<StyleRef>, LinkedList<OperatorFilter>>( layerRefs, styleRefs, filters ); }
list.add( new Triple<LayerRef, StyleRef, OperatorFilter>( lRef, sRef, f ) );
Symbolizer<TextStyling> sym = new Symbolizer<TextStyling>( baseOrEvaluated, common.geometry, common.name, common.loc, common.line, common.col ); return new Triple<Symbolizer<TextStyling>, Continuation<StringBuffer>, String>( sym, label, xmlText ); return new Triple<Symbolizer<TextStyling>, Continuation<StringBuffer>, String>( sym, label, xmlText );