Example usage for org.apache.commons.lang StringUtils startsWith

List of usage examples for org.apache.commons.lang StringUtils startsWith

Introduction

In this page you can find the example usage for org.apache.commons.lang StringUtils startsWith.

Prototype

public static boolean startsWith(String str, String prefix) 

Source Link

Document

Check if a String starts with a specified prefix.

Usage

From source file:net.ymate.framework.unpack.Unpackers.java

private boolean __unpack(JarFile jarFile, String prefixPath) throws Exception {
    boolean _results = false;
    Enumeration<JarEntry> _entriesEnum = jarFile.entries();
    for (; _entriesEnum.hasMoreElements();) {
        JarEntry _entry = _entriesEnum.nextElement();
        if (StringUtils.startsWith(_entry.getName(), prefixPath)) {
            if (!_entry.isDirectory()) {
                _LOG.info("Synchronizing resource file: " + _entry.getName());
                //
                String _entryName = StringUtils.substringAfter(_entry.getName(), prefixPath);
                File _targetFile = new File(RuntimeUtils.getRootPath(false), _entryName);
                _targetFile.getParentFile().mkdirs();
                IOUtils.copyLarge(jarFile.getInputStream(_entry), new FileOutputStream(_targetFile));
                _results = true;//from   w  w w  . ja v a 2  s  . com
            }
        }
    }
    return _results;
}

From source file:net.ymate.framework.webmvc.AbstractWebErrorProcessor.java

private String __doParseExceptionDetail(Throwable e) {
    IRequestContext _requestCtx = WebContext.getRequestContext();
    HttpServletRequest _request = WebContext.getRequest();
    WebContext _context = WebContext.getContext();
    ///*from w ww.java  2s .  c om*/
    StringBuilder _errSB = new StringBuilder("An exception occurred at ")
            .append(DateTimeUtils.formatTime(System.currentTimeMillis(), DateTimeUtils.YYYY_MM_DD_HH_MM_SS_SSS))
            .append(":\n");
    _errSB.append("-------------------------------------------------\n");
    _errSB.append("-- ThreadId: ").append(Thread.currentThread().getId()).append("\n");
    _errSB.append("-- RequestMapping: ").append(_requestCtx.getRequestMapping()).append("\n");
    _errSB.append("-- ResponseStatus: ").append(((GenericResponseWrapper) WebContext.getResponse()).getStatus())
            .append("\n");
    _errSB.append("-- Method: ").append(_requestCtx.getHttpMethod().name()).append("\n");
    _errSB.append("-- RemoteAddrs: ").append(JSON.toJSONString(WebUtils.getRemoteAddrs(_request))).append("\n");
    RequestMeta _meta = _context.getAttribute(RequestMeta.class.getName());
    if (_meta != null) {
        _errSB.append("-- Controller: ").append(_meta.getTargetClass().getName()).append(":")
                .append(_meta.getMethod().getName()).append("\n");
    }
    _errSB.append("-- ContextAttributes:").append("\n");
    for (Map.Entry<String, Object> _entry : _context.getAttributes().entrySet()) {
        if (!StringUtils.startsWith(_entry.getKey(), "net.ymate.platform.webmvc")) {
            _errSB.append("\t  ").append(_entry.getKey()).append(": ")
                    .append(JSON.toJSONString(_entry.getValue())).append("\n");
        }
    }
    _errSB.append("-- Parameters:").append("\n");
    for (Map.Entry<String, Object> _entry : _context.getParameters().entrySet()) {
        _errSB.append("\t  ").append(_entry.getKey()).append(": ").append(JSON.toJSONString(_entry.getValue()))
                .append("\n");
    }
    _errSB.append("-- Attributes:").append("\n");
    Enumeration _enum = _request.getAttributeNames();
    while (_enum.hasMoreElements()) {
        String _attrName = (String) _enum.nextElement();
        _errSB.append("\t  ").append(_attrName).append(": ")
                .append(JSON.toJSONString(_request.getAttribute(_attrName))).append("\n");
    }
    _errSB.append("-- Headers:").append("\n");
    _enum = _request.getHeaderNames();
    while (_enum.hasMoreElements()) {
        String _headName = (String) _enum.nextElement();
        if ("cookie".equalsIgnoreCase(_headName)) {
            continue;
        }
        _errSB.append("\t  ").append(_headName).append(": ")
                .append(JSON.toJSONString(_request.getHeader(_headName))).append("\n");
    }
    _errSB.append("-- Cookies:").append("\n");
    Cookie[] _cookies = _request.getCookies();
    if (_cookies != null) {
        for (Cookie _cookie : _cookies) {
            _errSB.append("\t  ").append(_cookie.getName()).append(": ")
                    .append(JSON.toJSONString(_cookie.getValue())).append("\n");
        }
    }
    _errSB.append("-- Session:").append("\n");
    for (Map.Entry<String, Object> _entry : _context.getSession().entrySet()) {
        _errSB.append("\t  ").append(_entry.getKey()).append(": ").append(JSON.toJSONString(_entry.getValue()))
                .append("\n");
    }
    _errSB.append(__doExceptionToString(e));
    _errSB.append("-------------------------------------------------\n");
    //
    return _errSB.toString();
}

