List of usage examples for org.apache.commons.lang StringUtils leftPad
public static String leftPad(String str, int size, String padStr)
Left pad a String with a specified String.
From source file:org.pivot4j.ui.table.TableRenderer.java
/** * @param model//www. j a va2 s. co m * @param axis * @param cache * @return */ protected TableHeaderNode createAxisTree(PivotModel model, Axis axis, MemberHierarchyCache cache) { List<CellSetAxis> axes = model.getCellSet().getAxes(); if (axes.size() < 2) { return null; } CellSetAxis cellSetAxis = axes.get(axis.axisOrdinal()); List<Position> positions = cellSetAxis.getPositions(); if (positions == null || positions.isEmpty()) { return null; } List<Hierarchy> hierarchies = new ArrayList<Hierarchy>(); List<Aggregator> aggregators = new ArrayList<Aggregator>(); List<Aggregator> hierarchyAggregators = new ArrayList<Aggregator>(); List<Aggregator> memberAggregators = new ArrayList<Aggregator>(); Map<AggregatorPosition, List<Aggregator>> aggregatorMap = new HashMap<AggregatorPosition, List<Aggregator>>(); aggregatorMap.put(AggregatorPosition.Grand, aggregators); aggregatorMap.put(AggregatorPosition.Hierarchy, hierarchyAggregators); aggregatorMap.put(AggregatorPosition.Member, memberAggregators); Map<Hierarchy, List<Level>> levelsMap = new HashMap<Hierarchy, List<Level>>(); boolean containsMeasure = false; List<Member> firstMembers = positions.get(0).getMembers(); int index = 0; for (Member member : firstMembers) { if (member instanceof Measure) { containsMeasure = true; break; } index++; } AggregatorFactory aggregatorFactory = getAggregatorFactory(); List<String> aggregatorNames = null; List<String> hierarchyAggregatorNames = null; List<String> memberAggregatorNames = null; if (aggregatorFactory != null && (!containsMeasure || index == firstMembers.size() - 1)) { aggregatorNames = getAggregators(axis, AggregatorPosition.Grand); hierarchyAggregatorNames = getAggregators(axis, AggregatorPosition.Hierarchy); memberAggregatorNames = getAggregators(axis, AggregatorPosition.Member); } if (aggregatorNames == null) { aggregatorNames = Collections.emptyList(); } if (hierarchyAggregatorNames == null) { hierarchyAggregatorNames = Collections.emptyList(); } if (memberAggregatorNames == null) { memberAggregatorNames = Collections.emptyList(); } TableAxisContext nodeContext = new TableAxisContext(model.getCube(), axis, hierarchies, levelsMap, aggregatorMap, cache, this); TableHeaderNode axisRoot = new TableHeaderNode(nodeContext); Set<Measure> grandTotalMeasures = new LinkedHashSet<Measure>(); Set<Measure> totalMeasures = new LinkedHashSet<Measure>(); Map<Hierarchy, List<AggregationTarget>> memberParentMap = new HashMap<Hierarchy, List<AggregationTarget>>(); Position lastPosition = null; OlapUtils utils = new OlapUtils(model.getCube()); utils.setMemberHierarchyCache(cache); for (Position position : positions) { TableHeaderNode lastChild = null; List<Member> members = position.getMembers(); int memberCount = members.size(); for (int i = memberCount - 1; i >= 0; i--) { Member member = members.get(i); if (member instanceof Measure) { Measure measure = (Measure) member; if (!totalMeasures.contains(measure)) { totalMeasures.add(measure); } if (!grandTotalMeasures.contains(measure)) { grandTotalMeasures.add(measure); } } else { member = utils.wrapRaggedIfNecessary(member); } if (hierarchies.size() < memberCount) { hierarchies.add(0, member.getHierarchy()); } List<Level> levels = levelsMap.get(member.getHierarchy()); if (levels == null) { levels = new ArrayList<Level>(); levelsMap.put(member.getHierarchy(), levels); } if (!levels.contains(member.getLevel())) { levels.add(0, member.getLevel()); Collections.sort(levels, levelComparator); } TableHeaderNode childNode = new TableHeaderNode(nodeContext); childNode.setMember(member); childNode.setHierarchy(member.getHierarchy()); childNode.setPosition(position); if (lastChild != null) { childNode.addChild(lastChild); } lastChild = childNode; if (!hierarchyAggregatorNames.isEmpty() && lastPosition != null) { int start = memberCount - 1; if (containsMeasure) { start--; } if (i < start) { Member lastMember = lastPosition.getMembers().get(i); if (OlapUtils.equals(lastMember.getHierarchy(), member.getHierarchy()) && !OlapUtils.equals(lastMember, member) || !OlapUtils.equals(position, lastPosition, i)) { for (String aggregatorName : hierarchyAggregatorNames) { createAggregators(aggregatorName, nodeContext, hierarchyAggregators, axisRoot, null, lastPosition.getMembers().subList(0, i + 1), totalMeasures); } } } } if (!memberAggregatorNames.isEmpty()) { List<AggregationTarget> memberParents = memberParentMap.get(member.getHierarchy()); if (memberParents == null) { memberParents = new ArrayList<AggregationTarget>(); memberParentMap.put(member.getHierarchy(), memberParents); } AggregationTarget lastSibling = null; if (!memberParents.isEmpty()) { lastSibling = memberParents.get(memberParents.size() - 1); } Member parentMember = utils.getTopLevelRaggedMember(member); if (parentMember != null) { if (lastSibling == null || cache.getAncestorMembers(parentMember).contains(lastSibling.getParent())) { memberParents.add(new AggregationTarget(parentMember, member.getLevel())); } else if (!OlapUtils.equals(parentMember, lastSibling.getParent())) { while (!memberParents.isEmpty()) { int lastIndex = memberParents.size() - 1; AggregationTarget lastParent = memberParents.get(lastIndex); if (OlapUtils.equals(lastParent.getParent(), parentMember)) { break; } memberParents.remove(lastIndex); List<Member> path = new ArrayList<Member>(lastPosition.getMembers().subList(0, i)); path.add(lastParent.getParent()); Level parentLevel = lastParent.getParent().getLevel(); if (!levels.contains(parentLevel)) { levels.add(0, parentLevel); Collections.sort(levels, levelComparator); } for (String aggregatorName : memberAggregatorNames) { createAggregators(aggregatorName, nodeContext, memberAggregators, axisRoot, lastParent.getLevel(), path, totalMeasures); } } } } if (lastPosition != null && !OlapUtils.equals(position, lastPosition, i)) { Hierarchy hierarchy = nodeContext.getHierarchies().get(i); Level rootLevel = nodeContext.getLevels(hierarchy).get(0); for (AggregationTarget target : memberParents) { Member memberParent = target.getParent(); if (memberParent.getLevel().getDepth() < rootLevel.getDepth()) { continue; } List<Member> path = new ArrayList<Member>(lastPosition.getMembers().subList(0, i)); path.add(memberParent); for (String aggregatorName : memberAggregatorNames) { createAggregators(aggregatorName, nodeContext, memberAggregators, axisRoot, target.getLevel(), path, totalMeasures); } } memberParents.clear(); } } } if (lastChild != null) { axisRoot.addChild(lastChild); } lastPosition = position; } if (lastPosition != null) { int memberCount = lastPosition.getMembers().size(); int start = memberCount - 1; if (containsMeasure) { start--; } for (int i = start; i >= 0; i--) { if (!memberAggregatorNames.isEmpty()) { Hierarchy hierarchy = nodeContext.getHierarchies().get(i); Level rootLevel = nodeContext.getLevels(hierarchy).get(0); List<AggregationTarget> memberParents = memberParentMap.get(hierarchy); for (AggregationTarget target : memberParents) { Member member = target.getParent(); if (member.getLevel().getDepth() < rootLevel.getDepth()) { continue; } List<Member> path = new ArrayList<Member>(lastPosition.getMembers().subList(0, i)); path.add(member); for (String aggregatorName : memberAggregatorNames) { createAggregators(aggregatorName, nodeContext, memberAggregators, axisRoot, target.getLevel(), path, totalMeasures); } } } if (!hierarchyAggregatorNames.isEmpty()) { for (String aggregatorName : hierarchyAggregatorNames) { createAggregators(aggregatorName, nodeContext, hierarchyAggregators, axisRoot, null, lastPosition.getMembers().subList(0, i), totalMeasures); } } } if (!aggregatorNames.isEmpty()) { List<Member> members = Collections.emptyList(); for (String aggregatorName : aggregatorNames) { createAggregators(aggregatorName, nodeContext, aggregators, axisRoot, null, members, grandTotalMeasures); } } } if (logger.isDebugEnabled()) { logger.debug("Original axis tree root for {}", axis); axisRoot.walkTree(new TreeNodeCallback<TableAxisContext>() { @Override public int handleTreeNode(TreeNode<TableAxisContext> node) { String label = node.toString(); logger.trace(StringUtils.leftPad(label, node.getLevel() + label.length(), ' ')); return CONTINUE; } }); } return axisRoot; }
From source file:org.pivot4j.ui.table.TableRenderer.java
/** * @param model//from w ww .ja v a 2 s . c o m * @param axis * @param node */ protected void configureAxisTree(PivotModel model, Axis axis, TableHeaderNode node) { if (getShowDimensionTitle() && axis == Axis.COLUMNS) { node.addHierarhcyHeaders(); } if (getShowParentMembers() || axis == Axis.FILTER) { node.addParentMemberHeaders(); } if (!getHideSpans() || axis == Axis.FILTER) { node.mergeChildren(); } if (getPropertyCollector() != null) { node.addMemberProperties(); } if (logger.isDebugEnabled()) { logger.debug("Configured axis tree root for {}", axis); node.walkTree(new TreeNodeCallback<TableAxisContext>() { @Override public int handleTreeNode(TreeNode<TableAxisContext> node) { String label = node.toString(); logger.debug(StringUtils.leftPad(label, node.getLevel() + label.length(), ' ')); return CONTINUE; } }); } }
From source file:org.polymap.core.mapeditor.tooling.edit.VectorLayerStyler.java
/** * /*from w w w .j a v a 2 s. co m*/ * * @param map * @return */ protected Style createStyle(Map<String, Object> map) { Style result = new Style(); for (Map.Entry<String, Object> entry : map.entrySet()) { // String if (entry.getValue() instanceof String) { String value = (String) entry.getValue(); log.trace(" " + entry.getKey() + ": String: " + value); result.setAttribute(entry.getKey(), value); } // Number else if (entry.getValue() instanceof Number) { String value = entry.getValue().toString(); log.trace(" " + entry.getKey() + ": Number: " + value); result.setAttribute(entry.getKey(), value); } // Color else if (entry.getValue() instanceof RGB) { RGB rgb = (RGB) entry.getValue(); String hex = new StringBuilder(8).append('#') .append(StringUtils.leftPad(Integer.toHexString(rgb.red), 2, '0')) .append(StringUtils.leftPad(Integer.toHexString(rgb.green), 2, '0')) .append(StringUtils.leftPad(Integer.toHexString(rgb.blue), 2, '0')).toString(); log.trace(" " + entry.getKey() + ": RGB: " + hex); result.setAttribute(entry.getKey(), hex); } else { throw new RuntimeException("Unknown style attribute type: " + entry); } } return result; }
From source file:org.polymap.kaps.exporter.VertragStaLaAgrarExporter.java
private void export(List<String> lines, VertragComposite vertrag, List<String> errors) { VertragsdatenAgrarComposite vdc = VertragsdatenAgrarComposite.Mixin.forVertrag(vertrag); if (vdc == null) { errors.add(error(vertrag, "Erweiterte Vertragsdaten Agrar nicht gefunden")); return;//from w ww . j a va 2s. co m } FlurstueckComposite flurstueck = null; for (FlurstueckComposite fs : FlurstueckComposite.Mixin.forEntity(vertrag)) { NutzungComposite nutzung = fs.nutzung().get(); if (nutzung != null && nutzung.isAgrar().get() != null && nutzung.isAgrar().get() == Boolean.TRUE) { flurstueck = fs; break; } } if (flurstueck == null) { errors.add(error(vertrag, "Flurstck mit Nutzung Agrar nicht gefunden")); return; } GemarkungComposite gemarkung = flurstueck.gemarkung().get(); if (gemarkung == null) { errors.add(error(vertrag, "Gemarkung nicht gefunden")); return; } RichtwertzoneZeitraumComposite richtwertzoneZ = vdc.richtwertZone1().get(); if (richtwertzoneZ == null) { errors.add(error(vertrag, "Richtwertzone nicht gefunden")); return; } RichtwertzoneComposite richtwertzone = richtwertzoneZ.zone().get(); if (richtwertzone == null) { errors.add(error(vertrag, "Richtwertzone nicht gefunden")); return; } GemeindeComposite gemeinde = richtwertzone.gemeinde().get(); if (gemeinde == null) { errors.add(error(vertrag, "Gemeinde nicht gefunden")); return; } VertragsdatenErweitertComposite vertragErweitert = vertrag.erweiterteVertragsdaten().get(); if (vertragErweitert == null) { errors.add(error(vertrag, "Erweiterte Vertragsdaten fehlen")); return; } List<String> contents = new ArrayList<String>(); // data // String kennnummer = 18 contents.add(String.format("%018d", vertrag.eingangsNr().get())); // String land = contents.add("Mittelsachsen"); // String kreisGemeinde = contents.add(gemeinde.name().get()); contents.add(gemarkung.schl().get()); FlurComposite flur = flurstueck.flur().get(); // gibts in Sachsen nicht contents.add(flur == null ? "000" : flur.schl().get()); // flurstueck1 contents.add(String.format("%05d", flurstueck.hauptNummer().get())); // flurstueck2 contents.add( flurstueck.unterNummer().get() != null ? StringUtils.leftPad(flurstueck.unterNummer().get(), 5, "0") : ""); // Datum Calendar cal = new GregorianCalendar(); cal.setTime(vertrag.vertragsDatum().get()); // String tag = contents.add(String.format("%02d", cal.get(Calendar.DAY_OF_MONTH)) + String.format("%02d", cal.get(Calendar.MONTH) + 1) + String.format("%04d", cal.get(Calendar.YEAR))); KaeuferKreisComposite verkaeuferKreisComposite = vertrag.verkaeuferKreis().get(); if (verkaeuferKreisComposite == null) { errors.add(error(vertrag, "Verkufer nicht gefunden")); return; } if (verkaeuferKreisComposite.stalaAgrar().get() == null) { errors.add(error(vertrag, "Verkufer - StaLa Zuordnung nicht gefunden")); return; } // String veruerer - 2 contents.add(verkaeuferKreisComposite.stalaAgrar().get().schl().get()); KaeuferKreisComposite kaeuferKreisComposite = vertrag.kaeuferKreis().get(); if (kaeuferKreisComposite == null) { errors.add(error(vertrag, "Erwerber nicht gefunden")); return; } if (kaeuferKreisComposite.stalaAgrar().get() == null) { errors.add(error(vertrag, "Erwerber - StaLa Zuordnung nicht gefunden")); return; } // String Erwerber - 2 contents.add(kaeuferKreisComposite.stalaAgrar().get().schl().get()); ArtDesBaugebietsComposite artDesBaugebietsC = flurstueck.artDesBaugebiets().get(); if (artDesBaugebietsC == null) { errors.add(error(vertrag, "Art des Grundstcks nicht gefunden")); return; } // String artDesBaugebiets = contents.add(artDesBaugebietsC.schl().get()); // String flaeche = if (vdc.verkaufteFlaeche().get() == null) { errors.add(error(vertrag, "Verkaufte Flche gesamt nicht gefunden")); return; } contents.add(String.format("%08d", vdc.verkaufteFlaeche().get().intValue())); // String flaeche = Double flaecheLandwirtschaftStala = vdc.flaecheLandwirtschaftStala().get(); if (flaecheLandwirtschaftStala == null) { errors.add(error(vertrag, "Flche der landwirtschaftlichen Nutzung nicht gefunden, nutze 0")); } contents.add(String.format("%08d", flaecheLandwirtschaftStala != null ? flaecheLandwirtschaftStala.intValue() : 0)); if (vertragErweitert.bereinigterVollpreis().get() == null) { errors.add(error(vertrag, "Bereinigter Vollpreis nicht gefunden")); return; } // String geldwert = contents.add(String.format("%08d", vertragErweitert.bereinigterVollpreis().get().intValue())); // String hypotheken = Double h = vdc.hypothekStala().get(); // if (h == null) { // errors.add( error( vertrag, "Hypotheken nicht gefunden, nutze 0" ) ); // } contents.add(String.format("%08d", h != null ? h.intValue() : 0)); // String tauschgrundstck = h = vdc.wertTauschStala().get(); // if (h == null) { // errors.add( error( vertrag, "Wert des Tauschgrundstckes nicht gefunden, nutze 0" ) ); // } contents.add(String.format("%08d", h != null ? h.intValue() : 0)); // String sonstiges = h = vdc.wertSonstigesStala().get(); // if (h == null) { // errors.add( error( vertrag, "Wert sonstige Leistungen nicht gefunden, nutze 0" ) ); // } contents.add(String.format("%08d", h != null ? h.intValue() : 0)); String b = vdc.bemerkungStala().get(); if (b != null) { contents.add(b); } StringBuilder ret = new StringBuilder(); for (String s : contents) { ret.append(s).append(DELIMITER); } lines.add(ret.toString()); }
From source file:org.projectforge.book.BookDO.java
/** * Converts numbers in signature for alphanumeric sorting in 5-digit form. For example: "WT-145a" -> "WT-00145a". *//* w w w . ja v a2 s .c om*/ @Transient public String getSignature4Sort() { if (this.signature == null) { return null; } final StringBuffer buf = new StringBuffer(); StringBuffer no = null; for (int i = 0; i < this.signature.length(); i++) { final char ch = this.signature.charAt(i); if (Character.isDigit(ch) == false) { if (no != null && no.length() > 0) { buf.append(StringUtils.leftPad(no.toString(), 5, '0')); no = null; } buf.append(ch); } else { if (no == null) { no = new StringBuffer(); } no.append(ch); } } if (no != null && no.length() > 0) { buf.append(StringUtils.leftPad(no.toString(), 5, '0')); } return buf.toString(); }
From source file:org.projectforge.business.fibu.kost.BuchungssatzDO.java
public final String formatSatzNr() { if (satznr == null) { return ""; }/*from www. j a v a 2 s . c om*/ return StringUtils.leftPad(String.valueOf(satznr), 5, '0'); }
From source file:org.projectforge.business.fibu.KostFormatter.java
/** * If not given, then ?? will be returned. * //from www. ja v a2 s .c om * @param number * @return * @see StringUtils#leftPad(String, int, char) */ public static String format2Digits(final Integer number) { if (number == null) { return "??"; } return StringUtils.leftPad(number.toString(), 2, '0'); }
From source file:org.projectforge.business.fibu.KostFormatter.java
/** * If not given, then ??? will be returned. * /* w ww . ja va 2s. c o m*/ * @param number * @return * @see StringUtils#leftPad(String, int, char) */ public static String format3Digits(final Integer number) { if (number == null) { return "???"; } return StringUtils.leftPad(number.toString(), 3, '0'); }
From source file:org.projectforge.common.NumberHelper.java
/** * Splits string representation of the given number into digits. Examples:<br/> * NumberHelper.splitToInts(11110511, 1, 3, 2, 2) = {1, 111, 5, 11}<br/> * NumberHelper.splitToInts(10000511, 1, 3, 2, 2) = { 1, 0, 5, 11}<br/> * NumberHelper.splitToInts(511, 1, 3, 2, 2) = { 0, 0, 5, 11} * @param value//from w ww .j av a 2 s .com * @param split * @return */ public static int[] splitToInts(final Number value, final int... split) { int numberOfDigits = 0; for (final int n : split) { numberOfDigits += n; } final String str = StringUtils.leftPad(String.valueOf(value.intValue()), numberOfDigits, '0'); final int[] result = new int[split.length]; int pos = 0; int i = 0; for (final int n : split) { result[i++] = parseInteger(str.substring(pos, pos + n)); pos += n; } return result; }
From source file:org.projectforge.common.StringHelper.java
/** * 0 -> "00", 1 -> "01", ..., 9 -> "09", 10 -> "10", 100 -> "100" etc. Uses StringUtils.leftPad(str, 2, '0'); * @param value//from w w w. j a v a 2 s . c o m * @return * @see StringUtils#leftPad(String, int, char) */ public static String format2DigitNumber(final int value) { return StringUtils.leftPad(String.valueOf(value), 2, '0'); }