org.apache.commons.lang3.StringUtils#endsWith ( )源码实例Demo

下面列出了org.apache.commons.lang3.StringUtils#endsWith ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: o2oa   文件: StringTools.java
public static String url(String... strs) throws Exception {
	List<String> os = new ArrayList<>();
	for (String str : strs) {
		String value = str;
		if (StringUtils.endsWith(value, "/")) {
			value = StringUtils.substring(value, 0, value.length() - 1);
		}
		if (StringUtils.startsWith(value, "/")) {
			value = value.substring(1);
		}
		if (StringUtils.isNotEmpty(value)) {
			if (StringUtils.containsIgnoreCase(value, "http://")
					|| StringUtils.containsIgnoreCase(value, "https://")) {
				os.add(value);
			} else {
				os.add(URLEncoder.encode(value, "UTF-8"));
			}
		}
	}
	return StringUtils.join(os, "/");

}
 
源代码2 项目: sakai   文件: IgniteConfigurationAdapter.java
private void configureHome() {
    String path = home;
    if (StringUtils.isBlank(path)) {
        // if the root path is not specified use sakai.home/ignite/
        path = serverConfigurationService.getSakaiHomePath();
        path = path + File.separator + "ignite";
    }

    if (StringUtils.isNotBlank(node)) {
        if (!StringUtils.endsWith(path, File.separator)) {
            path = path + File.separator;
        }
        path = path + node;
    }

    File igniteHome = new File(path);
    if (!igniteHome.exists()) igniteHome.mkdirs();

    // return the absolute path
    home = igniteHome.getAbsolutePath();
}
 
源代码3 项目: openemm   文件: MailinglistDaoImpl.java
@Override
public PaginatedListImpl<MailinglistEntry> getMailinglists(@VelocityCheck int companyId, int adminId, String sort, String direction, int page, int rownums) {
	if(!SORTABLE_FIELDS.contains(sort)) {
		sort = "shortname";
	}

	final String selectQuery = "SELECT m.mailinglist_id, m.shortname, m.description, m.creation_date, m.change_date FROM mailinglist_tbl m " +
			"   WHERE m.company_id = ? AND m.deleted = 0";
	
	final boolean sortAscending = AgnUtils.sortingDirectionToBoolean(direction, true);

	if(StringUtils.endsWith(sort, "_date")) {
		final String sortClause = "ORDER BY " + formatDateClause("m." + sort) + " " + (sortAscending ? "ASC" : "DESC");

		return selectPaginatedListWithSortClause(logger, selectQuery, sortClause, sort, sortAscending, page, rownums, MAILING_LIST_ENTRY_ROW_MAPPER, companyId);
	} else {
		return selectPaginatedList(logger, selectQuery, "mailinglist_tbl", sort, sortAscending, page, rownums, MAILING_LIST_ENTRY_ROW_MAPPER, companyId);
	}
}
 
源代码4 项目: DBus   文件: GrafanaDashBoardService.java
public void init() throws Exception {
    if (!inited) {
        try {
            Properties properties = zkService.getProperties(Constants.COMMON_ROOT + "/" + Constants.GLOBAL_PROPERTIES);
            host = properties.getProperty(KeeperConstants.GLOBAL_CONF_KEY_GRAFANA_DBUS_URL);
            if (StringUtils.endsWith(host, "/")) {
                host = StringUtils.substringBeforeLast(host, "/");
            }
            token = properties.getProperty(KeeperConstants.GLOBAL_CONF_KEY_GRAFANA_TOKEN);
            api = "/api/dashboards/db/";
            inited = true;
        } catch (Exception e) {
            logger.error("init grafana param error", e);
            throw e;
        }
    }
}
 
源代码5 项目: nano-framework   文件: AbstractRedisClient.java
protected Map<String, String> info0(final String info) {
    final String[] attributes = info.split("\n");
    final Map<String, String> decodeInfo = Maps.newLinkedHashMap();
    for (final String attribute : attributes) {
        if (!StringUtils.isEmpty(StringUtils.trim(attribute)) && !StringUtils.startsWith(attribute, "#")) {
            final String[] keyvalue = attribute.substring(0, attribute.length() - 1).split(":");
            if (keyvalue.length == 2) {
                final String key = keyvalue[0];
                final String value = StringUtils.endsWith(keyvalue[1], "\r") ? StringUtils.substring(keyvalue[1], 0, keyvalue[1].length() - 1)
                        : keyvalue[1];
                decodeInfo.put(key, value);
            } else {
                decodeInfo.put(keyvalue[0], "");
            }
        }
    }

    return decodeInfo;
}
 
