mirror of
https://github.com/pocoproject/poco.git
synced 2025-04-01 09:24:55 +02:00
This commit is contained in:
parent
6918d6f91a
commit
cf8db80310
@ -1,8 +0,0 @@
|
|||||||
set(SAMPLE_NAME "BenchmarkApp")
|
|
||||||
|
|
||||||
set(LOCAL_SRCS "")
|
|
||||||
aux_source_directory(src LOCAL_SRCS)
|
|
||||||
|
|
||||||
add_executable( ${SAMPLE_NAME} ${LOCAL_SRCS} )
|
|
||||||
#set_target_properties( ${SAMPLE_NAME} PROPERTIES COMPILE_FLAGS ${RELEASE_CXX_FLAGS} )
|
|
||||||
target_link_libraries( ${SAMPLE_NAME} PocoJSON PocoFoundation )
|
|
@ -1,17 +0,0 @@
|
|||||||
#
|
|
||||||
# Makefile
|
|
||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# Makefile for Poco JSON BenchmarkApp
|
|
||||||
#
|
|
||||||
|
|
||||||
include $(POCO_BASE)/build/rules/global
|
|
||||||
|
|
||||||
objects = BenchmarkApp
|
|
||||||
|
|
||||||
target = BenchmarkApp
|
|
||||||
target_version = 1
|
|
||||||
target_libs = PocoJSON PocoFoundation
|
|
||||||
|
|
||||||
include $(POCO_BASE)/build/rules/exec
|
|
@ -1,88 +0,0 @@
|
|||||||
{"web-app": {
|
|
||||||
"servlet": [
|
|
||||||
{
|
|
||||||
"servlet-name": "cofaxCDS",
|
|
||||||
"servlet-class": "org.cofax.cds.CDSServlet",
|
|
||||||
"init-param": {
|
|
||||||
"configGlossary:installationAt": "Philadelphia, PA",
|
|
||||||
"configGlossary:adminEmail": "ksm@pobox.com",
|
|
||||||
"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": "sa",
|
|
||||||
"dataStorePassword": "dataStoreTestQuery",
|
|
||||||
"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"}}}
|
|
@ -1,111 +0,0 @@
|
|||||||
//
|
|
||||||
// BenchmarkApp.cpp
|
|
||||||
//
|
|
||||||
// $Id$
|
|
||||||
//
|
|
||||||
// This sample shows a benchmark of the JSON parser.
|
|
||||||
//
|
|
||||||
// Copyright (c) 2004-2012, Applied Informatics Software Engineering GmbH.
|
|
||||||
// and Contributors.
|
|
||||||
//
|
|
||||||
// Permission is hereby granted, free of charge, to any person or organization
|
|
||||||
// obtaining a copy of the software and accompanying documentation covered by
|
|
||||||
// this license (the "Software") to use, reproduce, display, distribute,
|
|
||||||
// execute, and transmit the Software, and to prepare derivative works of the
|
|
||||||
// Software, and to permit third-parties to whom the Software is furnished to
|
|
||||||
// do so, all subject to the following:
|
|
||||||
//
|
|
||||||
// The copyright notices in the Software and this entire statement, including
|
|
||||||
// the above license grant, this restriction and the following disclaimer,
|
|
||||||
// must be included in all copies of the Software, in whole or in part, and
|
|
||||||
// all derivative works of the Software, unless such copies or derivative
|
|
||||||
// works are solely in the form of machine-executable object code generated by
|
|
||||||
// a source language processor.
|
|
||||||
//
|
|
||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
|
||||||
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
|
||||||
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
|
||||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
||||||
// DEALINGS IN THE SOFTWARE.
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "Poco/Timestamp.h"
|
|
||||||
#include "Poco/JSON/Parser.h"
|
|
||||||
#include "Poco/JSON/DefaultHandler.h"
|
|
||||||
#include "Poco/JSON/JSONException.h"
|
|
||||||
#include "Poco/Environment.h"
|
|
||||||
#include "Poco/Path.h"
|
|
||||||
#include "Poco/File.h"
|
|
||||||
#include "Poco/FileStream.h"
|
|
||||||
#include "Poco/StreamCopier.h"
|
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <iomanip>
|
|
||||||
|
|
||||||
void printTimeDiff(const Poco::Timestamp& start, const Poco::Timestamp& end)
|
|
||||||
{
|
|
||||||
Poco::Timestamp::TimeDiff diff = end - start;
|
|
||||||
std::cout << std::setw(25) << std::left << diff;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
|
||||||
{
|
|
||||||
Poco::JSON::Object::Ptr obj;
|
|
||||||
|
|
||||||
std::string dir = Poco::Environment::get("POCO_BASE") + "/JSON/samples/BenchmarkApp/";
|
|
||||||
Poco::Path filePath(dir, "input");
|
|
||||||
|
|
||||||
std::ostringstream ostr;
|
|
||||||
|
|
||||||
if ( filePath.isFile() )
|
|
||||||
{
|
|
||||||
Poco::File inputFile(filePath);
|
|
||||||
if ( inputFile.exists() )
|
|
||||||
{
|
|
||||||
Poco::FileInputStream fis(filePath.toString());
|
|
||||||
Poco::StreamCopier::copyStream(fis, ostr);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
std::cout << filePath.toString() << " doesn't exist!" << std::endl;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << std::setw(25) << "POCO JSON";
|
|
||||||
|
|
||||||
std::string jsonStr = ostr.str();
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Poco::JSON::DefaultHandler handler;
|
|
||||||
Poco::JSON::Parser parser;
|
|
||||||
parser.setHandler(&handler);
|
|
||||||
Poco::Timestamp time1;
|
|
||||||
parser.parse(jsonStr);
|
|
||||||
Poco::DynamicAny result = handler.result();
|
|
||||||
Poco::Timestamp time2;
|
|
||||||
printTimeDiff(time1, time2);
|
|
||||||
|
|
||||||
if ( result.type() == typeid(Poco::JSON::Object::Ptr) )
|
|
||||||
{
|
|
||||||
obj = result.extract<Poco::JSON::Object::Ptr>();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Serialize to string
|
|
||||||
std::ostringstream out;
|
|
||||||
Poco::Timestamp time3;
|
|
||||||
obj->stringify(out);
|
|
||||||
Poco::Timestamp time4;
|
|
||||||
printTimeDiff(time3, time4);
|
|
||||||
std::cout << std::endl;
|
|
||||||
}
|
|
||||||
catch(Poco::JSON::JSONException jsone)
|
|
||||||
{
|
|
||||||
std::cout << jsone.message() << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
add_subdirectory( BenchmarkApp )
|
|
@ -1,13 +0,0 @@
|
|||||||
#
|
|
||||||
# Makefile
|
|
||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# Makefile for Poco JSON Samples
|
|
||||||
#
|
|
||||||
|
|
||||||
.PHONY: projects
|
|
||||||
clean all: projects
|
|
||||||
projects:
|
|
||||||
$(MAKE) -C BenchmarkApp $(MAKECMDGOALS)
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user