/* * Copyright 2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.xd.test.fixtures.util; import org.springframework.util.StringUtils; /** * Utility to support common tasks done by fixtures. * @author Glenn Renfro */ public class FixtureUtils { /** * Returns a properly formatted label for a module in a stream definition. * @param label The label to be formatted. * @return If label is not empty nor null a properly formatted label for module else an empty string. */ public static String labelOrEmpty(String label) { return (StringUtils.hasLength(label)) ? label + ":" : ""; } /** * Fixes file paths in Windows environments that contain things that the Shell interprets as escape sequences. * @param path a file path * @return fixed path */ public static String handleShellEscapeProcessing(String path) { if (path == null) { return null; } char[] escaped = new char[] { 'r', 't', 'n', 'f', 'u' }; for (char c : escaped) { path = path.replace("\\" + c, "\\\\" + c); } return path; } }