源代码6 项目: cuba   文件: AbstractDataGridLoader.java
@Nullable
protected Integer loadSizeInPx(Element element, String propertyName) {
    String value = loadThemeString(element.attributeValue(propertyName));
    if (!StringUtils.isBlank(value)) {
        if (StringUtils.endsWith(value, "px")) {
            value = StringUtils.substring(value, 0, value.length() - 2);
        }
        try {
            // Only integer allowed in XML
            return Integer.parseInt(value);
        } catch (NumberFormatException e) {
            throw new GuiDevelopmentException("Property '" + propertyName + "' must contain only numeric value",
                    context, propertyName, element.attributeValue(propertyName));
        }
    }
    return null;
}
 
源代码7 项目: mojito   文件: AndroidFilter.java
/**
 * Should cover the main cases mention in doc:
 * https://developer.android.com/guide/topics/resources/string-resource#FormattingAndStyling
 *
 * @param sourceString
 * @return
 */
String unescape(String sourceString) {
    String unescapedSourceString;

    unescapedSourceString = sourceString.trim();

    if (StringUtils.startsWith(unescapedSourceString, "\"") && StringUtils.endsWith(unescapedSourceString, "\"")) {
        unescapedSourceString = unescapedSourceString.substring(1, unescapedSourceString.length() - 1);
    } else {
        unescapedSourceString = unescapeUtils.replaceLineFeedWithSpace(unescapedSourceString);
        unescapedSourceString = unescapeUtils.collapseSpaces(unescapedSourceString).trim();
    }

    unescapedSourceString = unescapeUtils.replaceEscapedLineFeed(unescapedSourceString);
    unescapedSourceString = unescapeUtils.replaceEscapedCarriageReturn(unescapedSourceString);
    unescapedSourceString = unescapeUtils.replaceEscapedCharacters(unescapedSourceString);

    return unescapedSourceString;
}
 
源代码8 项目: sakai   文件: ExternalCalendaringServiceImpl.java
/**
 * Helper to create the name of the ICS file we are to write
 * @param filename
 * @return
 */
private String generateFilePath(String filename) {
	StringBuilder sb = new StringBuilder();
	
	String base = sakaiProxy.getCalendarFilePath();
	sb.append(base);
	
	//add slash if reqd
	if(!StringUtils.endsWith(base, File.separator)) {
		sb.append(File.separator);
	}
	
	sb.append(filename);
	sb.append(".ics");
	return sb.toString();
}
 
源代码9 项目: sakai   文件: IgniteConfigurationAdapter.java
private void configureHome() {
    String path = home;
    if (StringUtils.isBlank(path)) {
        // if the root path is not specified use sakai.home/ignite/
        path = serverConfigurationService.getSakaiHomePath();
        path = path + File.separator + "ignite";
    }

    if (StringUtils.isNotBlank(node)) {
        if (!StringUtils.endsWith(path, File.separator)) {
            path = path + File.separator;
        }
        path = path + node;
    }

    File igniteHome = new File(path);
    if (!igniteHome.exists()) igniteHome.mkdirs();

    // return the absolute path
    home = igniteHome.getAbsolutePath();
}
 
源代码10 项目: para   文件: App.java
final boolean isAllowed(String subjectid, String resourcePath, String httpMethod) {
	boolean allowed = false;
	if (subjectid != null && resourcePath != null && getResourcePermissions().containsKey(subjectid)) {
		httpMethod = StringUtils.upperCase(httpMethod);
		String wildcard = ALLOW_ALL;
		String exactPathToMatch = resourcePath;
		if (fromString(httpMethod) == GUEST) {
			// special case where we have wildcard permissions * but public access is not allowed
			wildcard = httpMethod;
		}
		if (StringUtils.contains(resourcePath, '/')) {
			// we assume that a full resource path is given like: 'users/something/123'
			// so we check to see if 'users/something' is in the list of resources.
			// we don't want 'users/someth' to match, but only the exact full path
			String fragment = resourcePath.substring(0, resourcePath.lastIndexOf('/'));
			for (String resource : getResourcePermissions().get(subjectid).keySet()) {
				if (StringUtils.startsWith(fragment, resource) &&
						pathMatches(subjectid, resource, httpMethod, wildcard)) {
					allowed = true;
					break;
				}
				// allow basic wildcard matching
				if (StringUtils.endsWith(resource, "/*") &&
						resourcePath.startsWith(resource.substring(0, resource.length() - 1))) {
					exactPathToMatch = resource;
					break;
				}
			}
		}
		if (!allowed && getResourcePermissions().get(subjectid).containsKey(exactPathToMatch)) {
			// check if exact resource path is accessible
			allowed = pathMatches(subjectid, exactPathToMatch, httpMethod, wildcard);
		} else if (!allowed && getResourcePermissions().get(subjectid).containsKey(ALLOW_ALL)) {
			// check if ALL resources are accessible
			allowed = pathMatches(subjectid, ALLOW_ALL, httpMethod, wildcard);
		}
	}
	return allowed;
}
 
