changeset 244:ec2ca3fbd957

update AudioSourceInfoReader and SparqlResultsReader according to new sparql query
author lbajardsilogic
date Fri, 28 Mar 2008 12:22:56 +0000
parents e977d4abea8a
children 87ccc62d9ea5
files data/fileio/AudioSourceInfoReader.cpp data/fileio/AudioSourceInfoReader.h data/fileio/SparqlResultsReader.cpp data/fileio/SparqlResultsReader.h data/model/AudioSourceInfoModel.cpp data/model/AudioSourceInfoModel.h sv/main/EasaierSessionManager.cpp widgets/InfoWidget.cpp widgets/QueryResultsWidget.cpp
diffstat 9 files changed, 79 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/data/fileio/AudioSourceInfoReader.cpp	Fri Mar 28 11:15:59 2008 +0000
+++ b/data/fileio/AudioSourceInfoReader.cpp	Fri Mar 28 12:22:56 2008 +0000
@@ -127,7 +127,7 @@
 	}
 
     if (!ok) {
-		std::cerr << "WARNING: SparqlResultsHandler-XML: Failed to completely process element \""
+		std::cerr << "WARNING: AudioSourceInfoHandler-XML: Failed to completely process element \""
 		  << name.toLocal8Bit().data() << "\"" << std::endl;
     }
 
@@ -146,7 +146,12 @@
 
 	} else if (name == "result")
 	{
-		m_model->addInfo(m_property, m_value);
+		m_model->addInfo("composer", m_composer);
+		m_model->addInfo("arranger", m_arranger);
+		m_composer.clear();
+		m_arranger.clear();
+		m_composer.append(" -");
+		m_arranger.append(" -");
 	}
 
 	return true;
