[commit] r1380 - in trunk/Paradigms/MetaGME/MetaInterpreter: . Rep
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Thu Jun 23 15:35:05 CDT 2011
Author: ksmyth
Date: Thu Jun 23 15:35:05 2011
New Revision: 1380
Log:
Escape XML entities in Comment, Author, etc. Set starting dir for CFileDialog. GetErrorInfo if registering xmp fails
Modified:
trunk/Paradigms/MetaGME/MetaInterpreter/BON2Component.cpp
trunk/Paradigms/MetaGME/MetaInterpreter/Rep/Dumper.cpp
Modified: trunk/Paradigms/MetaGME/MetaInterpreter/BON2Component.cpp
==============================================================================
--- trunk/Paradigms/MetaGME/MetaInterpreter/BON2Component.cpp Tue Jun 21 12:40:04 2011 (r1379)
+++ trunk/Paradigms/MetaGME/MetaInterpreter/BON2Component.cpp Thu Jun 23 15:35:05 2011 (r1380)
@@ -164,17 +164,13 @@
void Component::initMembers( Project& project)
{
m_projectName = project->getName();
- m_dir = "";
- if ( global_vars.silent_mode)
- {
- CComPtr<IMgaProject> mgaProject = project->getProjectI().p;
- CComBSTR connString;
- BONCOMTHROW(mgaProject->get_ProjectConnStr(&connString));
- std::string path = Util::Copy( connString);
- int e = path.rfind('\\');
- if( e != std::string::npos && path.substr(0, 4) == "MGA=") m_dir = path.substr(4, e-3); // cut leading "MGA=" , preserve tailing '\\'
- }
+ CComPtr<IMgaProject> mgaProject = project->getProjectI().p;
+ CComBSTR connString;
+ BONCOMTHROW(mgaProject->get_ProjectConnStr(&connString));
+ std::string path = Util::Copy( connString);
+ int e = path.rfind('\\');
+ if( e != std::string::npos && path.substr(0, 4) == "MGA=") m_dir = path.substr(4, e-3); // cut leading "MGA=" , preserve tailing '\\'
m_entities.clear();
//m_toBeDeletedEntities.clear();
Modified: trunk/Paradigms/MetaGME/MetaInterpreter/Rep/Dumper.cpp
==============================================================================
--- trunk/Paradigms/MetaGME/MetaInterpreter/Rep/Dumper.cpp Tue Jun 21 12:40:04 2011 (r1379)
+++ trunk/Paradigms/MetaGME/MetaInterpreter/Rep/Dumper.cpp Thu Jun 23 15:35:05 2011 (r1380)
@@ -10,6 +10,7 @@
#include "Token.h"
#include "algorithm"
#include <afxdlgs.h>
+#include <comdef.h>
#include "globals.h"
extern Globals global_vars;
@@ -836,14 +837,14 @@
// root folder dump
std::string mmm= "<?xml version=\"1.0\"?>\n<!DOCTYPE paradigm SYSTEM \"edf.dtd\">"
"\n\n<paradigm "
- "name=\"" + m_projName + "\" " +
- (m_projVersion.empty() ? "" : "version=\"" + m_projVersion + "\" ") +
+ "name=\"" + xmlFilter(m_projName) + "\" " +
+ (m_projVersion.empty() ? "" : "version=\"" + xmlFilter(m_projVersion) + "\" ") +
"guid=\"" + m_projGUID + "\" " +
- "cdate=\"" + m_projCreated + "\" " +
- "mdate=\"" + m_projModified + "\" " +
+ "cdate=\"" + xmlFilter(m_projCreated) + "\" " +
+ "mdate=\"" + xmlFilter(m_projModified) + "\" " +
">\n\n" +
- "\t<comment>" + m_projComment + "</comment>\n\n" +
- "\t<author>" + m_projAuthor + "</author>\n\n";
+ "\t<comment>" + xmlFilter(m_projComment) + "</comment>\n\n" +
+ "\t<author>" + xmlFilter(m_projAuthor) + "</author>\n\n";
DMP( mmm); mmm = "";
@@ -1666,6 +1667,8 @@
CFileDialog dlg(FALSE, "xmp", def_name,
OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"XML Paradigm Files (*.xmp)|*.xmp|");
+ dlg.GetOFN().lpstrInitialDir = proj_path.c_str();
+
int dlg_res = IDOK;
dlg_res = dlg.DoModal();
if( dlg_res == IDOK)
@@ -1757,11 +1760,22 @@
hr = registrar->RegisterParadigmFromData(path, NULL, REGACCESS_USER);
}
if (FAILED(hr)) {
-
+ _bstr_t error;
+ CComQIPtr<ISupportErrorInfo> supperr = registrar;
+ if (supperr) {
+ CComPtr<IErrorInfo> errorInfo;
+ if (SUCCEEDED(GetErrorInfo(0, &errorInfo))) {
+ errorInfo->GetDescription(error.GetAddress());
+ error = L"Error occurred while registering new paradigm: " + error;
+ }
+ }
+ if (error == _bstr_t()) {
+ error = L"Error occurred while registering new paradigm.";
+ }
if( global_vars.silent_mode)
- TO("Error occurred while registering new paradigm.");
+ TO(error);
else
- AfxMessageBox("Error occurred while registering new paradigm.", MB_ICONSTOP | MB_OK);
+ AfxMessageBox(error, MB_ICONSTOP | MB_OK);
}
}
}
More information about the gme-commit
mailing list