From source file:net.ymate.module.oauth.connector.impl.QQConnectProcessor.java

@Override
protected JSONObject __doParseConnectResponseBody(IHttpResponse response) throws Exception {
    if (response != null && response.getStatusCode() == HttpServletResponse.SC_OK) {
        JSONObject _result = null;/* w  ww.j  av a 2s.c o  m*/
        if (StringUtils.startsWith(response.getContent(), "callback")) {
            _result = JSON.parseObject(StringUtils.substringBetween(response.getContent(), "callback(", ");"));
        } else {
            _result = new JSONObject();
            _result.putAll(ParamUtils.parseQueryParamStr(response.getContent(), true, "UTF-8"));
        }
        if (_result.containsKey("error")) {
            throw new RuntimeException(_result.toJSONString());
        }
        return _result;
    }
    return null;
}

From source file:net.ymate.module.webproxy.impl.DefaultModuleCfg.java

public DefaultModuleCfg(YMP owner) {
    Map<String, String> _moduleCfgs = owner.getConfig().getModuleConfigs(IWebProxy.MODULE_NAME);
    ///*from  www  .  jav  a2  s.c o m*/
    __serviceBaseUrl = _moduleCfgs.get("service_base_url");
    if (StringUtils.isBlank(__serviceBaseUrl)) {
        throw new NullArgumentException("service_base_url");
    }
    if (!StringUtils.startsWithIgnoreCase(__serviceBaseUrl, "http://")
            && !StringUtils.startsWithIgnoreCase(__serviceBaseUrl, "https://")) {
        throw new IllegalArgumentException("Argument service_base_url must be start with http or https");
    } else if (StringUtils.endsWith(__serviceBaseUrl, "/")) {
        __serviceBaseUrl = StringUtils.substringBeforeLast(__serviceBaseUrl, "/");
    }
    //
    __serviceRequestPrefix = StringUtils.trimToEmpty(_moduleCfgs.get("service_request_prefix"));
    if (StringUtils.isNotBlank(__serviceRequestPrefix)
            && !StringUtils.startsWith(__serviceRequestPrefix, "/")) {
        __serviceRequestPrefix = "/" + __serviceRequestPrefix;
    }
    //
    __useProxy = BlurObject.bind(_moduleCfgs.get("use_proxy")).toBooleanValue();
    if (__useProxy) {
        Proxy.Type _proxyType = Proxy.Type
                .valueOf(StringUtils.defaultIfBlank(_moduleCfgs.get("proxy_type"), "HTTP").toUpperCase());
        int _proxyPrort = BlurObject.bind(StringUtils.defaultIfBlank(_moduleCfgs.get("proxy_port"), "80"))
                .toIntValue();
        String _proxyHost = _moduleCfgs.get("proxy_host");
        if (StringUtils.isBlank(_proxyHost)) {
            throw new NullArgumentException("proxy_host");
        }
        __proxy = new Proxy(_proxyType, new InetSocketAddress(_proxyHost, _proxyPrort));
    }
    //
    __useCaches = BlurObject.bind(_moduleCfgs.get("use_caches")).toBooleanValue();
    __instanceFollowRedirects = BlurObject.bind(_moduleCfgs.get("instance_follow_redirects")).toBooleanValue();
    //
    __connectTimeout = BlurObject.bind(_moduleCfgs.get("connect_timeout")).toIntValue();
    __readTimeout = BlurObject.bind(_moduleCfgs.get("read_timeout")).toIntValue();
    //
    __transferBlackList = Arrays
            .asList(StringUtils.split(StringUtils.trimToEmpty(_moduleCfgs.get("transfer_blacklist")), "|"));
    //
    __transferHeaderEnabled = BlurObject.bind(_moduleCfgs.get("transfer_header_enabled")).toBooleanValue();
    //
    if (__transferHeaderEnabled) {
        String[] _filters = StringUtils
                .split(StringUtils.lowerCase(_moduleCfgs.get("transfer_header_whitelist")), "|");
        if (_filters != null && _filters.length > 0) {
            __transferHeaderWhiteList = Arrays.asList(_filters);
        } else {
            __transferHeaderWhiteList = Collections.emptyList();
        }
        //
        _filters = StringUtils.split(StringUtils.lowerCase(_moduleCfgs.get("transfer_header_blacklist")), "|");
        if (_filters != null && _filters.length > 0) {
            __transferHeaderBlackList = Arrays.asList(_filters);
        } else {
            __transferHeaderBlackList = Collections.emptyList();
        }
        //
        _filters = StringUtils.split(StringUtils.lowerCase(_moduleCfgs.get("response_header_whitelist")), "|");
        if (_filters != null && _filters.length > 0) {
            __responseHeaderWhiteList = Arrays.asList(_filters);
        } else {
            __responseHeaderWhiteList = Collections.emptyList();
        }
    } else {
        __transferHeaderWhiteList = Collections.emptyList();
        __transferHeaderBlackList = Collections.emptyList();
        //
        __responseHeaderWhiteList = Collections.emptyList();
    }
}