源代码11 项目: sakai   文件: SakaiProxyImpl.java
/**
	* {@inheritDoc}
	*/
public String getCalendarFilePath() {
	String path = serverConfigurationService.getString("calendar.ics.generation.path", System.getProperty("java.io.tmpdir"));
	//ensure trailing slash
	if(!StringUtils.endsWith(path, File.separator)) {
		path = path + File.separator;
	}
	return path;
}
 
源代码12 项目: gecco   文件: JsonFieldRender.java
private String jsonp2Json(String jsonp) {
	if (jsonp == null) {
		return null;
	}
	jsonp = StringUtils.trim(jsonp);

	if(jsonp.startsWith("try")||StringUtils.endsWith(jsonp, ")")){
		if(jsonp.indexOf("catch")!=-1){
			jsonp = jsonp.substring(0,jsonp.indexOf("catch"));
		}
		int fromIndex = jsonp.indexOf('(');
		int toIndex = jsonp.lastIndexOf(')');
		if(fromIndex!=-1&&toIndex!=-1){
			jsonp = jsonp.substring(fromIndex+1,toIndex).trim();
			return jsonp;
		}
	}

	if (StringUtils.endsWith(jsonp, ";")) {
		jsonp = StringUtils.substringBeforeLast(jsonp, ";");
		jsonp = StringUtils.trim(jsonp);
	}
	/*if (StringUtils.endsWith(jsonp, ")")) {
		String jsonStr = StringUtils.substring(jsonp, "(", ")");
		jsonStr = StringUtils.trim(jsonStr);
		return jsonStr;
	}*/
	return jsonp;
}
 
源代码13 项目: cyberduck   文件: URIEncoder.java
/**
 * URL encode a path
 *
 * @param input Path
 * @return URI encoded
 * @see java.net.URLEncoder#encode(String, String)
 */
public static String encode(final String input) {
    try {
        final StringBuilder b = new StringBuilder();
        final StringTokenizer t = new StringTokenizer(input, "/");
        if(!t.hasMoreTokens()) {
            return input;
        }
        if(StringUtils.startsWith(input, String.valueOf(Path.DELIMITER))) {
            b.append(Path.DELIMITER);
        }
        while(t.hasMoreTokens()) {
            b.append(URLEncoder.encode(t.nextToken(), StandardCharsets.UTF_8.name()));
            if(t.hasMoreTokens()) {
                b.append(Path.DELIMITER);
            }
        }
        if(StringUtils.endsWith(input, String.valueOf(Path.DELIMITER))) {
            b.append(Path.DELIMITER);
        }
        // Because URLEncoder uses <code>application/x-www-form-urlencoded</code> we have to replace these
        // for proper URI percented encoding.
        return StringUtils.replaceEach(b.toString(),
            new String[]{"+", "*", "%7E", "%40"},
            new String[]{"%20", "%2A", "~", "@"});
    }
    catch(UnsupportedEncodingException e) {
        log.warn(String.format("Failure %s encoding input %s", e, input));
        return input;
    }
}
 
