wintermute-devel team mailing list archive
-
wintermute-devel team
-
Mailing list archive
-
Message #00101
[Merge] lp:~jackyalcine/wintermute/database into lp:~wintermute-devel/wintermute/database
Adrian Borucki has proposed merging lp:~jackyalcine/wintermute/database into lp:~wintermute-devel/wintermute/database.
Requested reviews:
Adrian Borucki (gentoolx): merge, packaging
For more details, see:
https://code.launchpad.net/~jackyalcine/wintermute/database/+merge/56196
*** A lot is in this little bad boy; it requires libjson.a (in lp:~wintermute-devel/wintermute/json) and needs the Boost Filesystem library >= 1.4.0
*** removed Glib dependencies.
--
https://code.launchpad.net/~jackyalcine/wintermute/database/+merge/56196
Your team Wintermute Developers is subscribed to branch lp:~wintermute-devel/wintermute/database.
=== modified file '.bzrignore'
--- .bzrignore 2011-02-19 15:53:08 +0000
+++ .bzrignore 2011-04-04 16:09:29 +0000
@@ -1,1 +1,5 @@
nbproject
+wintermute-database-cli/nbproject
+wintermute-database/nbproject
+dist
+build
=== added directory 'bin'
=== added file 'bin/onto.xml'
--- bin/onto.xml 1970-01-01 00:00:00 +0000
+++ bin/onto.xml 2011-04-04 16:09:29 +0000
@@ -0,0 +1,17 @@
+<!--
+ onto.xml - Wintermute's Ontology
+
+ Represents the notation that Wintermute'll use to
+ render information about anything. Hopefully, this will
+ be in a very friendly format. Entries in the ontology
+ are issued specific IDs, or ontoids. Quick lookups can
+ be done by using xPaths (ie: Ontology/Entry[ontoid='4546543545']).
+
+ Default Attributes:
+
+ 'isA' : ontoid to the object that inherits from (ie: Man -> Human -> Mammal)
+-->
+<Ontology>
+ <Entry ontoid="0x023490349a0d35fe0fefd">
+ </Entry>
+<Ontology>
=== added directory 'debian'
=== added file 'wintermute-database-cli/.dep.inc'
--- wintermute-database-cli/.dep.inc 1970-01-01 00:00:00 +0000
+++ wintermute-database-cli/.dep.inc 2011-04-04 16:09:29 +0000
@@ -0,0 +1,5 @@
+# This code depends on make tool being used
+DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
=== removed file 'wintermute-database-cli/Makefile'
--- wintermute-database-cli/Makefile 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/Makefile 1970-01-01 00:00:00 +0000
@@ -1,128 +0,0 @@
-#
-# There exist several targets which are by default empty and which can be
-# used for execution of your targets. These targets are usually executed
-# before and after some main targets. They are:
-#
-# .build-pre: called before 'build' target
-# .build-post: called after 'build' target
-# .clean-pre: called before 'clean' target
-# .clean-post: called after 'clean' target
-# .clobber-pre: called before 'clobber' target
-# .clobber-post: called after 'clobber' target
-# .all-pre: called before 'all' target
-# .all-post: called after 'all' target
-# .help-pre: called before 'help' target
-# .help-post: called after 'help' target
-#
-# Targets beginning with '.' are not intended to be called on their own.
-#
-# Main targets can be executed directly, and they are:
-#
-# build build a specific configuration
-# clean remove built files from a configuration
-# clobber remove all built files
-# all build all configurations
-# help print help mesage
-#
-# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
-# .help-impl are implemented in nbproject/makefile-impl.mk.
-#
-# Available make variables:
-#
-# CND_BASEDIR base directory for relative paths
-# CND_DISTDIR default top distribution directory (build artifacts)
-# CND_BUILDDIR default top build directory (object files, ...)
-# CONF name of current configuration
-# CND_PLATFORM_${CONF} platform name (current configuration)
-# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
-# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
-# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
-# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
-# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
-# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
-#
-# NOCDDL
-
-
-# Environment
-MKDIR=mkdir
-CP=cp
-CCADMIN=CCadmin
-
-
-# build
-build: .build-post
-
-.build-pre:
-# Add your pre 'build' code here...
-
-.build-post: .build-impl
-# Add your post 'build' code here...
-
-
-# clean
-clean: .clean-post
-
-.clean-pre:
-# Add your pre 'clean' code here...
-
-.clean-post: .clean-impl
-# Add your post 'clean' code here...
-
-
-# clobber
-clobber: .clobber-post
-
-.clobber-pre:
-# Add your pre 'clobber' code here...
-
-.clobber-post: .clobber-impl
-# Add your post 'clobber' code here...
-
-
-# all
-all: .all-post
-
-.all-pre:
-# Add your pre 'all' code here...
-
-.all-post: .all-impl
-# Add your post 'all' code here...
-
-
-# build tests
-build-tests: .build-tests-post
-
-.build-tests-pre:
-# Add your pre 'build-tests' code here...
-
-.build-tests-post: .build-tests-impl
-# Add your post 'build-tests' code here...
-
-
-# run tests
-test: .test-post
-
-.test-pre:
-# Add your pre 'test' code here...
-
-.test-post: .test-impl
-# Add your post 'test' code here...
-
-
-# help
-help: .help-post
-
-.help-pre:
-# Add your pre 'help' code here...
-
-.help-post: .help-impl
-# Add your post 'help' code here...
-
-
-
-# include project implementation makefile
-include nbproject/Makefile-impl.mk
-
-# include project make variables
-include nbproject/Makefile-variables.mk
=== added directory 'wintermute-database-cli/debian'
=== removed file 'wintermute-database-cli/main.cpp'
--- wintermute-database-cli/main.cpp 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/main.cpp 1970-01-01 00:00:00 +0000
@@ -1,19 +0,0 @@
-/*
- * File: main.cpp
- * Author: jacky
- *
- * Created on February 19, 2011, 8:46 AM
- */
-
-#include <cstdlib>
-
-using namespace std;
-
-/*
- *
- */
-int main(int argc, char** argv) {
-
- return 0;
-}
-
=== removed directory 'wintermute-database-cli/nbproject'
=== removed file 'wintermute-database-cli/nbproject/Makefile-Debug.mk'
--- wintermute-database-cli/nbproject/Makefile-Debug.mk 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/Makefile-Debug.mk 1970-01-01 00:00:00 +0000
@@ -1,82 +0,0 @@
-#
-# Generated Makefile - do not edit!
-#
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a -pre and a -post target defined where you can add customized code.
-#
-# This makefile implements configuration specific macros and targets.
-
-
-# Environment
-MKDIR=mkdir
-CP=cp
-GREP=grep
-NM=nm
-CCADMIN=CCadmin
-RANLIB=ranlib
-CC=gcc
-CCC=g++
-CXX=g++
-FC=
-AS=as
-
-# Macros
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Debug
-CND_DISTDIR=dist
-
-# Include project Makefile
-include Makefile
-
-# Object Directory
-OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
-
-# Object Files
-OBJECTFILES= \
- ${OBJECTDIR}/main.o
-
-
-# C Compiler Flags
-CFLAGS=
-
-# CC Compiler Flags
-CCFLAGS=
-CXXFLAGS=
-
-# Fortran Compiler Flags
-FFLAGS=
-
-# Assembler Flags
-ASFLAGS=
-
-# Link Libraries and Options
-LDLIBSOPTIONS=
-
-# Build Targets
-.build-conf: ${BUILD_SUBPROJECTS}
- "${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/wintermute-database-cli
-
-dist/Debug/GNU-Linux-x86/wintermute-database-cli: ${OBJECTFILES}
- ${MKDIR} -p dist/Debug/GNU-Linux-x86
- ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/wintermute-database-cli ${OBJECTFILES} ${LDLIBSOPTIONS}
-
-${OBJECTDIR}/main.o: main.cpp
- ${MKDIR} -p ${OBJECTDIR}
- ${RM} $@.d
- $(COMPILE.cc) -g -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.cpp
-
-# Subprojects
-.build-subprojects:
-
-# Clean Targets
-.clean-conf: ${CLEAN_SUBPROJECTS}
- ${RM} -r build/Debug
- ${RM} dist/Debug/GNU-Linux-x86/wintermute-database-cli
-
-# Subprojects
-.clean-subprojects:
-
-# Enable dependency checking
-.dep.inc: .depcheck-impl
-
-include .dep.inc
=== removed file 'wintermute-database-cli/nbproject/Makefile-Release.mk'
--- wintermute-database-cli/nbproject/Makefile-Release.mk 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/Makefile-Release.mk 1970-01-01 00:00:00 +0000
@@ -1,82 +0,0 @@
-#
-# Generated Makefile - do not edit!
-#
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a -pre and a -post target defined where you can add customized code.
-#
-# This makefile implements configuration specific macros and targets.
-
-
-# Environment
-MKDIR=mkdir
-CP=cp
-GREP=grep
-NM=nm
-CCADMIN=CCadmin
-RANLIB=ranlib
-CC=gcc
-CCC=g++
-CXX=g++
-FC=
-AS=as
-
-# Macros
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Release
-CND_DISTDIR=dist
-
-# Include project Makefile
-include Makefile
-
-# Object Directory
-OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
-
-# Object Files
-OBJECTFILES= \
- ${OBJECTDIR}/main.o
-
-
-# C Compiler Flags
-CFLAGS=
-
-# CC Compiler Flags
-CCFLAGS=
-CXXFLAGS=
-
-# Fortran Compiler Flags
-FFLAGS=
-
-# Assembler Flags
-ASFLAGS=
-
-# Link Libraries and Options
-LDLIBSOPTIONS=
-
-# Build Targets
-.build-conf: ${BUILD_SUBPROJECTS}
- "${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/GNU-Linux-x86/wintermute-database-cli
-
-dist/Release/GNU-Linux-x86/wintermute-database-cli: ${OBJECTFILES}
- ${MKDIR} -p dist/Release/GNU-Linux-x86
- ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/wintermute-database-cli ${OBJECTFILES} ${LDLIBSOPTIONS}
-
-${OBJECTDIR}/main.o: main.cpp
- ${MKDIR} -p ${OBJECTDIR}
- ${RM} $@.d
- $(COMPILE.cc) -O2 -MMD -MP -MF $@.d -o ${OBJECTDIR}/main.o main.cpp
-
-# Subprojects
-.build-subprojects:
-
-# Clean Targets
-.clean-conf: ${CLEAN_SUBPROJECTS}
- ${RM} -r build/Release
- ${RM} dist/Release/GNU-Linux-x86/wintermute-database-cli
-
-# Subprojects
-.clean-subprojects:
-
-# Enable dependency checking
-.dep.inc: .depcheck-impl
-
-include .dep.inc
=== removed file 'wintermute-database-cli/nbproject/Makefile-impl.mk'
--- wintermute-database-cli/nbproject/Makefile-impl.mk 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/Makefile-impl.mk 1970-01-01 00:00:00 +0000
@@ -1,133 +0,0 @@
-#
-# Generated Makefile - do not edit!
-#
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a pre- and a post- target defined where you can add customization code.
-#
-# This makefile implements macros and targets common to all configurations.
-#
-# NOCDDL
-
-
-# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
-# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
-# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
-# and .clean-reqprojects-conf unless SUB has the value 'no'
-SUB_no=NO
-SUBPROJECTS=${SUB_${SUB}}
-BUILD_SUBPROJECTS_=.build-subprojects
-BUILD_SUBPROJECTS_NO=
-BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
-CLEAN_SUBPROJECTS_=.clean-subprojects
-CLEAN_SUBPROJECTS_NO=
-CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
-
-
-# Project Name
-PROJECTNAME=wintermute-database-cli
-
-# Active Configuration
-DEFAULTCONF=Debug
-CONF=${DEFAULTCONF}
-
-# All Configurations
-ALLCONFS=Debug Release
-
-
-# build
-.build-impl: .build-pre .validate-impl .depcheck-impl
- @#echo "=> Running $@... Configuration=$(CONF)"
- "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
-
-
-# clean
-.clean-impl: .clean-pre .validate-impl .depcheck-impl
- @#echo "=> Running $@... Configuration=$(CONF)"
- "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
-
-
-# clobber
-.clobber-impl: .clobber-pre .depcheck-impl
- @#echo "=> Running $@..."
- for CONF in ${ALLCONFS}; \
- do \
- "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
- done
-
-# all
-.all-impl: .all-pre .depcheck-impl
- @#echo "=> Running $@..."
- for CONF in ${ALLCONFS}; \
- do \
- "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
- done
-
-# build tests
-.build-tests-impl: .build-impl .build-tests-pre
- @#echo "=> Running $@... Configuration=$(CONF)"
- "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
-
-# run tests
-.test-impl: .build-tests-impl .test-pre
- @#echo "=> Running $@... Configuration=$(CONF)"
- "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
-
-# dependency checking support
-.depcheck-impl:
- @echo "# This code depends on make tool being used" >.dep.inc
- @if [ -n "${MAKE_VERSION}" ]; then \
- echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
- echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
- echo "include \$${DEPFILES}" >>.dep.inc; \
- echo "endif" >>.dep.inc; \
- else \
- echo ".KEEP_STATE:" >>.dep.inc; \
- echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
- fi
-
-# configuration validation
-.validate-impl:
- @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
- then \
- echo ""; \
- echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
- echo "See 'make help' for details."; \
- echo "Current directory: " `pwd`; \
- echo ""; \
- fi
- @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
- then \
- exit 1; \
- fi
-
-
-# help
-.help-impl: .help-pre
- @echo "This makefile supports the following configurations:"
- @echo " ${ALLCONFS}"
- @echo ""
- @echo "and the following targets:"
- @echo " build (default target)"
- @echo " clean"
- @echo " clobber"
- @echo " all"
- @echo " help"
- @echo ""
- @echo "Makefile Usage:"
- @echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
- @echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
- @echo " make [SUB=no] clobber"
- @echo " make [SUB=no] all"
- @echo " make help"
- @echo ""
- @echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
- @echo " also build subprojects."
- @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
- @echo " also clean subprojects."
- @echo "Target 'clobber' will remove all built files from all configurations and,"
- @echo " unless 'SUB=no', also from subprojects."
- @echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
- @echo " also build subprojects."
- @echo "Target 'help' prints this message."
- @echo ""
-
=== removed file 'wintermute-database-cli/nbproject/Makefile-variables.mk'
--- wintermute-database-cli/nbproject/Makefile-variables.mk 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/Makefile-variables.mk 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#
-# Generated - do not edit!
-#
-# NOCDDL
-#
-CND_BASEDIR=`pwd`
-CND_BUILDDIR=build
-CND_DISTDIR=dist
-# Debug configuration
-CND_PLATFORM_Debug=GNU-Linux-x86
-CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
-CND_ARTIFACT_NAME_Debug=wintermute-database-cli
-CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/wintermute-database-cli
-CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
-CND_PACKAGE_NAME_Debug=wintermute-database-cli.tar
-CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/wintermute-database-cli.tar
-# Release configuration
-CND_PLATFORM_Release=GNU-Linux-x86
-CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
-CND_ARTIFACT_NAME_Release=wintermute-database-cli
-CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/wintermute-database-cli
-CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
-CND_PACKAGE_NAME_Release=wintermute-database-cli.tar
-CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/wintermute-database-cli.tar
=== removed file 'wintermute-database-cli/nbproject/Package-Debug.bash'
--- wintermute-database-cli/nbproject/Package-Debug.bash 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/Package-Debug.bash 1970-01-01 00:00:00 +0000
@@ -1,74 +0,0 @@
-#!/bin/bash -x
-
-#
-# Generated - do not edit!
-#
-
-# Macros
-TOP=`pwd`
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Debug
-CND_DISTDIR=dist
-NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
-TMPDIRNAME=tmp-packaging
-OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/wintermute-database-cli
-OUTPUT_BASENAME=wintermute-database-cli
-PACKAGE_TOP_DIR=wintermute-database-cli/
-
-# Functions
-function checkReturnCode
-{
- rc=$?
- if [ $rc != 0 ]
- then
- exit $rc
- fi
-}
-function makeDirectory
-# $1 directory path
-# $2 permission (optional)
-{
- mkdir -p "$1"
- checkReturnCode
- if [ "$2" != "" ]
- then
- chmod $2 "$1"
- checkReturnCode
- fi
-}
-function copyFileToTmpDir
-# $1 from-file path
-# $2 to-file path
-# $3 permission
-{
- cp "$1" "$2"
- checkReturnCode
- if [ "$3" != "" ]
- then
- chmod $3 "$2"
- checkReturnCode
- fi
-}
-
-# Setup
-cd "${TOP}"
-mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
-rm -rf ${NBTMPDIR}
-mkdir -p ${NBTMPDIR}
-
-# Copy files and create directories and links
-cd "${TOP}"
-makeDirectory "${NBTMPDIR}/wintermute-database-cli/bin"
-copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
-
-
-# Generate tar file
-cd "${TOP}"
-rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/wintermute-database-cli.tar
-cd ${NBTMPDIR}
-tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/wintermute-database-cli.tar *
-checkReturnCode
-
-# Cleanup
-cd "${TOP}"
-rm -rf ${NBTMPDIR}
=== removed file 'wintermute-database-cli/nbproject/Package-Release.bash'
--- wintermute-database-cli/nbproject/Package-Release.bash 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/Package-Release.bash 1970-01-01 00:00:00 +0000
@@ -1,74 +0,0 @@
-#!/bin/bash -x
-
-#
-# Generated - do not edit!
-#
-
-# Macros
-TOP=`pwd`
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Release
-CND_DISTDIR=dist
-NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
-TMPDIRNAME=tmp-packaging
-OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/wintermute-database-cli
-OUTPUT_BASENAME=wintermute-database-cli
-PACKAGE_TOP_DIR=wintermute-database-cli/
-
-# Functions
-function checkReturnCode
-{
- rc=$?
- if [ $rc != 0 ]
- then
- exit $rc
- fi
-}
-function makeDirectory
-# $1 directory path
-# $2 permission (optional)
-{
- mkdir -p "$1"
- checkReturnCode
- if [ "$2" != "" ]
- then
- chmod $2 "$1"
- checkReturnCode
- fi
-}
-function copyFileToTmpDir
-# $1 from-file path
-# $2 to-file path
-# $3 permission
-{
- cp "$1" "$2"
- checkReturnCode
- if [ "$3" != "" ]
- then
- chmod $3 "$2"
- checkReturnCode
- fi
-}
-
-# Setup
-cd "${TOP}"
-mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
-rm -rf ${NBTMPDIR}
-mkdir -p ${NBTMPDIR}
-
-# Copy files and create directories and links
-cd "${TOP}"
-makeDirectory "${NBTMPDIR}/wintermute-database-cli/bin"
-copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
-
-
-# Generate tar file
-cd "${TOP}"
-rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/wintermute-database-cli.tar
-cd ${NBTMPDIR}
-tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/wintermute-database-cli.tar *
-checkReturnCode
-
-# Cleanup
-cd "${TOP}"
-rm -rf ${NBTMPDIR}
=== removed file 'wintermute-database-cli/nbproject/configurations.xml'
--- wintermute-database-cli/nbproject/configurations.xml 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/configurations.xml 1970-01-01 00:00:00 +0000
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configurationDescriptor version="69">
- <logicalFolder name="root" displayName="root" projectFiles="true">
- <logicalFolder name="HeaderFiles"
- displayName="Header Files"
- projectFiles="true"
- kind="SOURCE_LOGICAL_FOLDER">
- </logicalFolder>
- <logicalFolder name="ResourceFiles"
- displayName="Resource Files"
- projectFiles="true"
- kind="SOURCE_LOGICAL_FOLDER">
- </logicalFolder>
- <logicalFolder name="SourceFiles"
- displayName="Source Files"
- projectFiles="true"
- kind="SOURCE_LOGICAL_FOLDER">
- <itemPath>main.cpp</itemPath>
- </logicalFolder>
- <logicalFolder name="TestFiles"
- displayName="Test Files"
- projectFiles="false"
- kind="TEST_LOGICAL_FOLDER">
- </logicalFolder>
- <logicalFolder name="ExternalFiles"
- displayName="Important Files"
- projectFiles="false"
- kind="IMPORTANT_FILES_FOLDER">
- <itemPath>Makefile</itemPath>
- </logicalFolder>
- </logicalFolder>
- <projectmakefile>Makefile</projectmakefile>
- <confs>
- <conf name="Debug" type="1">
- <toolsSet>
- <developmentServer>localhost</developmentServer>
- <compilerSet>GNU|GNU</compilerSet>
- <platform>2</platform>
- </toolsSet>
- <compileType>
- </compileType>
- </conf>
- <conf name="Release" type="1">
- <toolsSet>
- <developmentServer>localhost</developmentServer>
- <compilerSet>GNU|GNU</compilerSet>
- <platform>2</platform>
- </toolsSet>
- <compileType>
- <cTool>
- <developmentMode>5</developmentMode>
- </cTool>
- <ccTool>
- <developmentMode>5</developmentMode>
- </ccTool>
- <fortranCompilerTool>
- <developmentMode>5</developmentMode>
- </fortranCompilerTool>
- <asmTool>
- <developmentMode>5</developmentMode>
- </asmTool>
- </compileType>
- </conf>
- </confs>
-</configurationDescriptor>
=== removed directory 'wintermute-database-cli/nbproject/private'
=== removed file 'wintermute-database-cli/nbproject/private/configurations.xml'
--- wintermute-database-cli/nbproject/private/configurations.xml 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/private/configurations.xml 1970-01-01 00:00:00 +0000
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configurationDescriptor version="69">
- <projectmakefile>Makefile</projectmakefile>
- <defaultConf>0</defaultConf>
- <confs>
- <conf name="Debug" type="1">
- <gizmo_options version="3">
- </gizmo_options>
- <runprofile version="6">
- <args></args>
- <rundir></rundir>
- <buildfirst>true</buildfirst>
- <console-type>0</console-type>
- <terminal-type>0</terminal-type>
- <remove-instrumentation>0</remove-instrumentation>
- <environment>
- </environment>
- </runprofile>
- </conf>
- <conf name="Release" type="1">
- <gizmo_options version="3">
- </gizmo_options>
- <runprofile version="6">
- <args></args>
- <rundir></rundir>
- <buildfirst>true</buildfirst>
- <console-type>0</console-type>
- <terminal-type>0</terminal-type>
- <remove-instrumentation>0</remove-instrumentation>
- <environment>
- </environment>
- </runprofile>
- </conf>
- </confs>
-</configurationDescriptor>
=== removed file 'wintermute-database-cli/nbproject/private/private.properties'
=== removed file 'wintermute-database-cli/nbproject/project.properties'
=== removed file 'wintermute-database-cli/nbproject/project.xml'
--- wintermute-database-cli/nbproject/project.xml 2011-02-19 15:53:08 +0000
+++ wintermute-database-cli/nbproject/project.xml 1970-01-01 00:00:00 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
- <type>org.netbeans.modules.cnd.makeproject</type>
- <configuration>
- <data xmlns="http://www.netbeans.org/ns/make-project/1">
- <name>wintermute-database-cli</name>
- <make-project-type>0</make-project-type>
- <c-extensions/>
- <cpp-extensions>cpp</cpp-extensions>
- <header-extensions/>
- <make-dep-projects/>
- <sourceRootList/>
- <confList>
- <confElem>Debug</confElem>
- <confElem>Release</confElem>
- </confList>
- <sourceEncoding>UTF-8</sourceEncoding>
- </data>
- </configuration>
-</project>
=== added directory 'wintermute-database-cli/src'
=== added file 'wintermute-database-cli/src/main.cpp'
--- wintermute-database-cli/src/main.cpp 1970-01-01 00:00:00 +0000
+++ wintermute-database-cli/src/main.cpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,27 @@
+/*
+ * Author: $NAME <$EMAIL>
+ *
+ * Copyright 2011 $NAME
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+int main(int argc, char** argv) {
+
+ return 0;
+}
+
=== added file 'wintermute-database/.dep.inc'
--- wintermute-database/.dep.inc 1970-01-01 00:00:00 +0000
+++ wintermute-database/.dep.inc 2011-04-04 16:09:29 +0000
@@ -0,0 +1,5 @@
+# This code depends on make tool being used
+DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
=== modified file 'wintermute-database/README'
--- wintermute-database/README 2011-02-19 15:53:08 +0000
+++ wintermute-database/README 2011-04-04 16:09:29 +0000
@@ -20,4 +20,6 @@
*
*
-This module is the core of the datab
\ No newline at end of file
+This module is the core of the data engines of Wintermute. In this module, the
+essence of ontology structures are found, as well as Wintermute's ability to store
+and retrieve data via a flexible data framework.
=== modified file 'wintermute-database/TODO'
--- wintermute-database/TODO 2011-02-19 15:53:08 +0000
+++ wintermute-database/TODO 2011-04-04 16:09:29 +0000
@@ -0,0 +1,2 @@
+** Add more data serialization handlers
+ - Perhaps to MySQL, JSON, XML
=== added directory 'wintermute-database/debian'
=== removed directory 'wintermute-database/nbproject'
=== removed file 'wintermute-database/nbproject/Makefile-Debug.mk'
--- wintermute-database/nbproject/Makefile-Debug.mk 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/Makefile-Debug.mk 1970-01-01 00:00:00 +0000
@@ -1,76 +0,0 @@
-#
-# Generated Makefile - do not edit!
-#
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a -pre and a -post target defined where you can add customized code.
-#
-# This makefile implements configuration specific macros and targets.
-
-
-# Environment
-MKDIR=mkdir
-CP=cp
-GREP=grep
-NM=nm
-CCADMIN=CCadmin
-RANLIB=ranlib
-CC=gcc
-CCC=g++
-CXX=g++
-FC=
-AS=as
-
-# Macros
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Debug
-CND_DISTDIR=dist
-
-# Include project Makefile
-include Makefile
-
-# Object Directory
-OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
-
-# Object Files
-OBJECTFILES=
-
-
-# C Compiler Flags
-CFLAGS=
-
-# CC Compiler Flags
-CCFLAGS=
-CXXFLAGS=
-
-# Fortran Compiler Flags
-FFLAGS=
-
-# Assembler Flags
-ASFLAGS=
-
-# Link Libraries and Options
-LDLIBSOPTIONS=
-
-# Build Targets
-.build-conf: ${BUILD_SUBPROJECTS}
- "${MAKE}" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/libwintermute-database.so
-
-dist/Debug/GNU-Linux-x86/libwintermute-database.so: ${OBJECTFILES}
- ${MKDIR} -p dist/Debug/GNU-Linux-x86
- ${LINK.c} -shared -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwintermute-database.so -fPIC ${OBJECTFILES} ${LDLIBSOPTIONS}
-
-# Subprojects
-.build-subprojects:
-
-# Clean Targets
-.clean-conf: ${CLEAN_SUBPROJECTS}
- ${RM} -r build/Debug
- ${RM} dist/Debug/GNU-Linux-x86/libwintermute-database.so
-
-# Subprojects
-.clean-subprojects:
-
-# Enable dependency checking
-.dep.inc: .depcheck-impl
-
-include .dep.inc
=== removed file 'wintermute-database/nbproject/Makefile-Release.mk'
--- wintermute-database/nbproject/Makefile-Release.mk 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/Makefile-Release.mk 1970-01-01 00:00:00 +0000
@@ -1,76 +0,0 @@
-#
-# Generated Makefile - do not edit!
-#
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a -pre and a -post target defined where you can add customized code.
-#
-# This makefile implements configuration specific macros and targets.
-
-
-# Environment
-MKDIR=mkdir
-CP=cp
-GREP=grep
-NM=nm
-CCADMIN=CCadmin
-RANLIB=ranlib
-CC=gcc
-CCC=g++
-CXX=g++
-FC=
-AS=as
-
-# Macros
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Release
-CND_DISTDIR=dist
-
-# Include project Makefile
-include Makefile
-
-# Object Directory
-OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM}
-
-# Object Files
-OBJECTFILES=
-
-
-# C Compiler Flags
-CFLAGS=
-
-# CC Compiler Flags
-CCFLAGS=
-CXXFLAGS=
-
-# Fortran Compiler Flags
-FFLAGS=
-
-# Assembler Flags
-ASFLAGS=
-
-# Link Libraries and Options
-LDLIBSOPTIONS=
-
-# Build Targets
-.build-conf: ${BUILD_SUBPROJECTS}
- "${MAKE}" -f nbproject/Makefile-Release.mk dist/Release/GNU-Linux-x86/libwintermute-database.so
-
-dist/Release/GNU-Linux-x86/libwintermute-database.so: ${OBJECTFILES}
- ${MKDIR} -p dist/Release/GNU-Linux-x86
- ${LINK.c} -shared -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwintermute-database.so -fPIC ${OBJECTFILES} ${LDLIBSOPTIONS}
-
-# Subprojects
-.build-subprojects:
-
-# Clean Targets
-.clean-conf: ${CLEAN_SUBPROJECTS}
- ${RM} -r build/Release
- ${RM} dist/Release/GNU-Linux-x86/libwintermute-database.so
-
-# Subprojects
-.clean-subprojects:
-
-# Enable dependency checking
-.dep.inc: .depcheck-impl
-
-include .dep.inc
=== removed file 'wintermute-database/nbproject/Makefile-impl.mk'
--- wintermute-database/nbproject/Makefile-impl.mk 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/Makefile-impl.mk 1970-01-01 00:00:00 +0000
@@ -1,133 +0,0 @@
-#
-# Generated Makefile - do not edit!
-#
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a pre- and a post- target defined where you can add customization code.
-#
-# This makefile implements macros and targets common to all configurations.
-#
-# NOCDDL
-
-
-# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
-# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
-# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
-# and .clean-reqprojects-conf unless SUB has the value 'no'
-SUB_no=NO
-SUBPROJECTS=${SUB_${SUB}}
-BUILD_SUBPROJECTS_=.build-subprojects
-BUILD_SUBPROJECTS_NO=
-BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
-CLEAN_SUBPROJECTS_=.clean-subprojects
-CLEAN_SUBPROJECTS_NO=
-CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
-
-
-# Project Name
-PROJECTNAME=wintermute-database
-
-# Active Configuration
-DEFAULTCONF=Debug
-CONF=${DEFAULTCONF}
-
-# All Configurations
-ALLCONFS=Debug Release
-
-
-# build
-.build-impl: .build-pre .validate-impl .depcheck-impl
- @#echo "=> Running $@... Configuration=$(CONF)"
- "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
-
-
-# clean
-.clean-impl: .clean-pre .validate-impl .depcheck-impl
- @#echo "=> Running $@... Configuration=$(CONF)"
- "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
-
-
-# clobber
-.clobber-impl: .clobber-pre .depcheck-impl
- @#echo "=> Running $@..."
- for CONF in ${ALLCONFS}; \
- do \
- "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
- done
-
-# all
-.all-impl: .all-pre .depcheck-impl
- @#echo "=> Running $@..."
- for CONF in ${ALLCONFS}; \
- do \
- "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
- done
-
-# build tests
-.build-tests-impl: .build-impl .build-tests-pre
- @#echo "=> Running $@... Configuration=$(CONF)"
- "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
-
-# run tests
-.test-impl: .build-tests-impl .test-pre
- @#echo "=> Running $@... Configuration=$(CONF)"
- "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
-
-# dependency checking support
-.depcheck-impl:
- @echo "# This code depends on make tool being used" >.dep.inc
- @if [ -n "${MAKE_VERSION}" ]; then \
- echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
- echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
- echo "include \$${DEPFILES}" >>.dep.inc; \
- echo "endif" >>.dep.inc; \
- else \
- echo ".KEEP_STATE:" >>.dep.inc; \
- echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
- fi
-
-# configuration validation
-.validate-impl:
- @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
- then \
- echo ""; \
- echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
- echo "See 'make help' for details."; \
- echo "Current directory: " `pwd`; \
- echo ""; \
- fi
- @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
- then \
- exit 1; \
- fi
-
-
-# help
-.help-impl: .help-pre
- @echo "This makefile supports the following configurations:"
- @echo " ${ALLCONFS}"
- @echo ""
- @echo "and the following targets:"
- @echo " build (default target)"
- @echo " clean"
- @echo " clobber"
- @echo " all"
- @echo " help"
- @echo ""
- @echo "Makefile Usage:"
- @echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
- @echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
- @echo " make [SUB=no] clobber"
- @echo " make [SUB=no] all"
- @echo " make help"
- @echo ""
- @echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
- @echo " also build subprojects."
- @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
- @echo " also clean subprojects."
- @echo "Target 'clobber' will remove all built files from all configurations and,"
- @echo " unless 'SUB=no', also from subprojects."
- @echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
- @echo " also build subprojects."
- @echo "Target 'help' prints this message."
- @echo ""
-
=== removed file 'wintermute-database/nbproject/Makefile-variables.mk'
--- wintermute-database/nbproject/Makefile-variables.mk 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/Makefile-variables.mk 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-#
-# Generated - do not edit!
-#
-# NOCDDL
-#
-CND_BASEDIR=`pwd`
-CND_BUILDDIR=build
-CND_DISTDIR=dist
-# Debug configuration
-CND_PLATFORM_Debug=GNU-Linux-x86
-CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
-CND_ARTIFACT_NAME_Debug=libwintermute-database.so
-CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/libwintermute-database.so
-CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
-CND_PACKAGE_NAME_Debug=libwintermute-database.so.tar
-CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/libwintermute-database.so.tar
-# Release configuration
-CND_PLATFORM_Release=GNU-Linux-x86
-CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
-CND_ARTIFACT_NAME_Release=libwintermute-database.so
-CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/libwintermute-database.so
-CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
-CND_PACKAGE_NAME_Release=libwintermute-database.so.tar
-CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/libwintermute-database.so.tar
=== removed file 'wintermute-database/nbproject/Package-Debug.bash'
--- wintermute-database/nbproject/Package-Debug.bash 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/Package-Debug.bash 1970-01-01 00:00:00 +0000
@@ -1,74 +0,0 @@
-#!/bin/bash -x
-
-#
-# Generated - do not edit!
-#
-
-# Macros
-TOP=`pwd`
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Debug
-CND_DISTDIR=dist
-NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
-TMPDIRNAME=tmp-packaging
-OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwintermute-database.so
-OUTPUT_BASENAME=libwintermute-database.so
-PACKAGE_TOP_DIR=libwintermute-database.so/
-
-# Functions
-function checkReturnCode
-{
- rc=$?
- if [ $rc != 0 ]
- then
- exit $rc
- fi
-}
-function makeDirectory
-# $1 directory path
-# $2 permission (optional)
-{
- mkdir -p "$1"
- checkReturnCode
- if [ "$2" != "" ]
- then
- chmod $2 "$1"
- checkReturnCode
- fi
-}
-function copyFileToTmpDir
-# $1 from-file path
-# $2 to-file path
-# $3 permission
-{
- cp "$1" "$2"
- checkReturnCode
- if [ "$3" != "" ]
- then
- chmod $3 "$2"
- checkReturnCode
- fi
-}
-
-# Setup
-cd "${TOP}"
-mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
-rm -rf ${NBTMPDIR}
-mkdir -p ${NBTMPDIR}
-
-# Copy files and create directories and links
-cd "${TOP}"
-makeDirectory "${NBTMPDIR}/libwintermute-database.so/lib"
-copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644
-
-
-# Generate tar file
-cd "${TOP}"
-rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwintermute-database.so.tar
-cd ${NBTMPDIR}
-tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwintermute-database.so.tar *
-checkReturnCode
-
-# Cleanup
-cd "${TOP}"
-rm -rf ${NBTMPDIR}
=== removed file 'wintermute-database/nbproject/Package-Release.bash'
--- wintermute-database/nbproject/Package-Release.bash 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/Package-Release.bash 1970-01-01 00:00:00 +0000
@@ -1,74 +0,0 @@
-#!/bin/bash -x
-
-#
-# Generated - do not edit!
-#
-
-# Macros
-TOP=`pwd`
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Release
-CND_DISTDIR=dist
-NBTMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
-TMPDIRNAME=tmp-packaging
-OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libwintermute-database.so
-OUTPUT_BASENAME=libwintermute-database.so
-PACKAGE_TOP_DIR=libwintermute-database.so/
-
-# Functions
-function checkReturnCode
-{
- rc=$?
- if [ $rc != 0 ]
- then
- exit $rc
- fi
-}
-function makeDirectory
-# $1 directory path
-# $2 permission (optional)
-{
- mkdir -p "$1"
- checkReturnCode
- if [ "$2" != "" ]
- then
- chmod $2 "$1"
- checkReturnCode
- fi
-}
-function copyFileToTmpDir
-# $1 from-file path
-# $2 to-file path
-# $3 permission
-{
- cp "$1" "$2"
- checkReturnCode
- if [ "$3" != "" ]
- then
- chmod $3 "$2"
- checkReturnCode
- fi
-}
-
-# Setup
-cd "${TOP}"
-mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
-rm -rf ${NBTMPDIR}
-mkdir -p ${NBTMPDIR}
-
-# Copy files and create directories and links
-cd "${TOP}"
-makeDirectory "${NBTMPDIR}/libwintermute-database.so/lib"
-copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}lib/${OUTPUT_BASENAME}" 0644
-
-
-# Generate tar file
-cd "${TOP}"
-rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwintermute-database.so.tar
-cd ${NBTMPDIR}
-tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/libwintermute-database.so.tar *
-checkReturnCode
-
-# Cleanup
-cd "${TOP}"
-rm -rf ${NBTMPDIR}
=== removed file 'wintermute-database/nbproject/configurations.xml'
--- wintermute-database/nbproject/configurations.xml 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/configurations.xml 1970-01-01 00:00:00 +0000
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configurationDescriptor version="69">
- <logicalFolder name="root" displayName="root" projectFiles="true">
- <logicalFolder name="HeaderFiles"
- displayName="Header Files"
- projectFiles="true"
- kind="SOURCE_LOGICAL_FOLDER">
- </logicalFolder>
- <logicalFolder name="ResourceFiles"
- displayName="Resource Files"
- projectFiles="true"
- kind="SOURCE_LOGICAL_FOLDER">
- <itemPath>AUTHORS</itemPath>
- <itemPath>HACKING</itemPath>
- <itemPath>README</itemPath>
- <itemPath>TODO</itemPath>
- </logicalFolder>
- <logicalFolder name="SourceFiles"
- displayName="Source Files"
- projectFiles="true"
- kind="SOURCE_LOGICAL_FOLDER">
- </logicalFolder>
- <logicalFolder name="TestFiles"
- displayName="Test Files"
- projectFiles="false"
- kind="TEST_LOGICAL_FOLDER">
- </logicalFolder>
- <logicalFolder name="ExternalFiles"
- displayName="Important Files"
- projectFiles="false"
- kind="IMPORTANT_FILES_FOLDER">
- <itemPath>Makefile</itemPath>
- </logicalFolder>
- </logicalFolder>
- <projectmakefile>Makefile</projectmakefile>
- <confs>
- <conf name="Debug" type="2">
- <toolsSet>
- <developmentServer>localhost</developmentServer>
- <compilerSet>GNU|GNU</compilerSet>
- <platform>2</platform>
- </toolsSet>
- <compileType>
- </compileType>
- </conf>
- <conf name="Release" type="2">
- <toolsSet>
- <developmentServer>localhost</developmentServer>
- <compilerSet>GNU|GNU</compilerSet>
- <platform>2</platform>
- </toolsSet>
- <compileType>
- <cTool>
- <developmentMode>5</developmentMode>
- </cTool>
- <ccTool>
- <developmentMode>5</developmentMode>
- </ccTool>
- <fortranCompilerTool>
- <developmentMode>5</developmentMode>
- </fortranCompilerTool>
- <asmTool>
- <developmentMode>5</developmentMode>
- </asmTool>
- </compileType>
- </conf>
- </confs>
-</configurationDescriptor>
=== removed directory 'wintermute-database/nbproject/private'
=== removed file 'wintermute-database/nbproject/private/configurations.xml'
--- wintermute-database/nbproject/private/configurations.xml 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/private/configurations.xml 1970-01-01 00:00:00 +0000
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configurationDescriptor version="69">
- <projectmakefile>Makefile</projectmakefile>
- <defaultConf>0</defaultConf>
- <confs>
- <conf name="Debug" type="2">
- <gizmo_options version="3">
- </gizmo_options>
- <runprofile version="6">
- <args></args>
- <rundir></rundir>
- <buildfirst>true</buildfirst>
- <console-type>0</console-type>
- <terminal-type>0</terminal-type>
- <remove-instrumentation>0</remove-instrumentation>
- <environment>
- </environment>
- </runprofile>
- </conf>
- <conf name="Release" type="2">
- <gizmo_options version="3">
- </gizmo_options>
- <runprofile version="6">
- <args></args>
- <rundir></rundir>
- <buildfirst>true</buildfirst>
- <console-type>0</console-type>
- <terminal-type>0</terminal-type>
- <remove-instrumentation>0</remove-instrumentation>
- <environment>
- </environment>
- </runprofile>
- </conf>
- </confs>
-</configurationDescriptor>
=== removed file 'wintermute-database/nbproject/project.xml'
--- wintermute-database/nbproject/project.xml 2011-02-19 15:53:08 +0000
+++ wintermute-database/nbproject/project.xml 1970-01-01 00:00:00 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
- <type>org.netbeans.modules.cnd.makeproject</type>
- <configuration>
- <data xmlns="http://www.netbeans.org/ns/make-project/1">
- <name>wintermute-database</name>
- <make-project-type>0</make-project-type>
- <c-extensions/>
- <cpp-extensions/>
- <header-extensions/>
- <sourceEncoding>UTF-8</sourceEncoding>
- <make-dep-projects/>
- <sourceRootList/>
- <confList>
- <confElem>Debug</confElem>
- <confElem>Release</confElem>
- </confList>
- </data>
- </configuration>
-</project>
=== added directory 'wintermute-database/src'
=== added directory 'wintermute-database/src/bin'
=== added file 'wintermute-database/src/except.cpp'
--- wintermute-database/src/except.cpp 1970-01-01 00:00:00 +0000
+++ wintermute-database/src/except.cpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,23 @@
+/*
+ * except.cpp
+ * This file is part of wintermute-database
+ *
+ * Copyright (C) 2011 - Wintermute Developers
+ *
+ * wintermute-database is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wintermute-database is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with wintermute-database; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "except.hpp"
=== added file 'wintermute-database/src/except.hpp'
--- wintermute-database/src/except.hpp 1970-01-01 00:00:00 +0000
+++ wintermute-database/src/except.hpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,37 @@
+/*
+ * except.hpp
+ * This file is part of wintermute-database
+ *
+ * Copyright (C) 2011 - Wintermute Developers
+ *
+ * wintermute-database is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wintermute-database is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with wintermute-database; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+namespace Wintermute {
+ namespace Data {
+ namespace Exceptions {
+ class Exception;
+ class InvalidOperationException;
+ class NotFoundException;
+
+ class Exception {};
+
+ class InvalidOperationException : public Exception {};
+
+ class NotFoundException : public Exception {};
+ }
+ }
+}
=== added file 'wintermute-database/src/linguistics.cpp'
--- wintermute-database/src/linguistics.cpp 1970-01-01 00:00:00 +0000
+++ wintermute-database/src/linguistics.cpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,623 @@
+/**
+ * @author Jacky Alcine <jackyalcine@xxxxxxxxx>
+ * @copyright 2011 SII
+ *
+ * <license>
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ * </license>
+ *
+ */
+
+#include <libxml++/libxml++.h>
+#include <sigc++/sigc++.h>
+#include <boost/filesystem.hpp>
+#include <include/json.h>
+#include <string>
+#include <fstream>
+#include <iostream>
+#include <sstream>
+#include <map>
+
+#include "except.hpp"
+#include "linguistics.hpp"
+
+using namespace std;
+using namespace Json;
+using namespace xmlpp;
+using namespace Wintermute::Data;
+using std::string;
+using std::ios;
+using std::ofstream;
+using std::ifstream;
+using std::ostringstream;
+using std::istringstream;
+using Json::Value;
+using Json::Reader;
+using Json::FastWriter;
+using xmlpp::DomParser;
+using xmlpp::Document;
+
+namespace Wintermute {
+ namespace Data {
+ namespace Linguistics {
+ NodeInteroperingSignalVector NodeReader::handles;
+ NodeInteroperingSignalVector NodeWriter::handles;
+ XmlNode::XmlDataSources XmlNode::_docs;
+ JsonNode::JsonDataSources JsonNode::_data;
+
+ string Configuration::_locale = "en";
+ string Configuration::_root = "store";
+
+ //// @todo Fix the XmlNode and JsonNode readers; they're not working!
+ void Configuration::Initialize(const string& root, const string& locale) {
+ // cout << "(database) Initializing Linguistics data.." << endl;
+ NodeInteroperingSignalPair localNodeReader;
+ localNodeReader.first = new NodeIoExistsSignal;
+ localNodeReader.second = new NodeIoHandleSignal;
+ localNodeReader.first->connect(sigc::ptr_fun(&LocalNode::exists));
+ localNodeReader.second->connect(sigc::ptr_fun(&LocalNodeReader::obtain));
+
+ NodeInteroperingSignalPair jsonNodeReader;
+ jsonNodeReader.first = new NodeIoExistsSignal;
+ jsonNodeReader.second = new NodeIoHandleSignal;
+ jsonNodeReader.first->connect(sigc::ptr_fun(&JsonNode::exists));
+ jsonNodeReader.second->connect(sigc::ptr_fun(&JsonNodeReader::obtain));
+
+ NodeInteroperingSignalPair xmlNodeReader;
+ xmlNodeReader.first = new NodeIoExistsSignal;
+ xmlNodeReader.second = new NodeIoHandleSignal;
+ xmlNodeReader.first->connect(sigc::ptr_fun(&XmlNode::exists));
+ xmlNodeReader.second->connect(sigc::ptr_fun(&XmlNodeReader::obtain));
+
+ NodeInteroperingSignalPair localNodeWriter;
+ localNodeWriter.first = new NodeIoExistsSignal;
+ localNodeWriter.second = new NodeIoHandleSignal;
+ localNodeWriter.first->connect(sigc::ptr_fun(&LocalNode::exists));
+ localNodeWriter.second->connect(sigc::ptr_fun(&LocalNodeWriter::obtain));
+
+ NodeInteroperingSignalPair jsonNodeWriter;
+ jsonNodeWriter.first = new NodeIoExistsSignal;
+ jsonNodeWriter.second = new NodeIoHandleSignal;
+ jsonNodeWriter.first->connect(sigc::ptr_fun(&JsonNode::exists));
+ jsonNodeWriter.second->connect(sigc::ptr_fun(&JsonNodeWriter::obtain));
+
+ /*NodeInteroperingSignalPair xmlNodeWriter;
+ xmlNodeWriter.first = new NodeIoExistsSignal;
+ xmlNodeWriter.second = new NodeIoHandleSignal;
+ xmlNodeWriter.first->connect(sigc::ptr_fun(&XmlNode::exists));
+ xmlNodeWriter.second->connect(sigc::ptr_fun(&XmlNodeWriter::obtain));*/
+ // cout << "(database) Parsing linguistics data... " << endl;
+
+ Configuration::setRootDirectory(root);
+ Configuration::setLocale(locale);
+
+ NodeReader::addHandle(localNodeReader);
+ NodeWriter::addHandle(localNodeWriter);
+
+ if (XmlNode::loadLocale(locale)) {
+ //NodeReader::addHandle(xmlNodeReader);
+ //NodeWriter::addHandle(xmlNodeWriter);
+ }
+
+ if (JsonNode::loadLocale(locale)) {
+ NodeReader::addHandle(jsonNodeReader);
+ NodeWriter::addHandle(jsonNodeWriter);
+ }
+ }
+
+ void Configuration::setLocale(const string locale) {
+ if (locale.size() == 0)
+ return;
+
+ Configuration::_locale = locale;
+ // cout << "## Global locale set to " << locale << endl;
+ }
+
+ void Configuration::setRootDirectory(const string root) {
+ if (root.size() == 0)
+ return;
+
+ boost::filesystem::path theRoot(root);
+ Configuration::_root = theRoot.string();
+ // cout << "## Root set to " << root << endl;
+ }
+
+ const string Configuration::getLocale() {
+ return Configuration::_locale;
+ }
+
+ const string Configuration::getRootDirectory(const string locale) {
+ string theLocale = locale;
+ if (locale.empty())
+ theLocale = Configuration::getLocale();
+
+ string path = Configuration::_root + string("/locale/") + theLocale;
+ boost::filesystem::path thePath(path);
+ return thePath.string();
+ }
+
+ NodeIo::NodeIo(const string& nodeID, const string& nodeLocale) : strID(nodeID), strLocale(nodeLocale) {
+ }
+
+ const string NodeIo::getID() const {
+ return this->strID;
+ }
+
+ const string NodeIo::getLocale() const {
+ return this->strLocale;
+ }
+
+ const bool NodeIo::isNull() const {
+ return (this == NULL);
+ }
+
+ NodeReader::NodeReader(const string& nodeID, const string& nodeLocale) : NodeIo(nodeID, nodeLocale) {
+ // cout << "(database) Abstract linguistcal data input source initialized for (" << nodeLocale << ")# " << nodeID << "." << endl;
+ }
+
+ NodeReader::NodeReader(const NodeReader& node) : NodeIo(node.getID(), node.getLocale()) {
+
+ }
+
+ void NodeReader::addHandle(const NodeInteroperingSignalPair& dataPair) {
+ if (!(&dataPair == NULL)) {
+ NodeReader::handles.push_back(dataPair);
+ // cout << "(database) Linguistics data input source added (#" << NodeReader::handles.size() << ")" << endl;
+ }
+ }
+
+ NodeReader* NodeReader::obtain(const string &nodeID, const string &nodeLocale) {
+ // cout << "(database) Searching for linguistics data input sources..." << endl;
+ for (NodeInteroperingSignalVector::const_iterator itr = NodeReader::handles.begin(); itr != NodeReader::handles.end(); itr++) {
+ const NodeInteroperingSignalPair aPair = *itr;
+ if (aPair.first->emit(nodeID, nodeLocale))
+ return static_cast<NodeReader*> (aPair.second->emit(nodeID, nodeLocale));
+ }
+ // cout << "(database) No linguistics data input sources found!" << endl;
+ return NULL;
+ }
+
+ bool NodeReader::exists(const string &nodeID, const string &nodeLocale) {
+ // cout << nodeID << " " << nodeLocale << endl;
+ for (NodeInteroperingSignalVector::const_iterator itr = NodeReader::handles.begin(); itr != NodeReader::handles.end(); itr++) {
+ const NodeInteroperingSignalPair aPair = *itr;
+ if (aPair.first->emit(nodeID, nodeLocale))
+ return true;
+ }
+ return false;
+ }
+
+ const string NodeReader::get() const {
+ // cout << "(database) [NodeReader] Reading from stdin..." << endl;
+ string data, flags, semid;
+ ostringstream outData;
+ cin >> data;
+ outData << data << endl;
+
+ while (flags != "-1") {
+ cin >> flags >> semid;
+ outData << flags << " " << semid << " " << endl;
+ }
+
+ return outData.str();
+ }
+
+ void NodeReader::getData(const NodeReader& data, Lexical& out) {
+ // cout << "(database) [NodeReader] *** Read node #" << data.getID() << ".." << endl;
+ const string theData = data.get();
+ if (!theData.empty()) {
+ out.flags().clear();
+ string symbol, flags, semid;
+ istringstream inData(theData);
+
+ inData >> out.symbol();
+
+ while (inData >> flags >> semid)
+ out.flags().insert(Lexical::LexicalMap::value_type(flags, semid));
+
+ inData.clear();
+ }
+ }
+
+ NodeWriter::NodeWriter(const string& nodeID, const string& nodeLocale) : NodeIo(nodeID, nodeLocale) {
+ // cout << "(database) Abstract linguistcal data output source initialized for (" << nodeLocale << ")# " << nodeID << "." << endl;
+ }
+
+ NodeWriter::NodeWriter(const NodeWriter& node) : NodeIo(node.getID(), node.getLocale()) {
+ // cout << "(database) [NodeWriter] Abstract linguistcal data output source initialized for (" << getLocale() << ")# " << getID() << "." << endl;
+ }
+
+ NodeWriter::NodeWriter(const NodeIo& io) : NodeIo(io) {
+ // cout << "(database) [NodeIo] Abstract linguistcal data output source initialized for (" << getLocale() << ")# " << getID() << "." << endl;
+ }
+
+ void NodeWriter::addHandle(const NodeInteroperingSignalPair& dataPair) {
+ if (!(&dataPair == NULL)) {
+ NodeWriter::handles.push_back(dataPair);
+ // cout << "(database) Linguistics data output source added (#" << NodeWriter::handles.size() << ")" << endl;
+ }
+ }
+
+ NodeWriter* NodeWriter::obtain(const string& nodeID, const string& nodeLocale) {
+ // cout << "(database) Searching for linguistics data output sources..." << endl;
+ for (NodeInteroperingSignalVector::const_iterator itr = NodeWriter::handles.begin(); itr != NodeWriter::handles.end(); itr++) {
+ const NodeInteroperingSignalPair aPair = *itr;
+ if (!aPair.first->emit(nodeID, nodeLocale)) {
+ return new NodeWriter(*aPair.second->emit(nodeID, nodeLocale));
+ }
+ }
+ // cout << "(database) No linguistics data output sources found!" << endl;
+ return NULL;
+ }
+
+ bool NodeWriter::exists(const string &nodeID, const string &nodeLocale) {
+ for (NodeInteroperingSignalVector::const_iterator itr = NodeWriter::handles.begin(); itr != NodeWriter::handles.end(); itr++) {
+ const NodeInteroperingSignalPair aPair = *itr;
+ if (aPair.first->emit(nodeID, nodeLocale))
+ return true;
+ }
+ return false;
+ }
+
+ void NodeWriter::write(const string& data) {
+ // cout << "(database) [NodeWriter] Writing to stdout..." << endl;
+ // cout << data << endl;
+ }
+
+ void NodeWriter::setData(NodeWriter& writer, Lexical& in) {
+ ostringstream outData;
+ outData << in.symbol() << endl;
+
+ for (Lexical::LexicalMap::const_iterator itr = in.flags().begin(); itr != in.flags().end(); itr++)
+ outData << itr->first << " " << itr->second << endl;
+
+ writer.write(outData.str());
+ outData.clear();
+ }
+
+ LocalNode::LocalNode() {
+ // cout << "(database) [LocalNode] Linguisics data source base initialized." << endl;
+ }
+
+ LocalNode::~LocalNode() {
+ // cout << "(database) [LocalNode] Linguisics data source base destroyed." << endl;
+ }
+
+ const string LocalNode::getPath(const string& nodeID, const string& nodeLocale) {
+ string myLocale = nodeLocale;
+ if (nodeLocale.empty())
+ myLocale = Configuration::getLocale();
+
+ string path = Configuration::getRootDirectory(nodeLocale) + string("/nods/") + nodeID;
+ boost::filesystem::path thePath(path);
+
+ //cout << "Formed path: " << thePath.relative_path().string() << endl;
+ return thePath.string();
+ }
+
+ bool LocalNode::exists(const string& nodeID, const string& nodeLocale) {
+ // cout << "(database) [LocalNode] Determing existence of (" << nodeLocale << ")'" << nodeID << "'..." << endl;
+ return boost::filesystem::exists(LocalNode::getPath(nodeID, nodeLocale));
+ }
+
+ LocalNodeReader::LocalNodeReader(const string& nodeID, const string& nodeLocale) : NodeReader(nodeID, nodeLocale), LocalNode() {
+ // cout << "(database) [LocalNodeReader] Linguistics data input source initialized. " << endl;
+ }
+
+ LocalNodeReader::LocalNodeReader(const NodeReader& node) : NodeReader(node), LocalNode() {
+
+ }
+
+ const string LocalNodeReader::get() const {
+ // TODO: Allow configuration of location globally and internally.
+ string path, data, flags, semid;
+
+ // get the path to the node on disk.
+ path = LocalNode::getPath(this->getID(), this->getLocale());
+
+ ifstream inNode(path.c_str(), ios::in);
+ ostringstream outData("");
+ inNode >> data;
+ outData << data << endl;
+
+ while (inNode >> flags >> semid)
+ outData << flags << " " << semid << " " << endl;
+
+ inNode.close();
+ // cout << outData.str() << std::endl;
+ return outData.str();
+ }
+
+ LocalNodeReader* LocalNodeReader::obtain(const string& nodeID, const string& nodeLocale) {
+ // cout << "(database) [LocalNodeReader] Linguistics data input source formed. " << endl;
+ if (LocalNode::exists(nodeID,nodeLocale))
+ return new LocalNodeReader(nodeID, nodeLocale);
+ else
+ return NULL;
+ }
+
+ LocalNodeWriter::LocalNodeWriter(const string& nodeID, const string& nodeLocale) : NodeWriter(nodeID, nodeLocale), LocalNode() {
+ // cout << "(database) [LocalNodeWriter] Linguistics data output source initialized. " << endl;
+ if (LocalNode::exists(nodeID, nodeLocale)){
+ // cout << "(database) [LocalNodeWriter] Overwriting pre-existing data... " << endl;
+ }
+ }
+
+ LocalNodeWriter::LocalNodeWriter(const NodeWriter& node) : NodeWriter(node), LocalNode() {
+ // cout << "(database) [LocalNodeWriter] Linguistics data output source initialized. " << endl;
+ if (LocalNode::exists(getID(), getLocale())){
+ // cout << "(database) [LocalNodeWriter] Overwriting pre-existing data... " << endl;
+ }
+ }
+
+ void LocalNodeWriter::write(const string& data) {
+ // cout << "(database) [LocalNodeWriter] Saving... " << endl;
+ string path;
+
+ path = LocalNode::getPath(this->getID(), this->getLocale());
+ ofstream outNode(path.c_str(), ios::out | ios::trunc);
+ outNode << data;
+ outNode.close();
+ // cout << "(database) [LocalNodeWriter] Wrote " << data.length() * sizeof (char) << " bytes to '" << path << "'." << endl;
+ }
+
+ LocalNodeWriter* LocalNodeWriter::obtain(const string& nodeID, const string& nodeLocale) {
+ return new LocalNodeWriter(nodeID, nodeLocale);
+ }
+
+ JsonNode::JsonNode() {
+ // cout << "(database) [JsonNode] Linguisics data source base initialized." << endl;
+ }
+
+ JsonNode::~JsonNode() {
+ // cout << "(database) [JsonNode] Linguisics data source base destroyed." << endl;
+ }
+
+ bool JsonNode::loadLocale(const string& nodeLocale) {
+ // cout << "(database) [JsonNode] < " << nodeLocale << " > Loading locale information ..." << endl;
+ string path = Configuration::getRootDirectory(nodeLocale) + "/db.json";
+ boost::filesystem::path thePath(path);
+ path = thePath.string();
+ Json::Reader aReader;
+ Json::Value theValue;
+ aReader.parse(path, theValue);
+
+ if (theValue.isNull()) {
+ // cout << "(database) [JsonNode] < " << nodeLocale << " > Malformed information recieved." << endl << "\t" << aReader.getFormatedErrorMessages() << endl;
+ return false;
+ }
+
+ JsonDataSources::value_type dataPair(nodeLocale, theValue);
+ // cout << theValue.toStyledString() << endl;
+ JsonNode::_data.insert(dataPair);
+ return true;
+ }
+
+ Json::Value JsonNode::getJsonLocale(const string& locale) {
+ JsonDataSources::iterator jsItr = JsonNode::_data.find(locale);
+ if (jsItr != JsonNode::_data.end())
+ return jsItr->second;
+
+ return Json::Value::null;
+ }
+
+ bool JsonNode::exists(const string& nodeID, const string& nodeLocale) {
+ // cout << "(database) [JsonNode] Determing existence of (" << nodeLocale << ")'" << nodeID << "'..." << endl;
+ JsonDataSources::iterator theItr = _data.find(nodeLocale);
+ if (theItr == _data.end())
+ return false;
+
+ Json::Value theLocale = theItr->second;
+ return theLocale.isMember(nodeID);
+ }
+
+ JsonNodeReader::JsonNodeReader(const string& nodeID, const string& nodeLocale) : NodeReader(nodeID, nodeLocale) {
+ // cout << "(database) [JsonNodeWriter] Linguistics data input source initialized. " << endl;
+ }
+
+ JsonNodeReader* JsonNodeReader::obtain(const string& nodeID, const string& nodeLocale) {
+ // cout << "(database) [JsonNodeReader] Linguistics data input source formed. " << endl;
+ return new JsonNodeReader(nodeID, nodeLocale);
+ }
+
+ const string JsonNodeReader::get() const {
+ Json::Value theLocale = _data.find(this->getLocale())->second;
+ Json::Value node = theLocale[this->getID()];
+
+ // cout << "Dump: " << endl << theLocale.toStyledString() << endl;
+ // cout << "Focused dump: " << endl << node.toStyledString() << endl;
+ ostringstream outData;
+ outData << node["symbol"] << endl;
+
+ Json::Value flagCollection = theLocale["links"];
+ for (Json::Value::iterator itr = flagCollection.begin(); itr != flagCollection.end(); itr++) {
+ Json::Value aValue = *itr;
+ outData << aValue["flags"] << " " << aValue["semantic"] << endl;
+ }
+
+ return outData.str();
+ }
+
+ JsonNodeWriter::JsonNodeWriter(const string& nodeID, const string& nodeLocale) : NodeWriter(nodeID, nodeLocale) {
+
+ }
+
+ void JsonNodeWriter::write(const string& data) {
+ istringstream inData(data);
+ Json::Value theLocale = JsonNode::getJsonLocale(this->getLocale());
+ Json::Value theNode;
+ if (!theLocale.isMember(this->getID())) {
+ Json::Reader aReader;
+ aReader.parse(string("{'") + this->getID() + string("' : {}}"), theNode);
+ theLocale.append(theNode);
+ }
+ theNode = theLocale[this->getID()];
+ inData >> theNode["symbol"];
+
+ Json::Value flagCollection = theNode["links"];
+ string flags, semid;
+ while (inData >> flags >> semid) {
+ Json::Reader aLinkReader;
+ Json::Value theLink;
+ ostringstream outLink;
+ outLink << "{ flags : '" << flags << "', semantic: '" << semid << "' }";
+ aLinkReader.parse(outLink.str(), theLink);
+ flagCollection.append(theLink);
+ }
+ }
+
+ JsonNodeWriter* JsonNodeWriter::obtain(const string& nodeID, const string& nodeLocale) {
+ return new JsonNodeWriter(nodeID, nodeLocale);
+ }
+
+ XmlNode::XmlNode() {
+ // cout << "(database) [XmlNode] Linguisics data source base initialized." << endl;
+ }
+
+ XmlNode::~XmlNode() {
+ // cout << "(database) [XmlNode] Linguisics data source base destroyed." << endl;
+ }
+
+ Element* XmlNode::getXmlLocale(const string& locale) {
+ XmlDataSources::iterator theItr = XmlNode::_docs.find(locale);
+ if (theItr == XmlNode::_docs.end())
+ return NULL;
+ else
+ return theItr->second->get_root_node();
+ }
+
+ bool XmlNode::loadLocale(const string& nodeLocale) {
+ // cout << "(database) [XmlNode] < " << nodeLocale << " > Loading locale information ..." << endl;
+ string path = Configuration::getRootDirectory(nodeLocale) + "/db.xml";
+ boost::filesystem::path thePath(path);
+ path = thePath.string();
+
+ DomParser aParser;
+ aParser.set_validate(false);
+ aParser.set_substitute_entities(false);
+ try {
+ aParser.parse_file(path);
+ } catch (xmlpp::exception &e) {
+ // cout << "(database) [XmlNode] <" << nodeLocale << "> Error parsing linguistics data; '" << e.what() << "'" << endl;
+ return false;
+ }
+
+ if (!aParser) {
+ // cout << "(database) [XmlNode] <" << nodeLocale << "> Malformed linguistics data." << endl;
+ return false;
+ }
+
+ Document* theDoc = aParser.get_document();
+ if (theDoc != NULL) {
+ Element* theElem = theDoc->get_root_node();
+ if (theElem == NULL){
+ theElem = theDoc->create_root_node("Collection");
+ theDoc->write_to_file(path);
+ }
+
+ if (theElem) {
+ _docs.insert(XmlDataSources::value_type(nodeLocale, theDoc));
+ // cout << "(database) [XmlNode] Memory dump:" << endl << theElem->get_children().size() << endl;
+ return true;
+ } else
+ return false;
+ } else {
+ return false;
+ }
+ return false;
+ }
+
+ bool XmlNode::exists(const string& nodeID, const string& nodeLocale) {
+ // cout << "(database) [XmlNode] Determing existence of (" << nodeLocale << ")'" << nodeID << "'..." << endl;
+ if (XmlNode::_docs.find(nodeLocale) == XmlNode::_docs.end())
+ return false;
+
+ return XmlNode::obtainNode(nodeID, nodeLocale) != NULL;
+ }
+
+ Element* XmlNode::obtainNode(const string& nodeID, const string& nodeLocale) {
+ XmlDataSources::iterator docItr = XmlNode::_docs.find(nodeLocale);
+ if (docItr == XmlNode::_docs.end())
+ return NULL;
+
+ Element* rootNode = docItr->second->get_root_node();
+ if (rootNode != NULL) {
+ if (rootNode->has_child_text()) {
+ NodeSet collection = rootNode->find("Node");
+ if (!collection.empty()) {
+ for (NodeSet::const_iterator itr = collection.begin(); itr != collection.end(); itr++) {
+ Element* aElement = dynamic_cast<Element*> (*itr);
+ if (aElement->get_attribute_value("ID") == nodeID)
+ return aElement;
+ }
+ }
+ }
+ }
+ return NULL;
+ }
+
+ XmlNodeReader::XmlNodeReader(const string& nodeID, const string& nodeLocale) : NodeReader(nodeID, nodeLocale) {
+ // cout << "(database) [XmlNodeReader] Linguistics data input source initialized. " << endl;
+ }
+
+ const string XmlNodeReader::get() const {
+ ostringstream outData;
+ Element* theNode = XmlNode::obtainNode(this->getID(), this->getLocale());
+ NodeSet theLinks = theNode->find("Link");
+
+ outData << theNode->get_attribute_value("symbol");
+ if (!theLinks.empty()) {
+ for (NodeSet::const_iterator itr = theLinks.begin(); itr != theLinks.end(); itr++) {
+ Element* theLink = dynamic_cast<Element*> (*itr);
+ outData << theLink->get_attribute_value("flag") << " " << theLink->get_attribute_value("semanticID") << endl;
+ }
+ }
+
+ return outData.str();
+ }
+
+ XmlNodeReader* XmlNodeReader::obtain(const string& nodeID, const string& nodeLocale) {
+ // cout << "(database) [XmlNodeReader] Linguistics data input source formed. " << endl;
+ return new XmlNodeReader(nodeID, nodeLocale);
+ }
+
+ Lexical::Lexical() {
+
+ }
+
+ Lexical* Lexical::obtain() {
+ return new Lexical();
+ }
+
+ void Lexical::load(const NodeReader& node) {
+ NodeReader::getData(node, *this);
+ }
+
+ void Lexical::save(NodeWriter& node) {
+ NodeWriter::setData(node, *this);
+ }
+
+ string& Lexical::symbol() {
+ return _strSymbol;
+ }
+
+ Lexical::LexicalMap& Lexical::flags() {
+ return _data;
+
+ }
+ }
+ }
+}
\ No newline at end of file
=== added file 'wintermute-database/src/linguistics.hpp'
--- wintermute-database/src/linguistics.hpp 1970-01-01 00:00:00 +0000
+++ wintermute-database/src/linguistics.hpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,549 @@
+/*
+ * Author: Jacky Alcine <jackyalcine@xxxxxxxxx>
+ *
+ * Copyright 2011 Jacky Alcine
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+
+ * @file linguistics.hpp
+ * @author jacky
+ * @created March 29, 2011, 3:08 PM
+ */
+
+#ifndef LINGUISTICS_HPP
+#define LINGUISTICS_HPP
+
+#include <sigc++/sigc++.h>
+#include <libxml++-2.6/libxml++/libxml++.h>
+#include </home/jacky/Documents/Development/Projects/Desktop/Wintermute/~wintermute-devel/json/src/include/json.h>
+#include <string>
+#include <vector>
+#include <map>
+#include <stdexcept>
+
+using namespace std;
+using namespace xmlpp;
+using std::string;
+using std::vector;
+using std::pair;
+using std::map;
+using xmlpp::Document;
+
+namespace Wintermute {
+ namespace Data {
+ namespace Linguistics {
+ class Configuration;
+ class NodeIo;
+ class LocalNode;
+ class JsonNode;
+ class XmlNode;
+ class Lexical;
+
+ class NodeReader;
+ class LocalNodeReader;
+ class XmlNodeReader;
+ class JsonNodeReader;
+
+ class NodeWriter;
+ class LocalNodeWriter;
+ class XmlNodeWriter;
+ class JsonNodeWriter;
+
+ /**
+ */
+ typedef sigc::slot<bool, const string&, const string&> NodeIoExistsSlot;
+ /**
+ */
+ typedef sigc::slot<NodeIo*, const string&, const string&> NodeIoHandleSlot;
+ /**
+ */
+ typedef sigc::signal<bool, const string&, const string&> NodeIoExistsSignal;
+ /**
+ */
+ typedef sigc::signal<NodeIo*, const string&, const string&> NodeIoHandleSignal;
+ /**
+ */
+ typedef pair<NodeIoExistsSignal*, NodeIoHandleSignal*> NodeInteroperingSignalPair;
+ /**
+ */
+ typedef vector<NodeInteroperingSignalPair> NodeInteroperingSignalVector;
+ /**
+ */
+ typedef LocalNode LocalData;
+ /**
+ */
+ typedef JsonNode JsonData;
+ /**
+ */
+ typedef XmlNode XmlData;
+
+ /**
+ * An abstract static class representing the current configuration
+ * of the linguistics data.
+ */
+ class Configuration {
+ private:
+ static string _root;
+ static string _locale;
+ Configuration();
+ ~Configuration();
+
+ public:
+ /**
+ * Initializes the system by running prerequieste code.
+ * @param string root The directory of which data should be loaded from.
+ * @param string locale The locale that should initially loaded.
+ */
+ static void Initialize(const string& = "store", const string& = "en");
+ /**
+ * @description Sets the default locale to use.
+ * @param locale The locale to set.
+ */
+ static void setLocale(const string = "en");
+ /**
+ * @description Sets the root directory to load information from.
+ * @param root The root directory.
+ */
+ static void setRootDirectory(const string = "store");
+ /**
+ * @description Gets current locale used.
+ * @return String with the current locale.
+ */
+ static const string getLocale();
+ /**
+ * @description Gets the root directory for the specified locale.
+ * @param locale String with the locale name.
+ * @return String with the path to the locale root, relative to the main root.
+ */
+ static const string getRootDirectory(const string = "en");
+ };
+
+ /**
+ * Represents the foundational class of all node input and output.
+ */
+ class NodeIo {
+ protected:
+ /**
+ * Creates a new NodeIo.
+ * @param string nodeID The ID of the node.
+ * @param string nodeLocale The locale of the node.
+ */
+ NodeIo(const string&, const string&);
+ const string strID;
+ const string strLocale;
+ public:
+ /**
+ * Obtains the representing ID of this I/O object.
+ * @return string The ID.
+ */
+ const string getID() const;
+ /**
+ * Obtains the underlying locale of this I/O object.
+ * @return string The locale in a two to five-character string.
+ */
+ const string getLocale() const;
+ /**
+ *
+ * @return
+ */
+ const bool isNull() const;
+ };
+
+ /**
+ * Dependant on NodeIo; this class represents all NodeIo objects that
+ * read data.
+ * @see NodeIo
+ */
+ class NodeReader : public NodeIo {
+ friend class Lexical;
+ private:
+ static NodeInteroperingSignalVector handles;
+ protected:
+ /**
+ * Creates an input object based on NodeIo.
+ * @param string nodeID The ID of the node.
+ * @param string nodeLocale The locale of the node.
+ */
+ NodeReader(const string&, const string&);
+ /**
+ *
+ * @param
+ */
+ NodeReader(const NodeReader&);
+ NodeReader(const NodeIo&);
+ /**
+ * Returns the data to be parsed as a Node.
+ * @return string
+ */
+ virtual const string get() const;
+
+ public:
+ /**
+ * Attachs a new handler to obtain data from.
+ * @param NodeInteroperingSignalPair The std::pair to add to the internal vector.
+ * @see NodeInteroperingSignalPair
+ * @see NodeReader::obtain
+ */
+ static void addHandle(const NodeInteroperingSignalPair&);
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static NodeReader* obtain(const string&, const string&);
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static bool exists(const string&, const string&);
+ static void getData(const NodeReader&, Lexical&);
+ };
+
+ /**
+ */
+ class NodeWriter : public NodeIo {
+ friend class Lexical;
+ private:
+ static NodeInteroperingSignalVector handles;
+
+ protected:
+ /**
+ *
+ * @param
+ * @param
+ */
+ NodeWriter(const string&, const string&);
+ /**
+ *
+ * @param
+ */
+ NodeWriter(const NodeIo&);
+ /**
+ *
+ * @param
+ */
+ NodeWriter(const NodeWriter&);
+ /**
+ *
+ * @param
+ */
+ virtual void write(const string&);
+
+ public:
+ /**
+ *
+ * @param
+ */
+ static void addHandle(const NodeInteroperingSignalPair&);
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static NodeWriter* obtain(const string&, const string&);
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static bool exists(const string&, const string&);
+ static void setData(NodeWriter&, Lexical&);
+ };
+
+ /**
+ */
+ class Lexical {
+ protected:
+ Lexical();
+ public:
+ /**
+ */
+ typedef map<string, string> LexicalMap;
+ static Lexical* obtain();
+ void save(NodeWriter&);
+ void load(const NodeReader&);
+ string& symbol();
+ LexicalMap& flags();
+ private:
+ string _strSymbol;
+ LexicalMap _data;
+ };
+
+ /**
+ */
+ class LocalNode {
+ protected:
+ /**
+ *
+ */
+ LocalNode();
+ virtual ~LocalNode() = 0;
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static const string getPath(const string&, const string&);
+
+ public:
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static bool exists(const string&, const string&);
+ };
+
+ /**
+ *
+ */
+ class LocalNodeReader : public NodeReader, protected LocalNode {
+ protected:
+ /**
+ *
+ * @param
+ * @param
+ */
+ LocalNodeReader(const string&, const string&);
+ LocalNodeReader(const NodeReader&);
+ public:
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static LocalNodeReader* obtain(const string&, const string&);
+ /**
+ *
+ * @return
+ */
+ const string get() const;
+ };
+
+ /**
+ */
+ class LocalNodeWriter : public NodeWriter, protected LocalNode {
+ protected:
+ /**
+ *
+ * @param
+ * @param
+ */
+ LocalNodeWriter(const string&, const string&);
+ LocalNodeWriter(const NodeWriter&);
+
+ public:
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static LocalNodeWriter* obtain(const string&, const string&);
+ /**
+ *
+ * @param
+ */
+ void write(const string&);
+ };
+
+ /**
+ */
+ class XmlNode {
+ typedef map<const string, Document*> XmlDataSources;
+ protected:
+ /**
+ *
+ */
+ XmlNode();
+ virtual ~XmlNode() = 0;
+ static XmlDataSources _docs;
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static Element* obtainNode(const string&, const string&);
+ /**
+ *
+ * @param
+ * @return
+ */
+ static Element* getXmlLocale(const string& = "");
+ public:
+ /**
+ *
+ * @param
+ * @return
+ */
+ static bool loadLocale(const string& = "");
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static bool exists(const string&, const string&);
+ };
+
+ /**
+ *
+ */
+ class XmlNodeReader : public NodeReader, protected XmlNode {
+ protected:
+ /**
+ *
+ * @param
+ * @param
+ */
+ XmlNodeReader(const string&, const string&);
+ public:
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static XmlNodeReader* obtain(const string&, const string&);
+ /**
+ *
+ * @return
+ */
+ virtual const string get() const;
+ };
+
+ /**
+ */
+ class XmlNodeWriter : public NodeWriter, protected XmlNode {
+ protected:
+ /**
+ *
+ * @param
+ * @param
+ */
+ XmlNodeWriter(const string&, const string&);
+ public:
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static XmlNodeWriter* obtain(const string&, const string&);
+ /**
+ *
+ * @param
+ */
+ virtual void write(const string&);
+ };
+
+ /**
+ */
+ class JsonNode {
+ typedef map<const string, Json::Value> JsonDataSources;
+ protected:
+ /**
+ *
+ */
+ JsonNode();
+ virtual ~JsonNode() = 0;
+ static JsonDataSources _data;
+ /**
+ *
+ * @param
+ * @return
+ */
+ static Json::Value getJsonLocale(const string& = "");
+ public:
+ /**
+ *
+ * @param
+ * @return
+ */
+ static bool loadLocale(const string& = "");
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static bool exists(const string&, const string&);
+ };
+
+ /**
+ *
+ */
+ class JsonNodeReader : public NodeReader, protected JsonNode {
+ protected:
+ /**
+ *
+ * @param
+ * @param
+ */
+ JsonNodeReader(const string&, const string&);
+ public:
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static JsonNodeReader* obtain(const string&, const string&);
+ /**
+ *
+ * @return
+ */
+ virtual const string get() const;
+ };
+
+ /**
+ *
+ */
+ class JsonNodeWriter : public NodeWriter, protected JsonNode {
+ protected:
+ /**
+ *
+ * @param
+ * @param
+ */
+ JsonNodeWriter(const string&, const string&);
+ public:
+ /**
+ *
+ * @param
+ * @param
+ * @return
+ */
+ static JsonNodeWriter* obtain(const string&, const string&);
+ /**
+ *
+ * @param
+ */
+ virtual void write(const string&);
+ };
+ }
+ }
+}
+#endif /* LINGUISTICS_HPP */
=== added file 'wintermute-database/src/ontology.cpp'
--- wintermute-database/src/ontology.cpp 1970-01-01 00:00:00 +0000
+++ wintermute-database/src/ontology.cpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,47 @@
+/*
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+
+ * @file ontology.cpp
+ * @author Jacky Alcine
+ * @created March 29, 2011, 2:25 PM
+ */
+#include "ontology.hpp"
+
+namespace Wintermute {
+ namespace Data {
+ namespace Ontology {
+
+ Concept::Concept(const string& conceptID) : id(conceptID){
+ }
+
+ const string Concept::getID() const {
+ return this->id;
+ }
+
+ Concept* Concept::obtain(const string& conceptID) {
+ return new Concept(conceptID);
+ }
+
+ Instance::Instance(const string& conceptID) : Concept(conceptID){
+
+ }
+
+ Instance* Instance::createFrom(const string& conceptID){
+ return new Instance(conceptID);
+ }
+ }
+ }
+}
=== added file 'wintermute-database/src/ontology.hpp'
--- wintermute-database/src/ontology.hpp 1970-01-01 00:00:00 +0000
+++ wintermute-database/src/ontology.hpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,101 @@
+/*
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+
+ * @file ontology.hpp
+ * @author Jacky Alcine
+ * @created March 29, 2011, 2:25 PM
+ */
+
+#ifndef ONTOLOGY_HPP
+#define ONTOLOGY_HPP
+
+#include <vector>
+#include <string>
+
+using namespace std;
+
+using std::vector;
+using std::pair;
+using std::string;
+
+namespace Wintermute {
+ namespace Data {
+ namespace Ontology {
+ /**
+ * This class represents a node within the ontology.
+ */
+ class Concept;
+ class Relationship;
+ class Attribute;
+ class RelationshipCollection;
+ class Instance;
+
+ class Concept {
+ protected:
+ Concept(const string&);
+ const string id;
+
+ public:
+ static Concept* obtain(const string&);
+ const string getID() const;
+ };
+
+ class Relationship {
+ protected:
+ Relationship();
+ virtual ~Relationship();
+ };
+
+ class RelationshipCollection : protected vector<Relationship*> {
+ public:
+ RelationshipCollection();
+ RelationshipCollection(const vector<Relationship*> &);
+ virtual ~RelationshipCollection() = 0;
+ };
+
+ class Attribute {
+ protected:
+ Attribute();
+ virtual ~Attribute() = 0;
+
+ public:
+
+ class Facet {
+ protected:
+ Facet();
+ virtual ~Facet() = 0;
+ public:
+
+ };
+ };
+
+ class Instance : public Concept {
+ protected:
+ Instance(const string&);
+ void load();
+
+ public:
+ static Instance* createFrom(const Concept&);
+ static Instance* createFrom(const string&);
+ static Instance* createFrom(const vector<Concept&> &);
+ static Instance* createFrom(const vector<string&> &);
+ };
+ }
+ }
+}
+
+#endif /* ONTOLOGY_HPP */
+
=== added file 'wintermute-database/src/wintermute-database.cpp'
--- wintermute-database/src/wintermute-database.cpp 1970-01-01 00:00:00 +0000
+++ wintermute-database/src/wintermute-database.cpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,23 @@
+/*
+ * Author: Jacky Alcine <jacky.alcine@xxxxxxxxxx>
+ *
+ * Copyright 2011 Jacky Alcine
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include "wintermute-database.hpp"
\ No newline at end of file
=== added file 'wintermute-database/src/wintermute-database.hpp'
--- wintermute-database/src/wintermute-database.hpp 1970-01-01 00:00:00 +0000
+++ wintermute-database/src/wintermute-database.hpp 2011-04-04 16:09:29 +0000
@@ -0,0 +1,30 @@
+ /*
+ * Author: Jacky Alcine <jacky.alcine@xxxxxxxxxx
+ *
+ * Copyright 2011 Wintermute Developers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef CORE_HPP
+#define CORE_HPP
+
+#include "except.hpp"
+#include "ontology.hpp"
+#include "linguistics.hpp"
+
+#endif /* CORE_HPP */
Follow ups