From source file:net.ymate.module.webproxy.support.DispatchProxyFilter.java

private boolean __doMatchBlacklist(String requestMapping) {
    if (!__blacklist.isEmpty()) {
        if (__blacklist.contains(requestMapping)) {
            return true;
        } else {//from   w ww .j  a v a  2 s  .  c o  m
            for (String _mapping : __blacklist) {
                if (StringUtils.endsWith(_mapping, "*")) {
                    if (StringUtils.startsWith(requestMapping, StringUtils.substringBefore(_mapping, "*"))) {
                        return true;
                    }
                }
            }
        }
    }
    return false;
}

From source file:net.ymate.module.webproxy.support.DispatchProxyFilter.java

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException {
    request.setCharacterEncoding(__charsetEncoding);
    response.setCharacterEncoding(__charsetEncoding);
    ////  w  w  w. jav a 2  s .  c om
    response.setContentType(
            Type.ContentType.HTML.getContentType().concat("; charset=").concat(__charsetEncoding));
    //
    HttpServletRequest _request = new RequestMethodWrapper((HttpServletRequest) request, __requestMethodParam);
    HttpServletResponse _response = (HttpServletResponse) response;
    IRequestContext _requestContext = new DefaultRequestContext(_request, __requestPrefix);
    if (null == __ignorePatern || !__ignorePatern.matcher(_requestContext.getOriginalUrl()).find()) {
        if (StringUtils.isNotBlank(__prefix)
                && !StringUtils.startsWith(_requestContext.getRequestMapping(), __prefix)
                || __doMatchBlacklist(_requestContext.getRequestMapping())) {
            _response = new GenericResponseWrapper(_response);
            GenericDispatcher.create(WebMVC.get()).execute(_requestContext, __filterConfig.getServletContext(),
                    _request, _response);
        } else {
            try {
                YMP.get().getEvents()
                        .fireEvent(new WebProxyEvent(WebProxy.get(), WebProxyEvent.EVENT.REQUEST_RECEIVED)
                                .addParamExtend(IEvent.EVENT_SOURCE, _requestContext));
                //
                String _requestMapping = _requestContext.getRequestMapping();
                if (StringUtils.isNotBlank(__prefix)) {
                    _requestMapping = StringUtils.substringAfter(_requestMapping, __prefix);
                }
                StringBuilder _url = new StringBuilder(WebProxy.get().getModuleCfg().getServiceBaseUrl())
                        .append(_requestMapping);
                if (Type.HttpMethod.GET.equals(_requestContext.getHttpMethod())) {
                    if (StringUtils.isNotBlank(_request.getQueryString())) {
                        _url.append("?").append(_request.getQueryString());
                    }
                }
                WebProxy.get().transmission(_request, _response, _url.toString(),
                        _requestContext.getHttpMethod());
            } catch (Throwable e) {
                _LOG.warn("An exception occurred: ", RuntimeUtils.unwrapThrow(e));
            } finally {
                YMP.get().getEvents()
                        .fireEvent(new WebProxyEvent(WebProxy.get(), WebProxyEvent.EVENT.REQUEST_COMPLETED)
                                .addParamExtend(IEvent.EVENT_SOURCE, _requestContext));
            }
        }
    } else {
        chain.doFilter(_request, _response);
    }
}

