[Mobies-commit] [commit] r4110 - in UDM/trunk/src/Udm: . File2Code JavaAPIGen

ksmyth at redhat1.isis.vanderbilt.edu ksmyth at redhat1.isis.vanderbilt.edu
Fri Sep 28 10:19:30 CDT 2012


Author: ksmyth
Date: Fri Sep 28 10:19:29 2012
New Revision: 4110

Log:
Fix Java generation for baseclass outside namespace containing links inside namespace case (e.g. current CyPhyML)

Modified:
   UDM/trunk/src/Udm/File2Code/File2Code.cpp
   UDM/trunk/src/Udm/JavaAPIGen/ClassGen.cpp
   UDM/trunk/src/Udm/Udm.cpp

Modified: UDM/trunk/src/Udm/File2Code/File2Code.cpp
==============================================================================
--- UDM/trunk/src/Udm/File2Code/File2Code.cpp	Fri Sep 28 10:19:16 2012	(r4109)
+++ UDM/trunk/src/Udm/File2Code/File2Code.cpp	Fri Sep 28 10:19:29 2012	(r4110)
@@ -33,7 +33,7 @@
   std::ifstream in(m_infname.c_str());
   if (!in.good())
   {
-    std::string err = m_infname + std::string(" could not open.");
+    std::string err = std::string("Could not open '") + m_infname + "'";
     throw std::runtime_error(err);
   }
 

Modified: UDM/trunk/src/Udm/JavaAPIGen/ClassGen.cpp
==============================================================================
--- UDM/trunk/src/Udm/JavaAPIGen/ClassGen.cpp	Fri Sep 28 10:19:16 2012	(r4109)
+++ UDM/trunk/src/Udm/JavaAPIGen/ClassGen.cpp	Fri Sep 28 10:19:29 2012	(r4110)
@@ -84,9 +84,13 @@
 		string pck = Utils::getPackageSignature(*basesIt, m_ns_path, m_package_name);
 		pck = pck.substr(0, pck.length() - 1);
 		pck = Utils::toPackageName(pck);
+		string ns_path;
+		if (Uml::IsDerivedFrom(basesIt->GetParent().type(), Uml::Namespace::meta)) {
+			ns_path = static_cast<Uml::Namespace>(basesIt->parent_ns()).getPath2("::", false);
+		}
 		std::stringstream ioutput; // The method declarations for the interface will be in a base interface, so we ignore them
 
-		CG<stringstream> cg(*basesIt, pck, m_output, ioutput, basesIt->name(), m_ns_path);
+		CG<stringstream> cg(*basesIt, pck, m_output, ioutput, basesIt->name(), ns_path);
 		m_output << " // Methods for " << basesIt->name() << endl;
 		cg.accessChildren();
 		cg.accessAttributes();

Modified: UDM/trunk/src/Udm/Udm.cpp
==============================================================================
--- UDM/trunk/src/Udm/Udm.cpp	Fri Sep 28 10:19:16 2012	(r4109)
+++ UDM/trunk/src/Udm/Udm.cpp	Fri Sep 28 10:19:29 2012	(r4110)
@@ -459,6 +459,11 @@
 		return(-1);
 
 	}
+	catch(const std::exception &e)
+	{
+		cerr << "Exception: " << e.what() << endl;
+		return(-2);
+	}
 	
 	//just use the UdmDom::
 	UdmDom::Dummy_For_Linker++;


More information about the Mobies-commit mailing list