[Jrisk-cvs] SF.net SVN: jrisk:[578] XcodeTranslationTool/src/net/yura/translation
Brought to you by:
yuranet
From: <yu...@us...> - 2011-11-17 17:37:57
|
Revision: 578 http://jrisk.svn.sourceforge.net/jrisk/?rev=578&view=rev Author: yuranet Date: 2011-11-17 17:37:51 +0000 (Thu, 17 Nov 2011) Log Message: ----------- more net Modified Paths: -------------- XcodeTranslationTool/src/net/yura/translation/plugins/xcode/XcodeComm.java XcodeTranslationTool/src/net/yura/translation/server/XcodeServer.java Modified: XcodeTranslationTool/src/net/yura/translation/plugins/xcode/XcodeComm.java =================================================================== --- XcodeTranslationTool/src/net/yura/translation/plugins/xcode/XcodeComm.java 2011-11-17 17:37:12 UTC (rev 577) +++ XcodeTranslationTool/src/net/yura/translation/plugins/xcode/XcodeComm.java 2011-11-17 17:37:51 UTC (rev 578) @@ -233,9 +233,12 @@ } public void setupMissingTranslation(MyNode node, Locale l) { - - String realname = node.getName(); - String name = node.getName(); + node.setWorkNeeded( getMissingTranslation(node.getName(), l) ); + } + + public boolean getMissingTranslation(final String realname,Locale l) { + + String name = realname; if (name.length() > 0) { name = name + "."; } @@ -251,11 +254,12 @@ // if we are in a language mode, check we dont have a none-matching translation (l != Project.SCREEN_LOCALE && !project.getProperty(s, null).equals(whatWasTranslated.getProperty(s))) ) ) { - node.setWorkNeeded(true); - return; + + return true; } } - node.setWorkNeeded(false); + return false; + } public PartnerNode[] getPartners() throws Exception { Modified: XcodeTranslationTool/src/net/yura/translation/server/XcodeServer.java =================================================================== --- XcodeTranslationTool/src/net/yura/translation/server/XcodeServer.java 2011-11-17 17:37:12 UTC (rev 577) +++ XcodeTranslationTool/src/net/yura/translation/server/XcodeServer.java 2011-11-17 17:37:51 UTC (rev 578) @@ -113,8 +113,7 @@ for (int c=0;c<methods.length;c++) { - // TODO: maybe do a check that the class of each arg matches - if (methods[c].getName().equals(method) && ((methods[c].getParameterTypes().length == 0 && args==null) || methods[c].getParameterTypes().length == args.length) ) { + if (methods[c].getName().equals(method) && paramMatch(methods[c].getParameterTypes(), args) ) { ss.sendObject( methods[c].invoke(comm,args) ); return; } @@ -132,6 +131,22 @@ } } + + private boolean paramMatch(Class<?>[] parameterTypes, Object[] args) { + + if (parameterTypes.length == 0 && (args==null || args.length==0)) { + return true; + } + if (parameterTypes.length != args.length) { + return false; + } + for (int c=0;c<parameterTypes.length;c++) { + if(args[c]!=null && !parameterTypes[c].isInstance( args[c] )) { + return false; + } + } + return true; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |