Ejemplo n.º 1
0
        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"]));
            }
        }
Ejemplo n.º 2
0
 public Requirements getRequirements()
 {
     if (_otherInfos.ContainsKey("requirements"))
     {
         RouteOtherInfo info   = _otherInfos["requirements"];
         Requirements   result = new Requirements();
         result.setDic(info.getItems());
         return(result);
     }
     return(new Requirements());
 }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
        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;
        }