From source file:net.ymate.platform.base.impl.DefaultModuleLoader.java

/**
 * @param moduleName ???/*from   w w w  .j a v a 2s .  c  o m*/
 * @param configs ???
 * @return ??????
 */
private Map<String, String> __parseModuleCfg(String moduleName, Properties configs) {
    Map<String, String> _returnValue = new HashMap<String, String>();
    // ?????
    for (Object _key : configs.keySet()) {
        String _prefix = "ymp.configs." + moduleName + ".";
        if (StringUtils.startsWith((String) _key, _prefix)) {
            String _cfgKey = StringUtils.substring((String) _key, _prefix.length());
            String _cfgValue = configs.getProperty((String) _key);
            _returnValue.put(_cfgKey, _cfgValue);
        }
    }
    return _returnValue;
}

From source file:net.ymate.platform.configuration.support.PropertyConfigFileHandler.java

@SuppressWarnings("unchecked")
public PropertyConfigFileHandler load(boolean sorted) {
    if (!__loaded) {
        __sorted = sorted;/*from  w  w  w  .  j  av a 2 s.  c  o  m*/
        // ????
        if (sorted) {
            __categories = new LinkedHashMap<String, XMLConfigFileHandler.XMLCategory>();
            __rootAttributes = new LinkedHashMap<String, XMLConfigFileHandler.XMLAttribute>();
        } else {
            __categories = new HashMap<String, XMLConfigFileHandler.XMLCategory>();
            __rootAttributes = new HashMap<String, XMLConfigFileHandler.XMLAttribute>();
        }
        //
        Enumeration<String> _propNames = (Enumeration<String>) __rootProps.propertyNames();
        while (_propNames.hasMoreElements()) {
            String _propName = _propNames.nextElement();
            if (StringUtils.startsWith(_propName, XMLConfigFileHandler.TAG_NAME_ROOT)) {
                String _newPropName = StringUtils.substringAfter(_propName,
                        XMLConfigFileHandler.TAG_NAME_ROOT.concat("."));
                // _propArr[0] = categoryName
                // _propArr[1] = propertyName
                // _propArr[2] = attributes
                // _propArr[3] = attrName
                String[] _propArr = StringUtils.split(_newPropName, ".");
                if (_propArr.length > 1) {
                    // 
                    if (_propArr[0].equalsIgnoreCase(TAG_NAME_ATTRIBUTE)) {
                        __rootAttributes.put(_propArr[1], new XMLConfigFileHandler.XMLAttribute(_propArr[1],
                                __rootProps.getProperty(_propName)));
                        continue;
                    }
                    // category, category?, 
                    XMLConfigFileHandler.XMLCategory _category = __categories.get(_propArr[0]);
                    if (_category == null) {
                        _category = new XMLConfigFileHandler.XMLCategory(_propArr[0], null, null, __sorted);
                        __categories.put(_propArr[0], _category);
                    }
                    //
                    if (_propArr.length == 4) {
                        if (_propArr[2].equalsIgnoreCase(TAG_NAME_ATTRIBUTE)) {
                            XMLConfigFileHandler.XMLProperty _prop = __safeGetProperty(_category, _propName,
                                    _propArr[1]);
                            if (_prop != null) {
                                __fixedSetAttribute(_prop, _propName, _propArr[3]);
                            }
                        } else {
                            _category.getPropertyMap().put(_propArr[3], new XMLConfigFileHandler.XMLProperty(
                                    _propArr[3], __rootProps.getProperty(_propName), null));
                        }
                    } else if (_propArr.length == 2) {
                        __fixedSetProperty(_category, _propName, _propArr[1]);
                    } else {
                        if (_propArr[1].equalsIgnoreCase(TAG_NAME_ATTRIBUTE)) {
                            _category.getAttributeMap().put(_propArr[2], new XMLConfigFileHandler.XMLAttribute(
                                    _propArr[2], __rootProps.getProperty(_propName)));
                        } else {
                            XMLConfigFileHandler.XMLProperty _prop = __safeGetProperty(_category, _propName,
                                    _propArr[1]);
                            if (_prop != null) {
                                __fixedSetAttribute(_prop, _propName, _propArr[2]);
                            }
                        }
                    }
                }
            }
        }
        // ??DEFAULT_CATEGORY_NAME??
        if (!__categories.containsKey(XMLConfigFileHandler.DEFAULT_CATEGORY_NAME)) {
            __categories.put(XMLConfigFileHandler.DEFAULT_CATEGORY_NAME, new XMLConfigFileHandler.XMLCategory(
                    XMLConfigFileHandler.DEFAULT_CATEGORY_NAME, null, null, sorted));
        }
        //
        this.__loaded = true;
    }
    return this;
}

