private static void addRouteInfo(String[] arrItem, RouteSetting setting) { Dictionary <String, RouteOtherInfo> dic = new Dictionary <String, RouteOtherInfo>(); for (int i = 1; i < arrItem.Length; i++) { if (strUtil.IsNullOrEmpty(arrItem[i])) { continue; } RouteOtherInfo info = RouteOtherInfo.Parse(arrItem[i]); if (info != null) { dic.Add(info.getName(), info); } } setting.setRouteOtherInfo(dic); if (dic.ContainsKey("default")) { setting.setDefaultValue(RouteOtherInfo.getDefaultValue(dic["default"])); } }
public Requirements getRequirements() { if (_otherInfos.ContainsKey("requirements")) { RouteOtherInfo info = _otherInfos["requirements"]; Requirements result = new Requirements(); result.setDic(info.getItems()); return(result); } return(new Requirements()); }
public static DefaultRouteValue getDefaultValue( RouteOtherInfo info ) { Dictionary<String, String> values = info.getItems(); DefaultRouteValue result = new DefaultRouteValue(); if (values.ContainsKey( "ownertype" )) result.setOwnerType( values["ownertype"] ); if (values.ContainsKey( "owner" )) result.setOwner( values["owner"] ); if (values.ContainsKey( "ns" )) result.setNs( values["ns"] ); if (values.ContainsKey( "controller" )) result.setController( values["controller"] ); if (values.ContainsKey( "action" )) result.setAction( values["action"] ); if (values.ContainsKey( "query" )) result.setQuery( values["query"] ); if (values.ContainsKey( "id" )) result.setId( cvt.ToInt( values["id"] ) ); if (values.ContainsKey( "page" )) result.setPage( cvt.ToInt( values["page"] ) ); return result; }
public static RouteOtherInfo Parse( String str ) { if (strUtil.IsNullOrEmpty( str )) return null; String[] arrItem = str.Split( ':' ); if (arrItem.Length != 2) return null; String name = arrItem[0].Trim(); String settingStr = arrItem[1].Trim(); if (strUtil.IsNullOrEmpty( name ) || strUtil.IsNullOrEmpty( settingStr )) return null; settingStr = settingStr.TrimStart( '{' ).TrimEnd( '}' ).Trim(); if (strUtil.IsNullOrEmpty( settingStr )) return null; //----------------------------- RouteOtherInfo result = new RouteOtherInfo(); result.setName( name ); String[] arrSettings = settingStr.Split( ',' ); Dictionary<String, String> dic = new Dictionary<String, String>(); foreach (String item in arrSettings) { if (strUtil.IsNullOrEmpty( item )) continue; String[] arrPair = item.Trim().Split( '=' ); if (arrPair.Length != 2) continue; String key = arrPair[0].Trim(); String val = arrPair[1].Trim(); if (strUtil.IsNullOrEmpty( key ) ) continue; if (strUtil.IsNullOrEmpty( val )) val = ""; dic.Add( key, val ); } if (dic.Count == 0) return null; result.setItems( dic ); return result; }
public static DefaultRouteValue getDefaultValue( RouteOtherInfo info ) { Dictionary<String, String> values = info.getItems(); DefaultRouteValue result = new DefaultRouteValue(); if (values.ContainsKey( "ownertype" )) result.setOwnerType( values["ownertype"] ); if (values.ContainsKey( "owner" )) result.setOwner( values["owner"] ); if (values.ContainsKey( "ns" )) result.setNs( values["ns"] ); if (values.ContainsKey( "controller" )) result.setController( values["controller"] ); if (values.ContainsKey( "action" )) result.setAction( values["action"] ); if (values.ContainsKey( "query" )) result.setQuery( values["query"] ); if (values.ContainsKey( "id" )) result.setId( cvt.ToInt( values["id"] ) ); if (values.ContainsKey( "appId" )) result.setAppId( cvt.ToInt( values["appId"] ) ); if (values.ContainsKey( "page" )) result.setPage( cvt.ToInt( values["page"] ) ); return result; }