[openrtm-commit:00905] r366 - trunk/rtmtools/jp.go.aist.rtm.rtcbuilder.python/src/jp/go/aist/rtm/rtcbuilder/python/manager

openrtm @ openrtm.org openrtm @ openrtm.org
2012年 11月 5日 (月) 12:40:25 JST


Author: 
Date: 2012-11-05 12:40:24 +0900 (Mon, 05 Nov 2012)
New Revision: 366

Modified:
   trunk/rtmtools/jp.go.aist.rtm.rtcbuilder.python/src/jp/go/aist/rtm/rtcbuilder/python/manager/TemplateHelperPy.java
Log:
Modified import

Modified: trunk/rtmtools/jp.go.aist.rtm.rtcbuilder.python/src/jp/go/aist/rtm/rtcbuilder/python/manager/TemplateHelperPy.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.rtcbuilder.python/src/jp/go/aist/rtm/rtcbuilder/python/manager/TemplateHelperPy.java	2012-11-05 03:39:54 UTC (rev 365)
+++ trunk/rtmtools/jp.go.aist.rtm.rtcbuilder.python/src/jp/go/aist/rtm/rtcbuilder/python/manager/TemplateHelperPy.java	2012-11-05 03:40:24 UTC (rev 366)
@@ -99,20 +99,33 @@
 	
 	public List<String> getDataPortTypes(List<IdlFileParam> targetFiles) {
 		List<String> result = new ArrayList<String>();
+		List<String> check = new ArrayList<String>();
+		check.add("RTC");
+		check.add("OpenRTM_aist");
 		
 		for(IdlFileParam target : targetFiles) {
 			if(target.isDataPort()==false) continue;
 			String targetType = "";
 			if( target.getTargetType().contains("::") ) {
 				String[] types = target.getTargetType().split("::");
-				//TODO どこまでが必要なのか?
-				targetType = types[0];
+				StringBuilder builder = new StringBuilder();
+				for(int index=0;index<types.length-1;index++) {
+					if(index!=0) builder.append(".");
+					builder.append(types[index]);
+					targetType = builder.toString();
+					if(check.contains(targetType)==false) {
+						check.add(targetType);
+						result.add(targetType);
+					}
+				}
+				
 			} else {
 				targetType = "_GlobalIDL";
+				if(check.contains(targetType)==false) {
+					check.add(targetType);
+					result.add(targetType);
+				}
 			}
-			if(result.contains(targetType)==false) {
-				result.add(targetType);
-			}
 		}
 		return result;
 	}



More information about the openrtm-commit mailing list