data: java sample project

* added javaparser as sample project
* fixed crash in utility::isPrefix when prefix is longer than the actual string
* fixed crash when inserting a meta value that contains a special character
* added "language" to project settings of tutorial
* changed separators in serialized name hierarchy
* added javaparser project to windows installers
* enabled the checkbox for start menu shortcut in installer by default
* removed autorefresh icon
* removed JavaSmallTest project
This commit is contained in:
malte_langkabel
2016-08-25 15:18:00 +02:00
parent 520a1b2d48
commit 0268e924aa
164 changed files with 47237 additions and 403 deletions
+10 -4
View File
@@ -11,7 +11,7 @@
#include "utility/utilityString.h"
#include "utility/Version.h"
const size_t SqliteStorage::STORAGE_VERSION = 4;
const size_t SqliteStorage::STORAGE_VERSION = 5;
SqliteStorage::SqliteStorage(const FilePath& dbFilePath)
: m_dbFilePath(dbFilePath)
@@ -833,10 +833,16 @@ std::string SqliteStorage::getMetaValue(const std::string& key) const
void SqliteStorage::insertOrUpdateMetaValue(const std::string& key, const std::string& value)
{
m_database.execDML((
"INSERT OR REPLACE INTO meta(id, key, value) "
"VALUES( (SELECT id FROM meta WHERE key = '" + key + "'), '" + key + "', '" + value + "');"
CppSQLite3Statement stmt = m_database.compileStatement(std::string(
"INSERT OR REPLACE INTO meta(id, key, value) VALUES("
"(SELECT id FROM meta WHERE key = ?), ?, ?"
");"
).c_str());
stmt.bind(1, key.c_str());
stmt.bind(2, key.c_str());
stmt.bind(3, value.c_str());
stmt.execDML();
}
size_t SqliteStorage::getStorageVersion() const
+2 -2
View File
@@ -5,12 +5,12 @@
std::string NameElement::Signature::serialize(Signature signature)
{
return signature.m_prefix + "\r" + signature.m_postfix;
return signature.m_prefix + "\tp" + signature.m_postfix;
}
NameElement::Signature NameElement::Signature::deserialize(const std::string& serialized)
{
std::vector<std::string> serializedElements = utility::splitToVector(serialized, "\r");
std::vector<std::string> serializedElements = utility::splitToVector(serialized, "\tp");
if (serializedElements.size() != 2)
{
LOG_ERROR("unable to deserialize name signature: " + serialized); // todo: obfuscate serialized!
+4 -4
View File
@@ -10,9 +10,9 @@ std::string NameHierarchy::serialize(NameHierarchy nameHierarchy)
{
if (i > 0)
{
serializedName += "\n";
serializedName += "\tn";
}
serializedName += nameHierarchy[i]->getName() + "\t";
serializedName += nameHierarchy[i]->getName() + "\ts";
serializedName += NameElement::Signature::serialize(nameHierarchy[i]->getSignature());
}
return serializedName;
@@ -22,10 +22,10 @@ NameHierarchy NameHierarchy::deserialize(const std::string& serializedName)
{
NameHierarchy nameHierarchy;
std::vector<std::string> serializedNameElements = utility::splitToVector(serializedName, "\n");
std::vector<std::string> serializedNameElements = utility::splitToVector(serializedName, "\tn");
for (size_t i = 0; i < serializedNameElements.size(); i++)
{
std::vector<std::string> nameParts = utility::splitToVector(serializedNameElements[i], "\t");
std::vector<std::string> nameParts = utility::splitToVector(serializedNameElements[i], "\ts");
if (nameParts.size() != 2)
{
LOG_ERROR("unable to deserialize name hierarchy: " + serializedName); // todo: obfuscate serializedName!