源代码14 项目: DBus   文件: ProjectTopologyService.java
private ResultEntity start(Map<String, Object> param, Session session, SimpMessagingTemplate smt) throws Exception {
    if (session != null) session.getBasicRemote().sendText("请稍等,启动中...");
    if (smt != null) smt.convertAndSendToUser((String) param.get("uid"), "/log", "请稍等,启动中...");
    String topologyName = (String) param.get("topoName");
    String projectName = (String) param.get("projectName");
    String jarFilePath = (String) param.get("jarPath");
    String alias = (String) param.get("alias");

    Properties props = zkService.getProperties(Constants.COMMON_ROOT + "/" + Constants.GLOBAL_PROPERTIES);
    String stormHomePath = props.getProperty(KeeperConstants.GLOBAL_CONF_KEY_STORM_NIMBUS_HOME_PATH);
    if (StringUtils.endsWith(stormHomePath, "/"))
        stormHomePath = StringUtils.substringBeforeLast(stormHomePath, "/");

    String routerJarsBasePath = props.getProperty(KeeperConstants.GLOBAL_CONF_KEY_JARS_PATH);
    if (StringUtils.endsWith(routerJarsBasePath, "/")) {
        routerJarsBasePath = StringUtils.substringBeforeLast(routerJarsBasePath, "/");
    }

    String zkUrl = props.getProperty(KeeperConstants.GLOBAL_CONF_KEY_ZK_STR);
    String user = props.getProperty(KeeperConstants.GLOBAL_CONF_KEY_CLUSTER_SERVER_SSH_USER);
    String stormNimbusHost = props.getProperty(KeeperConstants.GLOBAL_CONF_KEY_STORM_NIMBUS_HOST);
    String port = props.getProperty(KeeperConstants.GLOBAL_CONF_KEY_CLUSTER_SERVER_SSH_PORT);

    // 0:routerJarsBasePath, 1:stormHomePath, 2:zk url, 3: topologyName, 4:jar path
    // 5:user name, 6:nimbus host, 7:ssh port, 8:project name, 9: alias
    String cmd = MessageFormat.format("ssh -p {7} {5}@{6} {0}/dbus_startTopology.sh {1} router {2} {3} {4} {8} {9}",
            routerJarsBasePath, stormHomePath, zkUrl, topologyName, jarFilePath, user, stormNimbusHost, port, projectName, alias);
    logger.info("start topology command: {}", cmd);

    Map<String, Object> retMap = execCmd(cmd, session, true, smt, (String) param.get("uid"));
    logger.info("start topology return code: {}, param: {}", retMap.get("code"), JSON.toJSONString(param));
    if ((Integer) retMap.get("code") == 0) {
        ProjectTopology record = new ProjectTopology();
        record.setId((Integer) param.get("id"));
        record.setStatus("running");
        update(record, true);
    }
    return new ResultEntity(ResultEntity.SUCCESS, (String) retMap.get("msg"));
}
 
源代码15 项目: DBus   文件: AckWindows.java
public void fail(Ack ackVo) {
    logger.debug("topic:{}, partaiton:{}, offset:{}, trigger fail.", ackVo.getTopic(), ackVo.getPartition(), ackVo.getOffset());
    if (StringUtils.endsWith(ackVo.getTopic(), "_ctrl"))
        ackBooks.get(obtainKey(ackVo)).get(ackVo.getOffset()).setStatus(Ack.OK);
    else doAckOrFail(ackVo, Ack.FAIL);
    flush();
}
 
源代码16 项目: iyzipay-java   文件: RequestFormatter.java
public static String formatPrice(BigDecimal price) {
    String formattedPrice = price.toString();
    if (!StringUtils.contains(formattedPrice, DOT)) {
        return formattedPrice + ".0";
    }
    formattedPrice = StringUtils.stripEnd(formattedPrice, ZERO);
    if (StringUtils.endsWith(formattedPrice, DOT)) {
        return formattedPrice + ZERO;
    }
    return formattedPrice;
}
 
源代码17 项目: supplierShop   文件: ReflectUtils.java
/**
 * 直接调用对象方法, 无视private/protected修饰符,
 * 用于一次性调用的情况,否则应使用getAccessibleMethodByName()函数获得Method后反复调用.
 * 只匹配函数名,如果有多个同名函数调用第一个。
 */
