changeset 261:ff8187498612

save/open a session support new SPARQL queries
author lbajardsilogic
date Fri, 20 Jun 2008 12:09:57 +0000
parents a1b892b92a40
children 3f41cb822166
files data/fileio/ModelReader.cpp data/model/IntervalModel.cpp sv/main/EasaierSessionManager.cpp
diffstat 3 files changed, 50 insertions(+), 36 deletions(-) [+]
line wrap: on
line diff
--- a/data/fileio/ModelReader.cpp	Fri Jun 20 07:29:17 2008 +0000
+++ b/data/fileio/ModelReader.cpp	Fri Jun 20 12:09:57 2008 +0000
@@ -30,7 +30,8 @@
 	m_document(document),
 	m_layer(layer),
 	m_pane(pane)
-{}
+{
+}
 
 bool ModelReader::parse(const QString & filename)
 {
@@ -194,7 +195,7 @@
 	std::set<Layer *> layers = m_document->getLayers();
 	std::set<Layer *>::iterator iterLayer;
 	bool findLayer = false;
-
+	
 	for (iterLayer=layers.begin(); iterLayer != layers.end(); iterLayer++)
 	{
 		if ((*iterLayer)->objectName() == eventLabel)
@@ -218,6 +219,14 @@
 		
 		m_layer->setModelName(eventLabel);
 		
+		if (m_pane && m_layer)
+		{
+			m_document->addLayerToViewWithoutCommand(m_pane, m_layer);
+		}
+	}	
+
+	if (!m_model)
+	{
 		//create model	
 		IntervalModel * model = new IntervalModel(m_sampleRate, 1, true);
 		m_model = model;
@@ -238,11 +247,7 @@
 			m_document->addImportedModel(m_model);
 			m_document->setModel(m_layer, m_model);
 		}
-		if (m_pane && m_layer)
-		{
-			m_document->addLayerToViewWithoutCommand(m_pane, m_layer);
-		}
-	}	
+	}
 		
 	//add interval
 	IntervalModel *im = dynamic_cast<IntervalModel*> (m_model);
@@ -311,8 +316,15 @@
 		m_layer->setObjectName(eventLabel);
 
 		m_layer->setModelName(eventLabel);
-		//m_layer->setModelId(m_id);
 		
+		if (m_pane && m_layer)
+		{
+			m_document->addLayerToView(m_pane, m_layer);
+		}
+	}
+
+	if (!m_model)
+	{
 		//create model
 		SparseOneDimensionalModel *model = new SparseOneDimensionalModel(m_sampleRate, 512);
 		m_model = model;
@@ -323,12 +335,8 @@
 		{
 			m_document->addImportedModel(m_model);
 			m_document->setModel(m_layer, m_model);
-		}
-		if (m_pane && m_layer)
-		{
-			m_document->addLayerToView(m_pane, m_layer);
-		}
-	}
+		}
+	}
 
 	//add point
 	SparseOneDimensionalModel *sodm = dynamic_cast<SparseOneDimensionalModel *>	(m_model);
--- a/data/model/IntervalModel.cpp	Fri Jun 20 07:29:17 2008 +0000
+++ b/data/model/IntervalModel.cpp	Fri Jun 20 12:09:57 2008 +0000
@@ -58,7 +58,8 @@
  */
 
 IntervalModel::IntervalModel(size_t sampleRate, size_t resolution, bool notifyOnAdd) :
-m_sampleRate(sampleRate), m_resolution(resolution), m_notifyOnAdd(notifyOnAdd)
+m_sampleRate(sampleRate), m_resolution(resolution), m_notifyOnAdd(notifyOnAdd),
+m_meanValue(0.2)
 {
 
 
--- a/sv/main/EasaierSessionManager.cpp	Fri Jun 20 07:29:17 2008 +0000
+++ b/sv/main/EasaierSessionManager.cpp	Fri Jun 20 12:09:57 2008 +0000
@@ -225,9 +225,6 @@
 	int index;
 
 	// build the header
-	/*QHttpRequestHeader header("POST", "/easaier/RetrieverService");
-    header.setValue("Host", "192.168.0.115"); //"easaier.silogic.fr");
-	header.setValue("Port", "8080"); //"9875");*/
 	QHttpRequestHeader header("POST", m_httpClient->getServletName());
 	header.setValue("Host", m_httpClient->getHost());
 	header.setValue("Port", QString::number(m_httpClient->getHostPort()));
@@ -276,7 +273,7 @@
 	LoadedFile::FileType type = loadedFile->getFileType();
 	QString filename = loadedFile->fileName();
 	QString uri = loadedFile->getUri();
-
+	
 	//delete de file and erase from the loaded file queue
 	delete loadedFile;
 	m_loadFile.erase(iter);
@@ -311,7 +308,16 @@
 		}
 		case LoadedFile::MODEL :
 		{
-			QString modelName = m_audioSourceInfoModel->getKey(uri);
+			QString modelName = "";
+			if (uri.left(5) == "/data")
+			{
+				modelName = m_audioSourceInfoModel->getKey("file:/" + uri);
+			}
+			else
+			{
+				modelName = uri.right(uri.length() - uri.lastIndexOf('/') -1);
+				modelName.remove(".txt");
+			}
 
 			read = addModelToLayers(modelName, filename);
 
@@ -392,23 +398,13 @@
 		Layer * layer = *iter;
 
 		QString modelName	= layer->getModelName();
-		if (modelName != "")
+		if (layer->getLayerPresentationName() == "Waveform")
 		{
-			QString modelId		= QString::number(layer->getModelId());
-			//modelName.append(modelId);
-
-		} else if (layer->getLayerPresentationName() == "Waveform")
-		{
-			//modelName = "http://purl.org/dc/elements/1.1/source";
 			modelName = "available_as";
 			int modelId = 1;
 			layer->setModelName(modelName);
 			layer->setModelId(modelId);
-			//modelName.append(QString::number(modelId));
-		} 
-		
-		if (modelName != "")
-		{
+			
 			QStringList* uriList = m_audioSourceInfoModel->getInfo(modelName);
 			if (!uriList)
 				return;
@@ -425,6 +421,18 @@
 				m_modelLoaded.insert(uri);	
 				loadFile(query, uri, LoadedFile::MODEL);
 			}
+		} else if (modelName != "")
+		{
+			std::set<QString>::iterator iterModel = m_modelLoaded.find(modelName);
+
+			if (iterModel == m_modelLoaded.end())
+			{
+				QString query = m_httpClient->getServletName() + "?theme=getTimeLine&signal="+m_document->getAudioSourceInfoFileName()+"&event_label="+modelName;
+				QString file = "metadata/" + modelName + ".txt";
+
+				m_modelLoaded.insert(modelName);	
+				loadFile(query, file, LoadedFile::MODEL);
+			}
 		}
 	}
 }
@@ -445,9 +453,6 @@
 		QString modelName	= layer->getModelName();
 		QString modelId		= QString::number(layer->getModelId());
 
-		//modelName.append(modelId);
-		modelName = modelName.toLower();
-
 		if (modelName == name)
 		{
 			std::map<QString, Model *>::iterator iterModel;
@@ -510,7 +515,7 @@
 	for (iter = relMediaList->begin(); iter != relMediaList->end(); iter++)
 	{
 		filename = iter->first;
-		filename.remove("file:");
+		filename.remove("file:/");
 
 		query = m_httpClient->getServletName() + "?theme=getFile&fileName=" + filename;