List of usage examples for org.apache.commons.lang StringUtils startsWith
public static boolean startsWith(String str, String prefix)
Check if a String starts with a specified prefix.
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; }