Пример #1
0
 protected override object ImportFromString(Jayrock.Json.Conversion.ImportContext context, JsonReader reader)
 {
     try
     {
         string val = reader.ReadString();
         return DateTime.Parse(val);
     }
     catch (FormatException e)
     {
         throw new JsonException("Error importing JSON String as System.DateTime.", e);
     }
 }
Пример #2
0
 protected override object ImportFromString(Jayrock.Json.Conversion.ImportContext context, JsonReader reader)
 {
     try
     {
         string val = reader.ReadString().ToLower();
         return (val == "1") || (val == "true") || (val == "t");
     }
     catch (FormatException e)
     {
         throw new JsonException("Error importing JSON String as System.Boolean.", e);
     }
 }
Пример #3
0
        public void Shred()
        {
            JsonReader reader = CreateReader(@"
                {'web-app': {
                'servlet': [   
                    {
                    'servlet-name': 'cofaxCDS',
                    'servlet-class': 'org.cofax.cds.CDSServlet',
                    'init-param': {
                        'configGlossary:installationAt': 'Philadelphia, PA',
                        'configGlossary:adminEmail': '*****@*****.**',
                        'configGlossary:poweredBy': 'Cofax',
                        'configGlossary:poweredByIcon': '/images/cofax.gif',
                        'configGlossary:staticPath': '/content/static',
                        'templateProcessorClass': 'org.cofax.WysiwygTemplate',
                        'templateLoaderClass': 'org.cofax.FilesTemplateLoader',
                        'templatePath': 'templates',
                        'templateOverridePath': '',
                        'defaultListTemplate': 'listTemplate.htm',
                        'defaultFileTemplate': 'articleTemplate.htm',
                        'useJSP': false,
                        'jspListTemplate': 'listTemplate.jsp',
                        'jspFileTemplate': 'articleTemplate.jsp',
                        'cachePackageTagsTrack': 200,
                        'cachePackageTagsStore': 200,
                        'cachePackageTagsRefresh': 60,
                        'cacheTemplatesTrack': 100,
                        'cacheTemplatesStore': 50,
                        'cacheTemplatesRefresh': 15,
                        'cachePagesTrack': 200,
                        'cachePagesStore': 100,
                        'cachePagesRefresh': 10,
                        'cachePagesDirtyRead': 10,
                        'searchEngineListTemplate': 'forSearchEnginesList.htm',
                        'searchEngineFileTemplate': 'forSearchEngines.htm',
                        'searchEngineRobotsDb': 'WEB-INF/robots.db',
                        'useDataStore': true,
                        'dataStoreClass': 'org.cofax.SqlDataStore',
                        'redirectionClass': 'org.cofax.SqlRedirection',
                        'dataStoreName': 'cofax',
                        'dataStoreDriver': 'com.microsoft.jdbc.sqlserver.SQLServerDriver',
                        'dataStoreUrl': 'jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon',
                        'dataStoreUser': '******',
                        'dataStorePassword': '******',
                        'dataStoreTestQuery': 'SET NOCOUNT ON;select test=\'test\';',
                        'dataStoreLogFile': '/usr/local/tomcat/logs/datastore.log',
                        'dataStoreInitConns': 10,
                        'dataStoreMaxConns': 100,
                        'dataStoreConnUsageLimit': 100,
                        'dataStoreLogLevel': 'debug',
                        'maxUrlLength': 500}},
                    {
                    'servlet-name': 'cofaxEmail',
                    'servlet-class': 'org.cofax.cds.EmailServlet',
                    'init-param': {
                    'mailHost': 'mail1',
                    'mailHostOverride': 'mail2'}},
                    {
                    'servlet-name': 'cofaxAdmin',
                    'servlet-class': 'org.cofax.cds.AdminServlet'},
                 
                    {
                    'servlet-name': 'fileServlet',
                    'servlet-class': 'org.cofax.cds.FileServlet'},
                    {
                    'servlet-name': 'cofaxTools',
                    'servlet-class': 'org.cofax.cms.CofaxToolsServlet',
                    'init-param': {
                        'templatePath': 'toolstemplates/',
                        'log': 1,
                        'logLocation': '/usr/local/tomcat/logs/CofaxTools.log',
                        'logMaxSize': '',
                        'dataLog': 1,
                        'dataLogLocation': '/usr/local/tomcat/logs/dataLog.log',
                        'dataLogMaxSize': '',
                        'removePageCache': '/content/admin/remove?cache=pages&id=',
                        'removeTemplateCache': '/content/admin/remove?cache=templates&id=',
                        'fileTransferFolder': '/usr/local/tomcat/webapps/content/fileTransferFolder',
                        'lookInContext': 1,
                        'adminGroupID': 4,
                        'betaServer': true}}],
                'servlet-mapping': {
                    'cofaxCDS': '/',
                    'cofaxEmail': '/cofaxutil/aemail/*',
                    'cofaxAdmin': '/admin/*',
                    'fileServlet': '/static/*',
                    'cofaxTools': '/tools/*'},
                 
                'taglib': {
                    'taglib-uri': 'cofax.tld',
                    'taglib-location': '/WEB-INF/tlds/cofax.tld'}}}");

            ArrayList items = new ArrayList();

            while (reader.Read())
            {
                if (reader.TokenClass == JsonTokenClass.Member && reader.Text == "servlet-name")
                {
                    reader.Read();
                    items.Add(reader.ReadString());
                }
            }

            Assert.AreEqual(new string[] { "cofaxCDS", "cofaxEmail", "cofaxAdmin", "fileServlet", "cofaxTools" }, items.ToArray(typeof(string)));
        }
Пример #4
0
        void IJsonImportable.Import(ImportContext context, JsonReader reader)
        {
            reader.MoveToContent();

            if (reader.TokenClass != JsonTokenClass.Object)
            {
                reader.Skip();
                return;
            }

            reader.Read(/* object */);

            do
            {
                var brushName = reader.ReadMember().ToLowerInvariant();
                var color = reader.ReadString();

                var foreground = EnumHelper.TryParse<ConsoleColor>(color, true) ?? DefaultBrush.Foreground;

                switch (brushName)
                {
                    case "arr":
                    case "array":
                        Array = Array.ResetForeground(foreground);
                        break;
                    case "obj":
                    case "object":
                        Object = Object.ResetForeground(foreground);
                        break;
                    case "mem":
                    case "member":
                        Member = Member.ResetForeground(foreground);
                        break;
                    case "str":
                    case "string":
                        String = String.ResetForeground(foreground);
                        break;
                    case "num":
                    case "number":
                        Number = Number.ResetForeground(foreground);
                        break;
                    case "bit":
                    case "boolean":
                        Boolean = Boolean.ResetForeground(foreground);
                        break;
                    case "nil":
                    case "null":
                        Null = Null.ResetForeground(foreground);
                        break;
                    default:
                        continue;
                }
            }
            while (reader.TokenClass != JsonTokenClass.EndObject);

            reader.Read( /* end object */);
        }
Пример #5
0
 protected override object ImportFromString(Jayrock.Json.Conversion.ImportContext context, JsonReader reader)
 {
     try
     {
         string val = reader.ReadString();
         int i = 0;
         foreach (string item in values)
         {
             if (item == val)
                 return i;
             i++;
         }
         throw new JsonException("Error importing JSON String as " + this.OutputType.FullName + ".");
     }
     catch (FormatException e)
     {
         throw new JsonException("Error importing JSON String as " + this.OutputType.FullName + ".", e);
     }
 }
Пример #6
0
 protected override object ImportFromString(Jayrock.Json.Conversion.ImportContext context, JsonReader reader)
 {
     try
     {
         string val = reader.ReadString();
         EmailAdresses result = new EmailAdresses();
         result.Adresses = JsonConvert.Import<string[]>(val);
         return result;
     }
     catch (FormatException e)
     {
         throw new JsonException("Error importing JSON String as " + this.OutputType.FullName + ".", e);
     }
 }