@@ -156,13 +161,13 @@
 {
 	if (m_inBinding)
 	{
-		if (m_curBindingName == "value")
+		if (m_curBindingName.contains("composer"))
 		{
-			m_value = str;
+			m_composer.append(" " + str);
 		}
-		else if (m_curBindingName == "property")
+		else if (m_curBindingName.contains("arranger"))
 		{
-			m_property = str;
+			m_arranger.append(" " + str);
 		}
 		else 
 		{
@@ -176,7 +181,7 @@
 bool AudioSourceInfoHandler::error(const QXmlParseException &exception)
 {
 	QString errorString;
-	errorString += QString("ERROR: connexion config-XML: %1 at line %2, column %3")
+	errorString += QString("ERROR: connexion AudioSourceInfoHandler-XML: %1 at line %2, column %3")
 	.arg(exception.message())
 	.arg(exception.lineNumber())
 	.arg(exception.columnNumber());
@@ -187,7 +192,7 @@
 bool AudioSourceInfoHandler::fatalError(const QXmlParseException &exception)
 {
 	QString errorString;
-	errorString += QString("FATAL ERROR: connexion config-XML: %1 at line %2, column %3")
+	errorString += QString("FATAL ERROR: connexion AudioSourceInfoHandler-XML: %1 at line %2, column %3")
 	.arg(exception.message())
 	.arg(exception.lineNumber())
 	.arg(exception.columnNumber());
--- a/data/fileio/AudioSourceInfoReader.h	Fri Mar 28 11:15:59 2008 +0000
+++ b/data/fileio/AudioSourceInfoReader.h	Fri Mar 28 12:22:56 2008 +0000
@@ -52,8 +52,8 @@
 	QString		m_curBindingName;
 
 
-	QString		m_property;
-	QString		m_value;
+	QString		m_composer;
+	QString		m_arranger;
 
 };
 
--- a/data/fileio/SparqlResultsReader.cpp	Fri Mar 28 11:15:59 2008 +0000
+++ b/data/fileio/SparqlResultsReader.cpp	Fri Mar 28 12:22:56 2008 +0000
@@ -120,6 +120,13 @@
 
 	} else if (name == "result")
 	{
+		m_resultsWidget->addInfo("composer", m_composer);
+		m_resultsWidget->addInfo("arranger", m_arranger);
+		m_composer.clear();
+		m_arranger.clear();
+		m_composer.append(" -");
+		m_arranger.append(" -");
+
 		m_resultsWidget->saveCurResult();
 	}
 
@@ -130,7 +137,18 @@
 {
 	if (m_inBinding)
 	{
-		m_resultsWidget->addInfo(m_curBindingName, str);
+		if (m_curBindingName.contains("composer"))
+		{
+			m_composer.append(" " + str);
+		}
+		else if (m_curBindingName.contains("arranger"))
+		{
+			m_arranger.append(" " + str);
+		}
+		else 
+		{
+			m_resultsWidget->addInfo(m_curBindingName, str);
+		}
 	}
 
     return true;
--- a/data/fileio/SparqlResultsReader.h	Fri Mar 28 11:15:59 2008 +0000
+++ b/data/fileio/SparqlResultsReader.h	Fri Mar 28 12:22:56 2008 +0000
@@ -51,6 +51,9 @@
 
 	bool		m_inBinding;
 	QString		m_curBindingName;
+
+	QString		m_composer;
+	QString		m_arranger;
 };
 
 #endif
--- a/data/model/AudioSourceInfoModel.cpp	Fri Mar 28 11:15:59 2008 +0000
+++ b/data/model/AudioSourceInfoModel.cpp	Fri Mar 28 12:22:56 2008 +0000
@@ -23,17 +23,29 @@
 
 void AudioSourceInfoModel::addInfo(QString proper, QString value)
 {
-	m_info[proper.toLower()] = value;
+	std::map<QString, QStringList*>::iterator info = m_info.find(proper.toLower());
+	if (info != m_info.end())
+	{
+		QStringList* infolist = info->second;
+		if (!(infolist->contains(value)))
+			infolist->push_back(value);
+	}
+	else
+	{
+		QStringList* infolist = new QStringList(value);
+		m_info[proper.toLower()] = infolist;
+	}
+	
 }
 
-QString AudioSourceInfoModel::getInfo(const QString& proper) 
+QStringList* AudioSourceInfoModel::getInfo(const QString& proper) 
 {
-	std::map<QString, QString>::iterator info;
+	std::map<QString, QStringList*>::iterator info;
 
 	info = m_info.find(proper.toLower());
 
 	if (info == m_info.end())
-		return "";
+		return 0;
 
 	return (info->second);
 }
@@ -42,12 +54,12 @@
 {
 	QString proper = "";
 
-	std::map<QString, QString>::iterator iter;
+	std::map<QString, QStringList*>::iterator iter;
 
 	for (iter = m_info.begin(); iter != m_info.end(); iter++)
 	{
-		QString infoValue = iter->second;
-		if (infoValue == value)
+		QStringList* infoValue = iter->second;
+		if (infoValue->contains(value))
 		{
 			proper = iter->first;
 			return proper;
--- a/data/model/AudioSourceInfoModel.h	Fri Mar 28 11:15:59 2008 +0000
+++ b/data/model/AudioSourceInfoModel.h	Fri Mar 28 12:22:56 2008 +0000
@@ -14,7 +14,7 @@
 #ifndef _AUDIO_SOURCE_INFO_MODEL_H_
 #define _AUDIO_SOURCE_INFO_MODEL_H_
 
-#include <QString>
+#include <QStringList>
 
 #include <map>
 
@@ -26,15 +26,15 @@
 
 	void addInfo(QString proper, QString value);
 	
-	QString getInfo(const QString& proper);
+	QStringList* getInfo(const QString& proper);
 
-	inline std::map<QString, QString>& getInfo(){return m_info;}
+	inline std::map<QString, QStringList*>& getInfo(){return m_info;}
 
 	QString getKey(const QString& value) ;
 
 private:
 
-	std::map<QString, QString>	m_info;
+	std::map<QString, QStringList*>	m_info;
 
 };
 
--- a/sv/main/EasaierSessionManager.cpp	Fri Mar 28 11:15:59 2008 +0000
+++ b/sv/main/EasaierSessionManager.cpp	Fri Mar 28 12:22:56 2008 +0000
@@ -331,7 +331,8 @@
 
 		} else if (layer->getLayerPresentationName() == "Waveform")
 		{
-			modelName = "http://purl.org/dc/elements/1.1/source";
+			//modelName = "http://purl.org/dc/elements/1.1/source";
+			modelName = "available_as";
 			int modelId = 1;
 			layer->setModelName(modelName);
 			layer->setModelId(modelId);
@@ -340,7 +341,7 @@
 		
 		if (modelName != "")
 		{
-			QString uri = m_audioSourceInfoModel->getInfo(modelName);
+			QString uri = m_audioSourceInfoModel->getInfo(modelName)->at(0);
 			
 			QString query = m_httpClient->getServletName() + "?theme=getFile&fileName="+uri;
 
--- a/widgets/InfoWidget.cpp	Fri Mar 28 11:15:59 2008 +0000
+++ b/widgets/InfoWidget.cpp	Fri Mar 28 12:22:56 2008 +0000
@@ -57,8 +57,8 @@
 {
 	reset();
 
-	std::map<QString, QString> info = model->getInfo();
-	std::map<QString, QString>::iterator iterInfo;
+	std::map<QString, QStringList*> info = model->getInfo();
+	std::map<QString, QStringList*>::iterator iterInfo;
 	QLabel* proper;
 	QLabel* icon;
 	QLabel* value;
@@ -69,7 +69,7 @@
 	m_infoLayout->setColumnMinimumWidth(3,20);
 
 	//display author and title at first
-	iterInfo = info.find("title");
+/*	iterInfo = info.find("performance_title");
 	if (iterInfo!= info.end())
 	{
 		proper = new QLabel(iterInfo->first.toUpper());
@@ -89,12 +89,12 @@
 	}
 	m_infoLayout->setRowMinimumHeight(row,25);
 	row++;
-	
+	*/
 	
 	//display other info
 	for (iterInfo = info.begin(); iterInfo != info.end(); iterInfo++)
 	{
-		if ((iterInfo->first != "title") && (iterInfo->first != "author") && (iterInfo->first.contains("http://purl.org/ontology/mo")))
+		/*if ((iterInfo->first != "title") && (iterInfo->first != "author") && (iterInfo->first.contains("http://purl.org/ontology/mo")))
 		{
 			QString properName;
 			properName = iterInfo->first.split("#").last();
@@ -130,7 +130,16 @@
 				m_infoLayout->addWidget(value, row, 4,1,1);
 				row++;
 			} 
-		}
+		}*/
+		
+		proper = new QLabel(iterInfo->first);
+		value = new QLabel(iterInfo->second->join(" "));
+		//connect the main window to the linkActivated signal
+		//connect(value, SIGNAL(linkActivated(QString)), MainWindow::instance(), SLOT(importEasaierLayer(QString)));
+			
+		m_infoLayout->addWidget(proper, row, 2,1,1);
+		m_infoLayout->addWidget(value, row, 4,1,1);
+		row++;
 	}
 
 	m_infoLayout->setColumnStretch( 4, 1);
--- a/widgets/QueryResultsWidget.cpp	Fri Mar 28 11:15:59 2008 +0000
+++ b/widgets/QueryResultsWidget.cpp	Fri Mar 28 12:22:56 2008 +0000
@@ -142,7 +142,7 @@
 		{
 			if ((*iterOnInfo).name != "signal")
 			{
-				if((*iterOnInfo).name == "composer_given_name"){
+				if((*iterOnInfo).name == "composer"){
 					author = (*iterOnInfo).value;
 				}
 				if ((*iterOnInfo).name == "performance_title")