List of usage examples for com.google.common.base Strings repeat
public static String repeat(String string, int count)
From source file:org.fabrician.enabler.DockerContainer.java
private void buildDockerImage() throws Exception { getEngineLogger()//from www . ja va 2 s .co m .info(Strings.repeat("-", 10) + "building [" + dockerImage + "]" + Strings.repeat("-", 10)); // check if we should reuse existing image? boolean reuse_image = resolveToBoolean(REUSE_IMAGE_VAR); boolean image_exist = dockerClient().isImageExist(dockerImage); if (reuse_image) { if (image_exist) { getEngineLogger().info("Existing docker image [" + dockerImage + "] exists and will be reused."); return; } } else { // delete existing image before build if (image_exist) { getEngineLogger().info("Deleting existing docker image [" + dockerImage + "] before build."); dockerClient().deleteImageByTag(dockerImage); } } // check if Docker file exits? File dockerContextDir = resolveToFile(DOCKER_CONTEXT_DIR_VAR); File dockerFile = new File(dockerContextDir, "Dockerfile"); Validate.isTrue(dockerFile.exists(), "Required Dockerfile for build does not exist at path [" + dockerFile.getCanonicalPath() + "]"); // construct build options String command = "docker build " + BuildCmdOptions.buildAll(getRuntimeContext()) + " -t " + dockerImage + " . "; if (useSudo) { command = "sudo " + command; } getEngineLogger().info(Strings.repeat("-", 10) + " begin build command " + Strings.repeat("-", 10)); getEngineLogger().info(command); getEngineLogger().info(Strings.repeat("-", 10) + " end build command " + Strings.repeat("-", 10)); ProcessWrapper p = null; int build_timeout = resolveToInteger(BUILD_TIMEOUT_VAR);// in secs try { String engineOS = getEngineProperty(EngineProperties.OS); p = getProcessWrapper(command, dockerContextDir, engineOS + "_build.pid"); Object lock = p.getLock(); p.exec(); synchronized (lock) { try { if (p.isRunning()) { lock.wait(build_timeout * 1000); if (p.isRunning()) { p.destroy(); } } } catch (InterruptedException e) { getEngineLogger().warning("buildDockerImage() thread was interrupted"); } } } catch (Exception ex) { getEngineLogger().log(Level.SEVERE, "while building docker image [" + dockerImage + "]", ex); throw ex; } // check for image image_exist = dockerClient().isImageExist(dockerImage); if (!image_exist) { throw new Exception("Build failed for image [" + dockerImage + "]"); } else { getEngineLogger().info("Build succeeded for image [" + dockerImage + "]"); } }
From source file:org.eclipse.elk.layered.JsonDebugUtil.java
/** * Writes the given ports as JSON formatted string to the given writer. * /*from w w w . j a v a 2 s .com*/ * @param writer * the writer to write to. * @param ports * the ports to write. * @param indentation * the indentation level to use. * @throws IOException * if anything goes wrong with the writer. */ private static void writePorts(final Writer writer, final List<LPort> ports, final int indentation) throws IOException { String indent0 = Strings.repeat(INDENT, indentation); String indent1 = Strings.repeat(INDENT, indentation + 1); String indent2 = Strings.repeat(INDENT, indentation + 2); writer.write(indent0 + "\"ports\": ["); Iterator<LPort> portsIterator = ports.iterator(); while (portsIterator.hasNext()) { LPort port = portsIterator.next(); writer.write("\n" + indent1 + "{\n" + indent2 + "\"id\": \"p" + port.hashCode() + "\",\n" + indent2 + "\"width\": " + port.getSize().x + ",\n" + indent2 + "\"height\": " + port.getSize().y + ",\n" + indent2 + "\"x\": " + port.getPosition().x + ",\n" + indent2 + "\"y\": " + port.getPosition().y + ",\n"); writeProperties(writer, port.getAllProperties(), indentation + 2); writer.write("\n" + indent1 + "}"); if (portsIterator.hasNext()) { writer.write(","); } } writer.write("\n" + indent0 + "]"); }
From source file:de.cau.cs.kieler.klay.layered.JsonDebugUtil.java
/** * Writes the given properties as JSON formatted string to the given * ConsoleWriter./* w ww . ja va 2 s. co m*/ * * @param ConsoleWriter * the ConsoleWriter to write to. * @param properties * the properties to write. * @param indentation * the indentation level to use. * @throws IOException * if anything goes wrong with the ConsoleWriter. */ private static void writeProperties(final ConsoleWriter ConsoleWriter, final Map<IProperty<?>, Object> properties, final int indentation) throws IOException { final String indent0 = Strings.repeat(INDENT, indentation); final String indent1 = Strings.repeat(INDENT, indentation + 1); ConsoleWriter.write(indent0 + "\"properties\": {"); final Iterator<Entry<IProperty<?>, Object>> propertiesIterator = properties.entrySet().iterator(); while (propertiesIterator.hasNext()) { final Entry<IProperty<?>, Object> property = propertiesIterator.next(); final String id = property.getKey().getId(); // Test whether the given id is a registered layout option. If not, // prefix the id with // DEBUG_ID_PREFIX final String val = getValueRepresentation(property.getKey(), property.getValue()); ConsoleWriter.write("\n" + indent1 + "\"" + id + "\": \"" + val.replace("\"", "\\\"") + "\""); if (propertiesIterator.hasNext()) { ConsoleWriter.write(","); } } ConsoleWriter.write("\n" + indent0 + "}"); }
From source file:org.eclipse.xtext.generator.trace.AbstractTraceRegionToString.java
protected void render(final AbstractTraceRegionToString.RegionHandle region, final int idW, final int offsetW, final int lengthW, final int indent, final List<String> result) { final String id = Strings.padStart(Integer.toString(region.id, this.radix), idW, '0'); String _xifexpression = null; boolean _isUseForDebugging = region.region.isUseForDebugging(); if (_isUseForDebugging) { _xifexpression = "D"; } else {// w ww . j a va 2 s . c o m _xifexpression = " "; } final String debug = _xifexpression; final String offset = Strings.padStart(Integer.toString(region.region.getMyOffset()), offsetW, '0'); final String length = Strings.padStart(Integer.toString(region.region.getMyLength()), lengthW, '0'); final String space = Strings.repeat(" ", indent); final String name = region.region.getClass().getSimpleName(); final Function1<AbstractTraceRegionToString.LocationHandle, String> _function = ( AbstractTraceRegionToString.LocationHandle it) -> { return this.render(it); }; final String locations = IterableExtensions.join( ListExtensions.<AbstractTraceRegionToString.LocationHandle, String>map(region.locations, _function), ", "); final String loc = (((((debug + " ") + offset) + "-") + length) + space); final String header = (((((id + ": ") + loc) + name) + " -> ") + locations); boolean _isEmpty = region.children.isEmpty(); if (_isEmpty) { result.add(header); } else { result.add((header + " {")); for (final AbstractTraceRegionToString.RegionHandle child : region.children) { this.render(child, idW, offsetW, lengthW, (indent + 2), result); } String _repeat = Strings.repeat(" ", loc.length()); String _plus = ((id + ": ") + _repeat); String _plus_1 = (_plus + "}"); result.add(_plus_1); } }
From source file:com.zimbra.cs.db.SQLite.java
@Override public String lpad(String field, int padSize, String padString) { return "SUBSTR('" + Strings.repeat(padString, padSize) + "' || " + field + ", -" + padSize + ", " + padSize + ")"; }
From source file:org.eclipse.elk.layered.JsonDebugUtil.java
/** * Writes the given properties as JSON formatted string to the given writer. * /*from w w w . j a v a 2s. co m*/ * @param writer * the writer to write to. * @param properties * the properties to write. * @param indentation * the indentation level to use. * @throws IOException * if anything goes wrong with the writer. */ private static void writeProperties(final Writer writer, final Map<IProperty<?>, Object> properties, final int indentation) throws IOException { String indent0 = Strings.repeat(INDENT, indentation); String indent1 = Strings.repeat(INDENT, indentation + 1); writer.write(indent0 + "\"properties\": {"); Iterator<Entry<IProperty<?>, Object>> propertiesIterator = properties.entrySet().iterator(); while (propertiesIterator.hasNext()) { Entry<IProperty<?>, Object> property = propertiesIterator.next(); String id = property.getKey().getId(); final String val = getValueRepresentation(property.getKey(), property.getValue()); writer.write("\n" + indent1 + "\"" + id + "\": \"" + val.replace("\"", "\\\"") + "\""); if (propertiesIterator.hasNext()) { writer.write(","); } } writer.write("\n" + indent0 + "}"); }
From source file:org.eclipse.xtext.generator.trace.AbstractTraceRegionToString.java
protected String render() { final AbstractTraceRegionToString.File localFile = new AbstractTraceRegionToString.File(null); final LinkedHashMap<SourceRelativeURI, AbstractTraceRegionToString.File> remoteFiles = CollectionLiterals.<SourceRelativeURI, AbstractTraceRegionToString.File>newLinkedHashMap(); final List<AbstractTraceRegionToString.RegionHandle> roothandles = CollectionLiterals.<AbstractTraceRegionToString.RegionHandle>newArrayList(); final int maxid = this.collect(this.getTrace(), 1, localFile, remoteFiles, roothandles); final int idwidth = Integer.toString(maxid, this.radix).length(); List<String> _render = this.render(localFile, idwidth); Iterables.<String>addAll(localFile.lines, _render); Collection<AbstractTraceRegionToString.File> _values = remoteFiles.values(); for (final AbstractTraceRegionToString.File file : _values) { List<String> _render_1 = this.render(file, idwidth); Iterables.<String>addAll(file.lines, _render_1); }/*from w w w. j a va 2 s.c om*/ final Function1<String, Integer> _function = (String it) -> { return Integer.valueOf(it.length()); }; Integer _max = IterableExtensions .<Integer>max(ListExtensions.<String, Integer>map(localFile.lines, _function)); int _length = this.getLocalTitle().length(); int _plus = (_length + 2); final int localWidth = Math.max((_max).intValue(), _plus); final Function1<AbstractTraceRegionToString.File, Integer> _function_1 = ( AbstractTraceRegionToString.File it) -> { final Function1<String, Integer> _function_2 = (String it_1) -> { return Integer.valueOf(it_1.length()); }; Integer _max_1 = IterableExtensions .<Integer>max(ListExtensions.<String, Integer>map(it.lines, _function_2)); int _length_1 = this.getRemoteTitle(it.uri).length(); int _plus_1 = (_length_1 + 2); return Integer.valueOf(Math.max((_max_1).intValue(), _plus_1)); }; final Integer remoteWidth = IterableExtensions.<Integer>max( IterableExtensions.<AbstractTraceRegionToString.File, Integer>map(remoteFiles.values(), _function_1)); localFile.lines.add(0, this.title(null, localWidth)); Collection<AbstractTraceRegionToString.File> _values_1 = remoteFiles.values(); for (final AbstractTraceRegionToString.File file_1 : _values_1) { file_1.lines.add(0, this.title(file_1.uri, (remoteWidth).intValue())); } final List<String> left = localFile.lines; final Function1<AbstractTraceRegionToString.File, List<String>> _function_2 = ( AbstractTraceRegionToString.File it) -> { return it.lines; }; final List<String> right = IterableExtensions.<String>toList( Iterables.<String>concat(IterableExtensions.<AbstractTraceRegionToString.File, List<String>>map( remoteFiles.values(), _function_2))); final ArrayList<String> result = CollectionLiterals.<String>newArrayList(); if (this.showLegend) { result.add( "Regions are surrounded by [N[ ... ]N]. Regions on the left and right with the same N are associated."); } for (int i = 0; ((i < ((Object[]) Conversions.unwrapArray(left, Object.class)).length) || (i < ((Object[]) Conversions.unwrapArray(right, Object.class)).length)); i++) { { String _xifexpression = null; int _size = left.size(); boolean _lessThan = (i < _size); if (_lessThan) { _xifexpression = left.get(i); } else { _xifexpression = ""; } final String l = Strings.padEnd(_xifexpression, localWidth, ' '); String _xifexpression_1 = null; int _size_1 = right.size(); boolean _lessThan_1 = (i < _size_1); if (_lessThan_1) { _xifexpression_1 = right.get(i); } else { _xifexpression_1 = ""; } final String r = _xifexpression_1; result.add(((l + " | ") + r)); } } if (this.showTree) { String _repeat = Strings.repeat("-", ((localWidth + (remoteWidth).intValue()) + 3)); result.add(_repeat); if (this.showLegend) { result.add( "<N>: <isDebug> <offset>-<length> <RegionJavaClass> -> <LocationJavaClass>[<offset>,<length>,<uri>]"); } final Function1<AbstractTraceRegionToString.RegionHandle, Set<AbstractTraceRegionToString.RegionHandle>> _function_3 = ( AbstractTraceRegionToString.RegionHandle it) -> { final Function1<AbstractTraceRegionToString.RegionHandle, Iterable<AbstractTraceRegionToString.RegionHandle>> _function_4 = ( AbstractTraceRegionToString.RegionHandle it_1) -> { return it_1.children; }; return this.<AbstractTraceRegionToString.RegionHandle>collect(it, _function_4); }; final Iterable<AbstractTraceRegionToString.RegionHandle> allhandles = Iterables.<AbstractTraceRegionToString.RegionHandle>concat( ListExtensions.<AbstractTraceRegionToString.RegionHandle, Set<AbstractTraceRegionToString.RegionHandle>>map( roothandles, _function_3)); final Function1<AbstractTraceRegionToString.RegionHandle, Integer> _function_4 = ( AbstractTraceRegionToString.RegionHandle it) -> { return Integer.valueOf(it.region.getMyOffset()); }; final int offsetWidth = String.valueOf(IterableExtensions.<Integer>max( IterableExtensions.<AbstractTraceRegionToString.RegionHandle, Integer>map(allhandles, _function_4))) .length(); final Function1<AbstractTraceRegionToString.RegionHandle, Integer> _function_5 = ( AbstractTraceRegionToString.RegionHandle it) -> { return Integer.valueOf(it.region.getMyLength()); }; final int lengthWidth = String.valueOf(IterableExtensions.<Integer>max( IterableExtensions.<AbstractTraceRegionToString.RegionHandle, Integer>map(allhandles, _function_5))) .length(); for (final AbstractTraceRegionToString.RegionHandle handle : roothandles) { this.render(handle, idwidth, offsetWidth, lengthWidth, 1, result); } } return IterableExtensions.join(result, org.eclipse.xtext.util.Strings.newLine()); }
From source file:org.basepom.mojo.duplicatefinder.DuplicateFinderMojo.java
private void writeResultFile(File resultFile, ImmutableMap<String, Entry<ResultCollector, ClasspathDescriptor>> results) throws MojoExecutionException, InvalidVersionSpecificationException, OverConstrainedVersionException { File parent = resultFile.getParentFile(); if (!parent.exists()) { if (!parent.mkdirs()) { throw new MojoExecutionException("Could not create parent folders for " + parent.getAbsolutePath()); }//from ww w .ja va 2s . c o m } if (!parent.isDirectory() || !parent.canWrite()) { throw new MojoExecutionException("Can not create result file in " + parent.getAbsolutePath()); } try { SMOutputFactory factory = new SMOutputFactory(XMLOutputFactory2.newFactory()); SMOutputDocument resultDocument = factory.createOutputDocument(resultFile); resultDocument.setIndentation("\n" + Strings.repeat(" ", 64), 1, 4); SMOutputElement rootElement = resultDocument.addElement("duplicate-finder-result"); XMLWriterUtils.addAttribute(rootElement, "version", SAVE_FILE_VERSION); XMLWriterUtils.addProjectInformation(rootElement, project); addConfiguration(rootElement); SMOutputElement resultsElement = rootElement.addElement("results"); for (Map.Entry<String, Entry<ResultCollector, ClasspathDescriptor>> entry : results.entrySet()) { SMOutputElement resultElement = resultsElement.addElement("result"); XMLWriterUtils.addAttribute(resultElement, "name", entry.getKey()); XMLWriterUtils.addResultCollector(resultElement, entry.getValue().getKey()); XMLWriterUtils.addClasspathDescriptor(resultElement, resultFileMinClasspathCount, entry.getValue().getValue()); } resultDocument.closeRootAndWriter(); } catch (XMLStreamException e) { throw new MojoExecutionException("While writing result file", e); } }
From source file:com.analog.lyric.util.test.Helpers.java
private static String getNodeString(FactorGraph fg, int tabDepth) { String tabString = Strings.repeat("\t", tabDepth); //graph itself StringBuilder sb = new StringBuilder(tabString + "------Nodes------\n"); //functions// www . j a va 2 s. com sb.append(tabString); // sb.append("Functions:\n"); for (Factor fn : fg.getOwnedFactors()) { sb.append(tabString); sb.append("\t"); sb.append(fn.getQualifiedLabel()); sb.append("\n"); } //boundary variables sb.append(tabString); sb.append("Boundary variables:\n"); for (Variable v : FactorGraphIterables.boundary(fg)) { sb.append(tabString); sb.append("\t"); sb.append(v.getQualifiedLabel()); sb.append("\n"); } //owned variables sb.append(tabString); sb.append("Owned variables:\n"); for (Variable v : fg.getOwnedVariables()) { sb.append(tabString); sb.append("\t"); sb.append(v.getQualifiedLabel()); sb.append("\n"); } //child graphs sb.append(tabString); sb.append("Sub graphs:\n"); for (FactorGraph g : fg.getOwnedGraphs()) { sb.append(tabString); sb.append(g.toString()); sb.append("\n"); sb.append(getNodeString(g, tabDepth + 1)); } return sb.toString(); }
From source file:org.apache.ctakes.ytex.uima.mapper.DocumentMapperServiceImpl.java
/** * load mapping info//from w ww . j av a 2 s. com * * @param type * @return */ private AnnoMappingInfo initMapInfo(final FeatureStructure fs) { final Type type = fs.getType(); final String annoName = type.getShortName().toLowerCase(); AnnoMappingInfo mapInfoTmp; final UimaType ut = uimaTypeMap.get(type.getName()); if (this.mapAnnoMappingInfo.containsKey(type.getName())) { mapInfoTmp = this.mapAnnoMappingInfo.get(type.getName()).deepCopy(); } else { mapInfoTmp = new AnnoMappingInfo(); } final AnnoMappingInfo mapInfo = mapInfoTmp; if (ut != null) mapInfo.setUimaTypeId(ut.getUimaTypeID()); // first see if the table name has been set in beans-uima.xml if (Strings.isNullOrEmpty(mapInfo.getTableName())) { // next see if the table name has been set in ref_uima_type if (ut != null && !Strings.isNullOrEmpty(ut.getTableName())) mapInfo.setTableName(ut.getTableName()); else // default to anno_[short name] mapInfo.setTableName("anno_" + annoName); } final List<Feature> features = type.getFeatures(); // get the non primitive fields for (Feature f : features) { if (f.getRange().isArray() && !f.getRange().getComponentType().isPrimitive()) { // add this field to the list of fields to store this.tl_mapFieldInfo.get().put(type.getName(), f.getShortName()); } } this.sessionFactory.getCurrentSession().doWork(new Work() { @Override public void execute(Connection conn) throws SQLException { ResultSet rs = null; try { DatabaseMetaData dmd = conn.getMetaData(); // get columns for corresponding table // mssql - add schema prefix // oracle - convert table name to upper case rs = dmd.getColumns(null, "mssql".equals(dbType) || "hsql".equals(dbType) ? dbSchema : null, "orcl".equals(dbType) || "hsql".equals(dbType) ? mapInfo.getTableName().toUpperCase() : mapInfo.getTableName(), null); while (rs.next()) { String colName = rs.getString("COLUMN_NAME"); int colSize = rs.getInt("COLUMN_SIZE"); int dataType = rs.getInt("DATA_TYPE"); if ("anno_base_id".equalsIgnoreCase(colName)) { // skip anno_base_id continue; } if ("uima_type_id".equalsIgnoreCase(colName)) { // see if there is a uima_type_id column // for FeatureStructures that are not annotations // there can be a field for the uima_type_id if (!(fs instanceof Annotation) && Strings.isNullOrEmpty(mapInfo.getUimaTypeIdColumnName())) { mapInfo.setUimaTypeIdColumnName(colName); } } else if ("coveredText".equalsIgnoreCase(colName)) { // see if there is a coveredText column, store the // covered // text here ColumnMappingInfo coveredTextColumn = new ColumnMappingInfo(); coveredTextColumn.setColumnName(colName); mapInfo.setCoveredTextColumn(coveredTextColumn); coveredTextColumn.setSize(colSize); } else { // possibility 1: the column is already mapped to // the field // if so, then just set the size if (!updateSize(mapInfo, colName, colSize, dataType)) { // possibility 2: the column is not mapped - see // if // it matches a field // iterate through features, see which match the // column for (Feature f : features) { String annoFieldName = f.getShortName(); if (f.getRange().isPrimitive() && annoFieldName.equalsIgnoreCase(colName)) { // primitive attribute ColumnMappingInfo fmap = new ColumnMappingInfo(); fmap.setAnnoFieldName(annoFieldName); fmap.setColumnName(colName); fmap.setSize(colSize); fmap.setSqlType(dataType); mapInfo.getMapField().put(colName, fmap); break; } else if (!f.getRange().isArray() && !f.getRange().isPrimitive() && annoFieldName.equalsIgnoreCase(colName) && (dataType == Types.INTEGER || dataType == Types.SMALLINT || dataType == Types.BIGINT || dataType == Types.NUMERIC || dataType == Types.FLOAT || dataType == Types.DOUBLE)) { // this feature is a reference to // another // annotation. // this column is numeric - a match ColumnMappingInfo fmap = new ColumnMappingInfo(); fmap.setAnnoFieldName(annoFieldName); fmap.setColumnName(colName); fmap.setSize(colSize); fmap.setSqlType(dataType); mapInfo.getMapField().put(colName, fmap); break; } } } } } } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { } } } } }); // don't map this annotation if no fields match columns if (mapInfo.getMapField().size() == 0 && mapInfo.getCoveredTextColumn() == null && Strings.isNullOrEmpty(mapInfo.getUimaTypeIdColumnName())) return null; // generate sql StringBuilder b = new StringBuilder("insert into "); b.append(this.getTablePrefix()).append(mapInfo.getTableName()); b.append("(anno_base_id"); // add coveredText column if available if (mapInfo.getCoveredTextColumn() != null) { b.append(", coveredText"); } // add uima_type_id column if available if (mapInfo.getUimaTypeIdColumnName() != null) { b.append(", uima_type_id"); } // add other fields for (Map.Entry<String, ColumnMappingInfo> fieldEntry : mapInfo.getMapField().entrySet()) { b.append(", ").append(dialect.openQuote()).append(fieldEntry.getValue().getColumnName()) .append(dialect.closeQuote()); } b.append(") values (?"); // add coveredText bind param if (mapInfo.getCoveredTextColumn() != null) { b.append(", ?"); } // add uimaTypeId bind param if (mapInfo.getUimaTypeIdColumnName() != null) { b.append(", ?"); } // add bind params for other fields b.append(Strings.repeat(", ?", mapInfo.getMapField().size())).append(")"); mapInfo.setSql(b.toString()); if (log.isInfoEnabled()) log.info("sql insert for type " + type.getName() + ": " + mapInfo.getSql()); if (log.isDebugEnabled()) log.debug("initMapInfo(" + annoName + "): " + mapInfo); return mapInfo; }