/** * Checks and throw exception if caches was missed. * * @param missingCaches Missing caches. */ private void handlingMissedCaches(Set<String> missingCaches) { if (missingCaches.isEmpty()) return; SB strBuilder = new SB("The following caches do not exist"); if (onlySpecificCaches()) { VisorIdleVerifyDumpTaskArg vdta = (VisorIdleVerifyDumpTaskArg)arg; strBuilder.a(" or do not match to the given filter [").a(vdta.getCacheFilterEnum()).a("]: "); } else strBuilder.a(": "); for (String name : missingCaches) strBuilder.a(name).a(", "); strBuilder.d(strBuilder.length() - 2, strBuilder.length()); throw new IgniteException(strBuilder.toString()); }
/** * Join input parameters with specified {@code delimeter} between them. * * @param delimeter Specified delimeter. * @param params Other input parameter. * @return Joined paramaters with specified {@code delimeter}. */ private static String j(String delimeter, Object... params) { return j(new SB(), "", delimeter, params).toString(); }
/** * Prints caches info. * * @param infos Caches info. * @param cmd Command. */ private void printCacheInfos(Collection<CacheInfo> infos, VisorViewCacheCmd cmd) { for (CacheInfo info : infos) { Map<String, Object> map = info.toMap(cmd); SB sb = new SB("["); for (Map.Entry<String, Object> e : map.entrySet()) sb.a(e.getKey()).a("=").a(e.getValue()).a(", "); sb.setLength(sb.length() - 2); sb.a("]"); log(sb.toString()); } }
SB sb = new SB(); ", rmtNode=" + node + ']'); sb.a(format(">>> Remote SPI with the same name is not configured: " + name, locCls)); " [name=" + name + ", loc=" + locCls + ", rmt=" + rmtCls + ']'); sb.a(format(">>> Remote SPI with the same name is of different type: " + name, locCls, rmtCls)); sb.a(format(">>> Remote node has different " + getName() + " SPI attribute " + attr, locVal, rmtVal)); if (sb.length() > 0) { String msg;
SB b1 = GridStringBuilderFactory.acquire(); assert b1.length() == 0; b1.a("B1 Test String"); assert b2.length() == 0; b1.a("B2 Test String"); assert !b1.toString().equals(b2.toString()); assert b1.length() == 0; assert b2.length() == 0; assert b3.length() == 0; b3.a("B3 Test String"); assert b3.length() == 0;
/** * Join input parameters with specified {@code delimeter} between them and append to the end {@code delimeter}. * * @param sb Specified string builder. * @param sbDelimeter Delimeter between {@code sb} and appended {@code param}. * @param delimeter Specified delimeter. * @param params Other input parameter. * @return SB with appended to the end joined paramaters with specified {@code delimeter}. */ private static SB j(SB sb, String sbDelimeter, String delimeter, Object... params) { if (!F.isEmpty(params)) { sb.a(sbDelimeter); for (Object par : params) sb.a(par).a(delimeter); sb.setLength(sb.length() - delimeter.length()); } return sb; }
/** * @return The cached builder. */ public SB acquire() { // If cached instance is already used, then we don't optimize. // Simply return a new StringBuilder in such case. if (used) return new SB(); used = true; return builder; }
/** {@inheritDoc} */ @Override public String reduce() { synchronized (lock) { return sb.toString(); } }
/** * @param sb Sb. */ private static void appendClassLoaderHash(SB sb) { if (getBoolean(IGNITE_MBEAN_APPEND_CLASS_LOADER_ID, true)) { String clsLdrHash = Integer.toHexString(Ignite.class.getClassLoader().hashCode()); sb.a("clsLdr=").a(clsLdrHash).a(','); } }
/** * @param delim Delimiter (optional). */ public StringConcatReducer(String delim) { this.delim = delim; sb = new SB(); first = true; lock = new Object(); }
/** * @param segment Segment index. * @return Segment file name. */ public static String fileName(long segment) { SB b = new SB(); String segmentStr = Long.toString(segment); for (int i = segmentStr.length(); i < WAL_SEGMENT_FILE_NAME_LENGTH; i++) b.a('0'); b.a(segmentStr).a(WAL_SEGMENT_FILE_EXT); return b.toString(); }
/** * Concatenates elements using provided delimiter. * * @param str Repeated string. * @param cnt Repeat count. * @param start Start string. * @param sep Separator. * @param end End string. */ protected static String repeat(String str, int cnt, String start, String sep, String end) { SB sb = new SB(str.length() * cnt + sep.length() * (cnt - 1) + start.length() + end.length()); sb.a(start); for (int i = 0; i < cnt; i++) { if (i > 0) sb.a(sep); sb.a(str); } return sb.a(end).toString(); }
U.warn(log, "Cache is not configured - in-memory data grid is off."); else { SB sb = new SB(); sb.a("in '").a(e.getKey()).a("' dataRegion: ["); sb.a("'").a(s).a("', "); sb.d(sb.length() - 2, sb.length()).a("], "); U.log(log, "Configured caches [" + sb.d(sb.length() - 2, sb.length()).toString() + ']');