From source file:net.ymate.platform.core.beans.impl.DefaultBeanFactory.java

protected Object __wrapProxy(IProxyFactory proxyFactory, Object targetObject) {
    final Class<?> _targetClass = targetObject.getClass();
    ///*ww  w. ja v a  2s .  c om*/
    List<IProxy> _targetProxies = proxyFactory.getProxies(new IProxyFilter() {

        private boolean __doCheckAnnotation(Proxy targetProxyAnno) {
            // targetClass???true
            if (targetProxyAnno.annotation().length > 0) {
                for (Class<? extends Annotation> _annoClass : targetProxyAnno.annotation()) {
                    if (_targetClass.isAnnotationPresent(_annoClass)) {
                        return true;
                    }
                }
                return false;
            }
            return true;
        }

        public boolean filter(IProxy targetProxy) {
            CleanProxy _cleanProxy = _targetClass.getAnnotation(CleanProxy.class);
            if (_cleanProxy != null) {
                if (_cleanProxy.value().length > 0) {
                    for (Class<? extends IProxy> _proxyClass : _cleanProxy.value()) {
                        if (_proxyClass.equals(targetProxy.getClass())) {
                            return false;
                        }
                    }
                } else {
                    return false;
                }
            }
            Proxy _targetProxyAnno = targetProxy.getClass().getAnnotation(Proxy.class);
            // 
            if (StringUtils.isNotBlank(_targetProxyAnno.packageScope())) {
                // ??
                if (!StringUtils.startsWith(_targetClass.getPackage().getName(),
                        _targetProxyAnno.packageScope())) {
                    return false;
                }
            }
            return __doCheckAnnotation(_targetProxyAnno);
        }
    });
    if (!_targetProxies.isEmpty()) {
        // ????????
        return ClassUtils.wrapper(targetObject)
                .duplicate(proxyFactory.createProxy(_targetClass, _targetProxies));
    }
    return targetObject;
}

From source file:net.ymate.platform.core.support.ConfigBuilder.java

public static ConfigBuilder create(final Properties properties) {
    ////from  w w  w . j  a  v  a 2 s. com
    IModuleCfgProcessor _processor = new IModuleCfgProcessor() {
        @Override
        public Map<String, String> getModuleCfg(String moduleName) {
            Map<String, String> _cfgsMap = new HashMap<String, String>();
            // ?????
            for (Object _key : properties.keySet()) {
                String _prefix = "ymp.configs." + moduleName + ".";
                if (StringUtils.startsWith((String) _key, _prefix)) {
                    String _cfgKey = StringUtils.substring((String) _key, _prefix.length());
                    String _cfgValue = properties.getProperty((String) _key);
                    _cfgsMap.put(_cfgKey, _cfgValue);
                }
            }
            return _cfgsMap;
        }
    };
    //
    ConfigBuilder _builder = ConfigBuilder.create(_processor)
            .developMode(new BlurObject(properties.getProperty("ymp.dev_mode")).toBooleanValue())
            .packageNames(__doParserArrayStr(properties, "ymp.autoscan_packages"))
            .excludedFiles(__doParserArrayStr(properties, "ymp.excluded_files"))
            .excludedModules(__doParserArrayStr(properties, "ymp.excluded_modules"))
            .locale(StringUtils.trimToNull(properties.getProperty("ymp.i18n_default_locale")))
            .i18nEventHandler(ClassUtils.impl(properties.getProperty("ymp.i18n_event_handler_class"),
                    II18NEventHandler.class, ConfigBuilder.class));
    // ?????
    String _prefix = "ymp.params.";
    for (Object _key : properties.keySet()) {
        if (StringUtils.startsWith((String) _key, _prefix)) {
            String _cfgKey = StringUtils.substring((String) _key, _prefix.length());
            String _cfgValue = properties.getProperty((String) _key);
            _builder.param(_cfgKey, _cfgValue);
        }
    }
    //
    _prefix = "ymp.event.";
    for (Object _key : properties.keySet()) {
        if (StringUtils.startsWith((String) _key, _prefix)) {
            String _cfgKey = StringUtils.substring((String) _key, _prefix.length());
            String _cfgValue = properties.getProperty((String) _key);
            _builder.__eventConfigs.put(_cfgKey, _cfgValue);
        }
    }
    //
    return _builder;
}