diff sv/main/EasaierSessionManager.cpp @ 90:87495ac7710a

support audio source info from boca
author lbajardsilogic
date Thu, 28 Jun 2007 16:57:29 +0000
parents 4fd3274908a5
children dd06af61a4ff
line wrap: on
line diff
--- a/sv/main/EasaierSessionManager.cpp	Thu Jun 28 16:19:29 2007 +0000
+++ b/sv/main/EasaierSessionManager.cpp	Thu Jun 28 16:57:29 2007 +0000
@@ -19,10 +19,10 @@
 #include <iostream>
 #include <QStatusBar>
 #include <vector>
+
 #include <QApplication>
 #include <Qt>
 
-
 #include "layer/Layer.h"
 #include "base/TempDirectory.h"
 #include "data/fileio/AudioSourceInfoReader.h"
@@ -57,7 +57,9 @@
 
 	m_queryModel = new QueryModel();
 	QString filename = "http://" + m_httpClient->getHost() + "/data/query/queryfield.xml";
-	loadFile(filename, LoadedFile::QUERY_CONFIG);
+	QString query = "http://" + m_httpClient->getHost() + "/data/query/queryfield.xml";
+
+	loadFile(query, filename, LoadedFile::QUERY_CONFIG);
 
 	return true;
 }
@@ -69,8 +71,17 @@
 	m_fileName = document->getAudioSourceInfoFileName();
 	m_document = document;
 
-	loadFile(m_fileName, LoadedFile::AUDIO_SOURCE_INFO );
+	QString params = "&identification=" + m_fileName;
+
+	QString query = "http://"+ m_httpClient->getHost() + ":" + QString::number(m_httpClient->getHostPort())+ 
+						"/easaier/servlet/MOQueryServlet?theme=infoFile"+params;
+
+	QString filename = "http://"+ m_httpClient->getHost() + ":" + QString::number(m_httpClient->getHostPort())+ 
+						"/easaier/servlet/infoFile";
 	
+	
+	loadFile(query, filename, LoadedFile::AUDIO_SOURCE_INFO);
+
 	return true;
 }
 
@@ -81,7 +92,16 @@
 	m_fileName = document->getAudioSourceInfoFileName();
 	m_document = document;
 
-	loadFile(m_fileName, LoadedFile::AUDIO_SOURCE_INFO);
+	QString params = "&identification=" + m_fileName;
+
+	QString query = "http://"+ m_httpClient->getHost() + ":" + QString::number(m_httpClient->getHostPort())+ 
+						"/easaier/servlet/MOQueryServlet?theme=infoFile"+params;
+
+	QString filename = "http://"+ m_httpClient->getHost() + ":" + QString::number(m_httpClient->getHostPort())+ 
+						"/easaier/servlet/infoFile";
+	
+	
+	loadFile(query, filename, LoadedFile::AUDIO_SOURCE_INFO);
 	
 	return true;
 }
@@ -114,20 +134,18 @@
 	}
 }
 
-void EasaierSessionManager::loadFile(const QString& uri, LoadedFile::FileType type)
+void EasaierSessionManager::loadFile(const QString& query, const QString& filename, LoadedFile::FileType type)
 {
-	if (uri == 0)
+	if ((query == 0) || (filename == 0))
 		return;
 
 	if (m_httpClient->getHost() == "")
-	{
 		return;
-	}
 
-	QUrl url(uri);
+	QUrl url(filename);
 	QString path = url.path();
 	QString directory = path.left(path.lastIndexOf("/"));
-	QString filename = path.right(path.length() - path.lastIndexOf("/"));
+	QString file = path.right(path.length() - path.lastIndexOf("/"));
 
 	if (directory.left(1) == "/")
 	{
@@ -136,14 +154,13 @@
 
 	//create the subdirectory in local
 	QString localPath = TempDirectory::getInstance()->getSubDirectoryPath(directory);
-	localPath.append(filename);
+	localPath.append(file);
 
 	LoadedFile* newFile = new LoadedFile(localPath);
-	newFile->setFileType(type);
-	newFile->setUri(uri);
+	newFile->setFileType(type);
+	newFile->setUri(query);
 
-	int index = m_httpClient->get(uri, newFile);
-	//connect(m_httpClient,SIGNAL(requestFinished ( int, bool)),this, SLOT(getFinished(int, bool)));
+	int index = m_httpClient->get(query, newFile);
 
 	std::cerr << "Ask for file : GET " << path.toStdString() << " - index : " << index << std::endl;
 
@@ -285,27 +302,30 @@
 		if (modelName != "")
 		{
 			QString modelId		= QString::number(layer->getModelId());
-			modelName.append(modelId);
+			//modelName.append(modelId);
 
 		} else if (layer->getLayerPresentationName() == "Waveform")
 		{
-			modelName = "audiofile";
+			modelName = "http://purl.org/dc/elements/1.1/source";
 			int modelId = 1;
 			layer->setModelName(modelName);
 			layer->setModelId(modelId);
-			modelName.append(QString::number(modelId));
+			//modelName.append(QString::number(modelId));
 		} 
 		
 		if (modelName != "")
 		{
 			QString uri = m_audioSourceInfoModel->getInfo(modelName);
-				
+			
+			uri = "http://" + m_httpClient->getHost() + uri;
+			m_audioSourceInfoModel->addInfo(modelName, uri);
+			
 			std::set<QString>::iterator iterModel = m_modelLoaded.find(uri);
 
 			if (iterModel == m_modelLoaded.end())
 			{
 				m_modelLoaded.insert(uri);
-				loadFile(uri, LoadedFile::MODEL);
+				loadFile(uri, uri, LoadedFile::MODEL);
 			}
 		}
 	}
@@ -327,7 +347,7 @@
 		QString modelName	= layer->getModelName();
 		QString modelId		= QString::number(layer->getModelId());
 
-		modelName.append(modelId);
+		//modelName.append(modelId);
 		modelName = modelName.toLower();
 
 		if (modelName == name)
@@ -364,7 +384,10 @@
 
 void EasaierSessionManager::importMetadata(const QString& filename, Pane* pane)
 {
-	loadFile(filename, LoadedFile::METADATA);
+	QString file = "http://" + m_httpClient->getHost() + filename;
+
+	loadFile(file, file, LoadedFile::METADATA);
+
 	m_currentPane = pane;
 }
 
@@ -380,9 +403,10 @@
 		}
 	}
 	
-	QString filename = "http://"+ m_httpClient->getHost() + ":" + QString::number(m_httpClient->getHostPort())+ "/easaier/servlet/MOQueryServlet?theme="+themeName+""+params;
-
+	QString query = "http://"+ m_httpClient->getHost() + ":" + QString::number(m_httpClient->getHostPort())+ "/easaier/servlet/MOQueryServlet?theme="+themeName+""+params;
+	QString filename = "http://"+ m_httpClient->getHost() + ":" + QString::number(m_httpClient->getHostPort())+ "/easaier/servlet/"+themeName;
 
 	QApplication::setOverrideCursor( Qt::WaitCursor );
-	loadFile(filename, LoadedFile::QUERY_RESULTS);
+	loadFile(query, filename, LoadedFile::QUERY_RESULTS);
+	
 }