@SuppressWarnings("unchecked")
public static <E> E invokeMethodByName(final Object obj, final String methodName, final Object[] args)
{
    Method method = getAccessibleMethodByName(obj, methodName, args.length);
    if (method == null)
    {
        // 如果为空不报错,直接返回空。
        logger.debug("在 [" + obj.getClass() + "] 中,没有找到 [" + methodName + "] 方法 ");
        return null;
    }
    try
    {
        // 类型转换(将参数数据类型转换为目标方法参数类型)
        Class<?>[] cs = method.getParameterTypes();
        for (int i = 0; i < cs.length; i++)
        {
            if (args[i] != null && !args[i].getClass().equals(cs[i]))
            {
                if (cs[i] == String.class)
                {
                    args[i] = Convert.toStr(args[i]);
                    if (StringUtils.endsWith((String) args[i], ".0"))
                    {
                        args[i] = StringUtils.substringBefore((String) args[i], ".0");
                    }
                }
                else if (cs[i] == Integer.class)
                {
                    args[i] = Convert.toInt(args[i]);
                }
                else if (cs[i] == Long.class)
                {
                    args[i] = Convert.toLong(args[i]);
                }
                else if (cs[i] == Double.class)
                {
                    args[i] = Convert.toDouble(args[i]);
                }
                else if (cs[i] == Float.class)
                {
                    args[i] = Convert.toFloat(args[i]);
                }
                else if (cs[i] == Date.class)
                {
                    if (args[i] instanceof String)
                    {
                        args[i] = DateUtils.parseDate(args[i]);
                    }
                    else
                    {
                        args[i] = DateUtil.getJavaDate((Double) args[i]);
                    }
                }
            }
        }
        return (E) method.invoke(obj, args);
    }
    catch (Exception e)
    {
        String msg = "method: " + method + ", obj: " + obj + ", args: " + args + "";
        throw convertReflectionExceptionToUnchecked(msg, e);
    }
}
 
源代码18 项目: jakduk-api   文件: JakdukUtils.java
/**
 * 임시 이메일 주소인지 확인한다.
 */
public static Boolean isTempararyEmail(String email) {
    return StringUtils.endsWith(email, "@jakduk.com");
}
 
源代码19 项目: jinjava   文件: MacroTag.java
@Override
public String interpret(TagNode tagNode, JinjavaInterpreter interpreter) {
  Matcher matcher = MACRO_PATTERN.matcher(tagNode.getHelpers());
  if (!matcher.find()) {
    throw new TemplateSyntaxException(
      tagNode.getMaster().getImage(),
      "Unable to parse macro definition: " + tagNode.getHelpers(),
      tagNode.getLineNumber(),
      tagNode.getStartPosition()
    );
  }

  String name = matcher.group(1);
  String args = Strings.nullToEmpty(matcher.group(2));

  LinkedHashMap<String, Object> argNamesWithDefaults = new LinkedHashMap<>();

  List<String> argList = Lists.newArrayList(ARGS_SPLITTER.split(args));
  boolean deferred = false;
  for (int i = 0; i < argList.size(); i++) {
    String arg = argList.get(i);

    if (arg.contains("=")) {
      String argName = StringUtils.substringBefore(arg, "=").trim();
      StringBuilder argValStr = new StringBuilder(
        StringUtils.substringAfter(arg, "=").trim()
      );

      if (
        StringUtils.startsWith(argValStr, "[") && !StringUtils.endsWith(argValStr, "]")
      ) {
        while (i + 1 < argList.size() && !StringUtils.endsWith(argValStr, "]")) {
          argValStr.append(", ").append(argList.get(i + 1));
          i++;
        }
      }

      try {
        Object argVal = interpreter.resolveELExpression(
          argValStr.toString(),
          tagNode.getLineNumber()
        );
        argNamesWithDefaults.put(argName, argVal);
      } catch (DeferredValueException e) {
        deferred = true;
      }
    } else {
      argNamesWithDefaults.put(arg, null);
    }
  }

  MacroFunction macro = new MacroFunction(
    tagNode.getChildren(),
    name,
    argNamesWithDefaults,
    false,
    interpreter.getContext(),
    interpreter.getLineNumber(),
    interpreter.getPosition()
  );
  macro.setDeferred(deferred);

  interpreter.getContext().addGlobalMacro(macro);

  if (deferred) {
    throw new DeferredValueException(
      name,
      tagNode.getLineNumber(),
      tagNode.getStartPosition()
    );
  }

  return "";
}
 
源代码20 项目: data-prep   文件: MoveDatasetContent.java
@Value("${content-service.store.local.path}")
public void setTmp(String basePath) {
    this.tmp = StringUtils.endsWith(basePath, "/") ? basePath + "store/datasets/tmp"
            : basePath + "/store/datasets/tmp";
}
 
 同类方法