Repository: reef Updated Branches: refs/heads/master 2f152db51 -> 848cf9298
[REEF-986] Switch all InterOp calls to call public get methods in Java instead of referencing private fields JIRA: [REEF-986](https://issues.apache.org/jira/browse/REEF-986) Pull request: This closes #669 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/848cf929 Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/848cf929 Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/848cf929 Branch: refs/heads/master Commit: 848cf92980c2e0cc8942551a3228176a1afaed94 Parents: 2f152db Author: Andrew Chung <[email protected]> Authored: Fri Nov 20 16:46:34 2015 -0800 Committer: Dongjoon Hyun <[email protected]> Committed: Wed Dec 2 21:31:35 2015 +0900 ---------------------------------------------------------------------- .../ActiveContextClr2Java.cpp | 10 +--- .../AllocatedEvaluatorClr2Java.cpp | 7 +-- .../ClosedContextClr2Java.cpp | 36 ++++++------ lang/cs/Org.Apache.REEF.Bridge/Clr2JavaImpl.h | 16 +++++- .../Org.Apache.REEF.Bridge/CommonUtilities.cpp | 60 ++++++++++---------- .../CompletedEvaluatorClr2Java.cpp | 3 +- .../CompletedTaskClr2Java.cpp | 8 +-- .../ContextMessageClr2Java.cpp | 11 ++-- .../DriverRestartCompletedClr2Java.cpp | 4 +- .../DriverRestartedClr2Java.cpp | 8 +-- .../FailedContextClr2Java.cpp | 14 ++--- .../FailedEvaluatorClr2Java.cpp | 7 +-- .../FailedTaskClr2Java.cpp | 4 +- .../RunningTaskClr2Java.cpp | 8 +-- .../SuspendedTaskClr2Java.cpp | 7 +-- .../TaskMessageClr2Java.cpp | 3 +- .../reef/javabridge/ActiveContextBridge.java | 14 +++++ .../javabridge/AllocatedEvaluatorBridge.java | 7 +++ .../reef/javabridge/CompletedTaskBridge.java | 8 +++ .../reef/javabridge/DriverRestartedBridge.java | 1 - .../reef/javabridge/FailedContextBridge.java | 7 +++ .../reef/javabridge/FailedEvaluatorBridge.java | 12 +++- .../reef/javabridge/FailedTaskBridge.java | 4 ++ .../reef/javabridge/RunningTaskBridge.java | 16 ++++-- .../reef/javabridge/TaskMessageBridge.java | 8 ++- .../generic/DriverRestartCompletedBridge.java | 4 +- 26 files changed, 172 insertions(+), 115 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/ActiveContextClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/ActiveContextClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/ActiveContextClr2Java.cpp index 605e01c..84f82e0 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/ActiveContextClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/ActiveContextClr2Java.cpp @@ -39,13 +39,9 @@ namespace Org { _jobjectActiveContext = reinterpret_cast<jobject>(env->NewGlobalRef(jobjectActiveContext)); jclass jclassActiveContext = env->GetObjectClass(_jobjectActiveContext); - - jfieldID jidContextId = env->GetFieldID(jclassActiveContext, "contextId", "Ljava/lang/String;"); - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectActiveContext, jidContextId))); - - jfieldID jidEvaluatorId = env->GetFieldID(jclassActiveContext, "evaluatorId", "Ljava/lang/String;"); - _jstringEvaluatorId = (jstring)env->GetObjectField(_jobjectActiveContext, jidEvaluatorId); - _jstringEvaluatorId = reinterpret_cast<jstring>(env->NewGlobalRef(_jstringEvaluatorId)); + jmethodID jmidGetContextId = env->GetMethodID(jclassActiveContext, "getContextId", "()Ljava/lang/String;"); + _jstringId = CommonUtilities::CallGetMethodNewGlobalRef<jstring>(env, _jobjectActiveContext, jmidGetContextId); + _jstringEvaluatorId = CommonUtilities::GetJObjectEvaluatorId(env, _jobjectActiveContext, jclassActiveContext); ManagedLog::LOGGER->LogStop("ActiveContextClr2Java::ActiveContextClr2Java"); } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/AllocatedEvaluatorClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/AllocatedEvaluatorClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/AllocatedEvaluatorClr2Java.cpp index 4dabd96..b23fb43 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/AllocatedEvaluatorClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/AllocatedEvaluatorClr2Java.cpp @@ -42,11 +42,10 @@ namespace Org { _jobjectAllocatedEvaluator = reinterpret_cast<jobject>(env->NewGlobalRef(jallocatedEvaluator)); jclass jclassAllocatedEvaluator = env->GetObjectClass(_jobjectAllocatedEvaluator); - jfieldID jidEvaluatorId = env->GetFieldID(jclassAllocatedEvaluator, "evaluatorId", "Ljava/lang/String;"); - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectAllocatedEvaluator, jidEvaluatorId))); + _jstringId = CommonUtilities::GetJObjectId(env, _jobjectAllocatedEvaluator, jclassAllocatedEvaluator); - jfieldID jidNameServerInfo = env->GetFieldID(jclassAllocatedEvaluator, "nameServerInfo", "Ljava/lang/String;"); - _jstringNameServerInfo = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectAllocatedEvaluator, jidNameServerInfo))); + jmethodID jmidGetNameServerInfo = env->GetMethodID(jclassAllocatedEvaluator, "getNameServerInfo", "()Ljava/lang/String;"); + _jstringNameServerInfo = CommonUtilities::CallGetMethodNewGlobalRef<jstring>(env, _jobjectAllocatedEvaluator, jmidGetNameServerInfo); ManagedLog::LOGGER->LogStop("AllocatedEvaluatorClr2Java::AllocatedEvaluatorClr2Java"); } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/ClosedContextClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/ClosedContextClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/ClosedContextClr2Java.cpp index b1ea160..70f6ca2 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/ClosedContextClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/ClosedContextClr2Java.cpp @@ -40,38 +40,36 @@ namespace Org { _jobjectClosedContext = reinterpret_cast<jobject>(env->NewGlobalRef(jobjectClosedContext)); jclass jclassClosedContext = env->GetObjectClass(_jobjectClosedContext); - // Gets the Java fields in order to get the field values from the actual Java objects of the field. - // TODO[JIRA REEF-986]: Switch to get method call. - jfieldID jidContextId = env->GetFieldID(jclassClosedContext, "contextId", "Ljava/lang/String;"); - jfieldID jidEvaluatorId = env->GetFieldID(jclassClosedContext, "evaluatorId", "Ljava/lang/String;"); - // Gets the Context ID and Evaluator ID of the closed context from the Java closed context object. - _jstringContextId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectClosedContext, jidContextId))); - _jstringEvaluatorId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectClosedContext, jidEvaluatorId))); + _jstringContextId = CommonUtilities::GetJObjectId(env, _jobjectClosedContext, jclassClosedContext); + _jstringEvaluatorId = CommonUtilities::GetJObjectEvaluatorId(env, _jobjectClosedContext, jclassClosedContext); ManagedLog::LOGGER->LogStop("ClosedContextClr2Java::ClosedContextClr2Java"); } /** - Gets the Parent context of the closed context through a JNI call to Java. - */ + * Gets the Parent context of the closed context through a JNI call to Java. + */ IActiveContextClr2Java^ ClosedContextClr2Java::GetParentContext() { ManagedLog::LOGGER->LogStart("ClosedContextClr2Java::GetParentContext"); JNIEnv *env = RetrieveEnv(_jvm); - - // TODO[JIRA REEF-986]: Switch to get method call. jclass jclassClosedContext = env->GetObjectClass(_jobjectClosedContext); - jfieldID jidParentContext = env->GetFieldID(jclassClosedContext, "parentContext", "Lorg/apache/reef/javabridge/ActiveContextBridge;"); - jobject jobjectParentContext = env->GetObjectField(_jobjectClosedContext, jidParentContext); + jmethodID jmidGetParentContext = env->GetMethodID(jclassClosedContext, "getParentContext", "()Lorg/apache/reef/javabridge/ActiveContextBridge;"); + if (jmidGetParentContext == NULL) { + ManagedLog::LOGGER->Log("jmidGetParentContext is NULL"); + return nullptr; + } + + jobject jobjectParentContext = CommonUtilities::CallGetMethodNewGlobalRef<jobject>(env, _jobjectClosedContext, jmidGetParentContext); ManagedLog::LOGGER->LogStop("ClosedContextClr2Java::GetParentContext"); return gcnew ActiveContextClr2Java(env, jobjectParentContext); } /** - Gets the ID of the closed context from Java. - */ + * Gets the ID of the closed context from Java. + */ String^ ClosedContextClr2Java::GetId() { ManagedLog::LOGGER->Log("ClosedContextClr2Java::GetId"); JNIEnv *env = RetrieveEnv(_jvm); @@ -79,8 +77,8 @@ namespace Org { } /** - Gets the Evaluator ID of the Evaluator on which the Closed Context was active. - */ + * Gets the Evaluator ID of the Evaluator on which the Closed Context was active. + */ String^ ClosedContextClr2Java::GetEvaluatorId() { ManagedLog::LOGGER->Log("ClosedContextClr2Java::GetEvaluatorId"); JNIEnv *env = RetrieveEnv(_jvm); @@ -88,8 +86,8 @@ namespace Org { } /** - Gets the EvaluatorDescriptor of the Evaluator on which the Closed Context was active. - */ + * Gets the EvaluatorDescriptor of the Evaluator on which the Closed Context was active. + */ IEvaluatorDescriptor^ ClosedContextClr2Java::GetEvaluatorDescriptor() { ManagedLog::LOGGER->LogStart("ClosedContextClr2Java::GetEvaluatorDescriptor"); return CommonUtilities::RetrieveEvaluatorDescriptor(_jobjectClosedContext, _jvm); http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/Clr2JavaImpl.h ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/Clr2JavaImpl.h b/lang/cs/Org.Apache.REEF.Bridge/Clr2JavaImpl.h index aa3a0e3..b4bdf69 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/Clr2JavaImpl.h +++ b/lang/cs/Org.Apache.REEF.Bridge/Clr2JavaImpl.h @@ -39,6 +39,19 @@ namespace Org { public ref class CommonUtilities { public: static IEvaluatorDescriptor^ RetrieveEvaluatorDescriptor(jobject object, JavaVM* jvm); + template<typename T> static T CallGetMethodNewGlobalRef(JNIEnv* env, jobject obj, jmethodID jmid) { + return reinterpret_cast<T>(env->NewGlobalRef(env->CallObjectMethod(obj, jmid))); + } + + static jstring GetJObjectId(JNIEnv* env, jobject obj, jclass javaClass) { + jmethodID jmid = env->GetMethodID(javaClass, "getId", "()Ljava/lang/String;"); + return CommonUtilities::CallGetMethodNewGlobalRef<jstring>(env, obj, jmid); + }; + + static jstring GetJObjectEvaluatorId(JNIEnv* env, jobject obj, jclass javaClass) { + jmethodID jmid = env->GetMethodID(javaClass, "getEvaluatorId", "()Ljava/lang/String;"); + return CommonUtilities::CallGetMethodNewGlobalRef<jstring>(env, obj, jmid); + }; }; public ref class AllocatedEvaluatorClr2Java : public IAllocatedEvaluaotrClr2Java { @@ -174,9 +187,6 @@ namespace Org { virtual String^ GetId(); }; - /** - See IClosedContextClr2Java. - */ public ref class ClosedContextClr2Java : public IClosedContextClr2Java { jobject _jobjectClosedContext; JavaVM* _jvm; http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/CommonUtilities.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/CommonUtilities.cpp b/lang/cs/Org.Apache.REEF.Bridge/CommonUtilities.cpp index 5de6e75..6dfc7b5 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/CommonUtilities.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/CommonUtilities.cpp @@ -19,37 +19,37 @@ #include "Clr2JavaImpl.h" namespace Org { - namespace Apache { - namespace REEF { - namespace Driver { - namespace Bridge { - namespace Clr2java { - ref class ManagedLog { - internal: - static BridgeLogger^ LOGGER = BridgeLogger::GetLogger("<C++>CommonUtilities"); - }; + namespace Apache { + namespace REEF { + namespace Driver { + namespace Bridge { + namespace Clr2java { + ref class ManagedLog { + internal: + static BridgeLogger^ LOGGER = BridgeLogger::GetLogger("<C++>CommonUtilities"); + }; - IEvaluatorDescriptor^ CommonUtilities::RetrieveEvaluatorDescriptor(jobject object, JavaVM* jvm) { - ManagedLog::LOGGER->LogStart("CommonUtilities::GetEvaluatorDescriptor"); - JNIEnv *env = RetrieveEnv(jvm); - jclass jclassActiveContext = env->GetObjectClass(object); - jmethodID jmidGetEvaluatorDescriptor = env->GetMethodID(jclassActiveContext, "getEvaluatorDescriptorSring", "()Ljava/lang/String;"); + IEvaluatorDescriptor^ CommonUtilities::RetrieveEvaluatorDescriptor(jobject object, JavaVM* jvm) { + ManagedLog::LOGGER->LogStart("CommonUtilities::GetEvaluatorDescriptor"); + JNIEnv *env = RetrieveEnv(jvm); + jclass jclassActiveContext = env->GetObjectClass(object); + jmethodID jmidGetEvaluatorDescriptor = env->GetMethodID(jclassActiveContext, "getEvaluatorDescriptorSring", "()Ljava/lang/String;"); - if (jmidGetEvaluatorDescriptor == NULL) { - ManagedLog::LOGGER->Log("jmidGetEvaluatorDescriptor is NULL"); - return nullptr; - } - jstring jevaluatorDescriptorString = (jstring)env->CallObjectMethod( - object, - jmidGetEvaluatorDescriptor); - String^ evaluatorDescriptorString = ManagedStringFromJavaString(env, jevaluatorDescriptorString); - ManagedLog::LOGGER->LogStop("InteropUtil::GetEvaluatorDescriptor"); + if (jmidGetEvaluatorDescriptor == NULL) { + ManagedLog::LOGGER->Log("jmidGetEvaluatorDescriptor is NULL"); + return nullptr; + } + jstring jevaluatorDescriptorString = (jstring)env->CallObjectMethod( + object, + jmidGetEvaluatorDescriptor); + String^ evaluatorDescriptorString = ManagedStringFromJavaString(env, jevaluatorDescriptorString); + ManagedLog::LOGGER->LogStop("InteropUtil::GetEvaluatorDescriptor"); - return gcnew EvaluatorDescriptorImpl(evaluatorDescriptorString); - } - } - } - } - } - } + return gcnew EvaluatorDescriptorImpl(evaluatorDescriptorString); + } + } + } + } + } + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/CompletedEvaluatorClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/CompletedEvaluatorClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/CompletedEvaluatorClr2Java.cpp index c961881..6c09826 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/CompletedEvaluatorClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/CompletedEvaluatorClr2Java.cpp @@ -38,8 +38,7 @@ namespace Org { _jobjectCompletedEvaluator = reinterpret_cast<jobject>(env->NewGlobalRef(jCompletedEvaluator)); jclass jclassCompletedEvaluator = env->GetObjectClass(_jobjectCompletedEvaluator); - jfieldID jidEvaluatorId = env->GetFieldID(jclassCompletedEvaluator, "evaluatorId", "Ljava/lang/String;"); - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectCompletedEvaluator, jidEvaluatorId))); + _jstringId = CommonUtilities::GetJObjectId(env, _jobjectCompletedEvaluator, jclassCompletedEvaluator); ManagedLog::LOGGER->LogStop("CompletedEvaluatorClr2Java::CompletedEvaluatorClr2Java"); } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/CompletedTaskClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/CompletedTaskClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/CompletedTaskClr2Java.cpp index 18e088d..50f1b42 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/CompletedTaskClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/CompletedTaskClr2Java.cpp @@ -38,8 +38,8 @@ namespace Org { _jobjectCompletedTask = reinterpret_cast<jobject>(env->NewGlobalRef(jobjectCompletedTask)); jclass jclassCompletedTask = env->GetObjectClass(_jobjectCompletedTask); - jfieldID jidTaskId = env->GetFieldID(jclassCompletedTask, "taskId", "Ljava/lang/String;"); - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectCompletedTask, jidTaskId))); + jmethodID jmidGetTaskId = env->GetMethodID(jclassCompletedTask, "getTaskId", "()Ljava/lang/String;"); + _jstringId = CommonUtilities::CallGetMethodNewGlobalRef<jstring>(env, _jobjectCompletedTask, jmidGetTaskId); ManagedLog::LOGGER->LogStop("CompletedTaskClr2Java::CompletedTaskClr2Java"); } @@ -54,8 +54,8 @@ namespace Org { JNIEnv *env = RetrieveEnv(_jvm); jclass jclassCompletedTask = env->GetObjectClass(_jobjectCompletedTask); - jfieldID jidActiveContext = env->GetFieldID(jclassCompletedTask, "jactiveContext", "Lorg/apache/reef/javabridge/ActiveContextBridge;"); - jobject jobjectActiveContext = env->GetObjectField(_jobjectCompletedTask, jidActiveContext); + jmethodID jmidGetActiveContext = env->GetMethodID(jclassCompletedTask, "getActiveContext", "()Lorg/apache/reef/javabridge/ActiveContextBridge;"); + jobject jobjectActiveContext = env->CallObjectMethod(_jobjectCompletedTask, jmidGetActiveContext); ManagedLog::LOGGER->LogStop("CompletedTaskClr2Java::GetActiveContext"); return gcnew ActiveContextClr2Java(env, jobjectActiveContext); } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/ContextMessageClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/ContextMessageClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/ContextMessageClr2Java.cpp index c385e46..18ff378 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/ContextMessageClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/ContextMessageClr2Java.cpp @@ -38,13 +38,12 @@ namespace Org { _jobjectContextMessage = reinterpret_cast<jobject>(env->NewGlobalRef(jobjectContextMessage)); jclass jclassContextMessage = env->GetObjectClass(_jobjectContextMessage); - jfieldID jidId = env->GetFieldID(jclassContextMessage, "contextMessageId", "Ljava/lang/String;"); - jfieldID jidSourceId = env->GetFieldID(jclassContextMessage, "messageSourceId", "Ljava/lang/String;"); - jfieldID jidMessage = env->GetFieldID(jclassContextMessage, "message", "()[B"); + jmethodID jmidGetSourceId = env->GetMethodID(jclassContextMessage, "getMessageSourceId", "()Ljava/lang/String;"); + jmethodID jmidGetMessage = env->GetMethodID(jclassContextMessage, "get", "()[B"); - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectContextMessage, jidId))); - _jstringSourceId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectContextMessage, jidSourceId))); - _jarrayMessage = reinterpret_cast<jbyteArray>(env->NewGlobalRef(env->GetObjectField(_jobjectContextMessage, jidMessage))); + _jstringId = CommonUtilities::GetJObjectId(env, _jobjectContextMessage, jclassContextMessage); + _jstringSourceId = CommonUtilities::CallGetMethodNewGlobalRef<jstring>(env, _jobjectContextMessage, jmidGetSourceId); + _jarrayMessage = CommonUtilities::CallGetMethodNewGlobalRef<jbyteArray>(env, _jobjectContextMessage, jmidGetMessage); ManagedLog::LOGGER->LogStop("ContextMessageClr2Java::ContextMessageClr2Java"); } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/DriverRestartCompletedClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/DriverRestartCompletedClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/DriverRestartCompletedClr2Java.cpp index f462a73..1e9a521 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/DriverRestartCompletedClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/DriverRestartCompletedClr2Java.cpp @@ -38,9 +38,9 @@ namespace Org { _jobjectDriverRestartCompleted = reinterpret_cast<jobject>(env->NewGlobalRef(jdriverRestartCompleted)); jclass jclassDriverRestartCompleted = env->GetObjectClass(_jobjectDriverRestartCompleted); - jfieldID jidIsTimedOut = env->GetFieldID(jclassDriverRestartCompleted, "isTimedOut", "Z"); + jmethodID jmidIsTimedOut = env->GetMethodID(jclassDriverRestartCompleted, "isTimedOut", "()Z"); - jboolean jisTimedOut = env->GetBooleanField(_jobjectDriverRestartCompleted, jidIsTimedOut); + jboolean jisTimedOut = env->CallBooleanMethod(_jobjectDriverRestartCompleted, jmidIsTimedOut); _restartCompletedTime = System::DateTime::Now; _isTimedOut = ClrBoolFromJavaBoolean(env, jisTimedOut); http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/DriverRestartedClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/DriverRestartedClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/DriverRestartedClr2Java.cpp index 05b6af2..efb30d9 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/DriverRestartedClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/DriverRestartedClr2Java.cpp @@ -38,11 +38,11 @@ namespace Org { _jobjectDriverRestarted = reinterpret_cast<jobject>(env->NewGlobalRef(jdriverRestarted)); jclass jclassDriverRestarted = env->GetObjectClass(_jobjectDriverRestarted); - jfieldID jidExpectedEvaluatorIds = env->GetFieldID(jclassDriverRestarted, "expectedEvaluatorIds", "[Ljava/lang/String;"); - jfieldID jidResubmissionAttempts = env->GetFieldID(jclassDriverRestarted, "resubmissionAttempts", "I"); + jmethodID jmidGetExpectedEvaluatorIds = env->GetMethodID(jclassDriverRestarted, "getExpectedEvaluatorIds", "()[Ljava/lang/String;"); + jmethodID jmidGetResubmissionAttempts = env->GetMethodID(jclassDriverRestarted, "getResubmissionAttempts", "()I"); - _resubmissionAttempts = env->GetIntField(_jobjectDriverRestarted, jidResubmissionAttempts); - jobjectArray jevaluatorIds = reinterpret_cast<jobjectArray>(env->NewGlobalRef(env->GetObjectField(_jobjectDriverRestarted, jidExpectedEvaluatorIds))); + _resubmissionAttempts = env->CallIntMethod(_jobjectDriverRestarted, jmidGetResubmissionAttempts); + jobjectArray jevaluatorIds = CommonUtilities::CallGetMethodNewGlobalRef<jobjectArray>(env, _jobjectDriverRestarted, jmidGetExpectedEvaluatorIds); _startTime = System::DateTime::Now; int count = env->GetArrayLength(jevaluatorIds); _expectedEvaluatorIds = gcnew array<String^>(count); http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/FailedContextClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/FailedContextClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/FailedContextClr2Java.cpp index 5a96202..9b26bbb 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/FailedContextClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/FailedContextClr2Java.cpp @@ -38,13 +38,11 @@ namespace Org { _jobjectFailedContext = reinterpret_cast<jobject>(env->NewGlobalRef(jobjectFailedContext)); jclass jclassFailedContext = env->GetObjectClass(_jobjectFailedContext); - jfieldID jidContextId = env->GetFieldID(jclassFailedContext, "contextId", "Ljava/lang/String;"); - jfieldID jidEvaluatorId = env->GetFieldID(jclassFailedContext, "evaluatorId", "Ljava/lang/String;"); - jfieldID jidParentId = env->GetFieldID(jclassFailedContext, "parentContextId", "Ljava/lang/String;"); + jmethodID jmidGetParentId = env->GetMethodID(jclassFailedContext, "getParentId", "()Ljava/lang/String;"); - _jstringContextId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectFailedContext, jidContextId))); - _jstringEvaluatorId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectFailedContext, jidEvaluatorId))); - _jstringParentContextId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectFailedContext, jidParentId))); + _jstringContextId = CommonUtilities::GetJObjectId(env, jobjectFailedContext, jclassFailedContext); + _jstringEvaluatorId = CommonUtilities::GetJObjectEvaluatorId(env, jobjectFailedContext, jclassFailedContext); + _jstringParentContextId = reinterpret_cast<jstring>(env->NewGlobalRef(env->CallObjectMethod(_jobjectFailedContext, jmidGetParentId))); ManagedLog::LOGGER->LogStop("FailedContextClr2Java::FailedContextClr2Java"); } @@ -55,8 +53,8 @@ namespace Org { JNIEnv *env = RetrieveEnv(_jvm); jclass jclassFailedContext = env->GetObjectClass(_jobjectFailedContext); - jfieldID jidParentContext = env->GetFieldID(jclassFailedContext, "parentContext", "Lorg/apache/reef/javabridge/ActiveContextBridge;"); - jobject jobjectParentContext = env->GetObjectField(_jobjectFailedContext, jidParentContext); + jmethodID jmidGetParentContext = env->GetMethodID(jclassFailedContext, "getParentContext", "()Lorg/apache/reef/javabridge/ActiveContextBridge;"); + jobject jobjectParentContext = env->CallObjectMethod(_jobjectFailedContext, jmidGetParentContext); ManagedLog::LOGGER->LogStop("FailedContextClr2Java::GetParentContext"); return gcnew ActiveContextClr2Java(env, jobjectParentContext); http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/FailedEvaluatorClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/FailedEvaluatorClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/FailedEvaluatorClr2Java.cpp index 615e09f..afccbbe 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/FailedEvaluatorClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/FailedEvaluatorClr2Java.cpp @@ -40,8 +40,7 @@ namespace Org { _jobjectFailedEvaluator = reinterpret_cast<jobject>(env->NewGlobalRef(jobjectFailedEvaluator)); jclass jclassFailedEvaluator = env->GetObjectClass(_jobjectFailedEvaluator); - jfieldID jidEvaluatorId = env->GetFieldID(jclassFailedEvaluator, "evaluatorId", "Ljava/lang/String;"); - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectFailedEvaluator, jidEvaluatorId))); + _jstringId = CommonUtilities::GetJObjectId(env, _jobjectFailedEvaluator, jclassFailedEvaluator); ManagedLog::LOGGER->LogStop("FailedEvaluatorClr2Java::FailedEvaluatorClr2Java"); } @@ -50,8 +49,8 @@ namespace Org { JNIEnv *env = RetrieveEnv(_jvm); jclass jclassFailedEvaluator = env->GetObjectClass(_jobjectFailedEvaluator); - jfieldID jidEvaluatorRequestor = env->GetFieldID(jclassFailedEvaluator, "evaluatorRequestorBridge", "Lorg/apache/reef/javabridge/EvaluatorRequestorBridge;"); - jobject jobjectEvaluatorRequestor = env->GetObjectField(_jobjectFailedEvaluator, jidEvaluatorRequestor); + jmethodID jmidGetEvaluatorRequestor = env->GetMethodID(jclassFailedEvaluator, "getEvaluatorRequestorBridge", "()Lorg/apache/reef/javabridge/EvaluatorRequestorBridge;"); + jobject jobjectEvaluatorRequestor = env->CallObjectMethod(_jobjectFailedEvaluator, jmidGetEvaluatorRequestor); ManagedLog::LOGGER->LogStop("FailedEvaluatorClr2Java::GetEvaluatorRequestor"); return gcnew EvaluatorRequestorClr2Java(env, jobjectEvaluatorRequestor); } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/FailedTaskClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/FailedTaskClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/FailedTaskClr2Java.cpp index b27b13d..b6e2be2 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/FailedTaskClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/FailedTaskClr2Java.cpp @@ -45,8 +45,8 @@ namespace Org { JNIEnv *env = RetrieveEnv(_jvm); jclass jclassFailedTask = env->GetObjectClass(_jobjectFailedTask); - jfieldID jidActiveContext = env->GetFieldID(jclassFailedTask, "jactiveContext", "Lorg/apache/reef/javabridge/ActiveContextBridge;"); - jobject jobjectActiveContext = env->GetObjectField(_jobjectFailedTask, jidActiveContext); + jmethodID jmidGetActiveContext = env->GetMethodID(jclassFailedTask, "getActiveContext", "()Lorg/apache/reef/javabridge/ActiveContextBridge;"); + jobject jobjectActiveContext = env->CallObjectMethod(_jobjectFailedTask, jmidGetActiveContext); ManagedLog::LOGGER->LogStop("FailedTaskClr2Java::GetActiveContext"); return gcnew ActiveContextClr2Java(env, jobjectActiveContext); http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/RunningTaskClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/RunningTaskClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/RunningTaskClr2Java.cpp index dfc8ae3..362715b 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/RunningTaskClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/RunningTaskClr2Java.cpp @@ -38,9 +38,7 @@ namespace Org { _jobjectRunningTask = reinterpret_cast<jobject>(env->NewGlobalRef(jobjectRunningTask)); jclass jclassRunningTask = env->GetObjectClass(_jobjectRunningTask); - jmethodID jmidGetId = env->GetMethodID(jclassRunningTask, "getId", "()Ljava/lang/String;"); - - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->CallObjectMethod(_jobjectRunningTask, jmidGetId))); + _jstringId = CommonUtilities::GetJObjectId(env, _jobjectRunningTask, jclassRunningTask); ManagedLog::LOGGER->LogStop("RunningTaskClr2Java::RunningTaskClr2Java"); } @@ -50,8 +48,8 @@ namespace Org { JNIEnv *env = RetrieveEnv(_jvm); jclass jclassRunningTask = env->GetObjectClass(_jobjectRunningTask); - jfieldID jidActiveContext = env->GetFieldID(jclassRunningTask, "jactiveContext", "Lorg/apache/reef/javabridge/ActiveContextBridge;"); - jobject jobjectActiveContext = env->GetObjectField(_jobjectRunningTask, jidActiveContext); + jmethodID jmidGetActiveContext = env->GetMethodID(jclassRunningTask, "getActiveContext", "()Lorg/apache/reef/javabridge/ActiveContextBridge;"); + jobject jobjectActiveContext = env->CallObjectMethod(_jobjectRunningTask, jmidGetActiveContext); ManagedLog::LOGGER->LogStop("RunningTaskClr2Java::GetActiveContext"); return gcnew ActiveContextClr2Java(env, jobjectActiveContext); http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/SuspendedTaskClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/SuspendedTaskClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/SuspendedTaskClr2Java.cpp index e052d24..059b594 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/SuspendedTaskClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/SuspendedTaskClr2Java.cpp @@ -38,8 +38,7 @@ namespace Org { _jobjectSuspendedTask = reinterpret_cast<jobject>(env->NewGlobalRef(jobjectSuspendedTask)); jclass jclassSuspendedTask = env->GetObjectClass(_jobjectSuspendedTask); - jfieldID jidTaskId = env->GetFieldID(jclassSuspendedTask, "taskId", "Ljava/lang/String;"); - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectSuspendedTask, jidTaskId))); + _jstringId = CommonUtilities::GetJObjectId(env, _jobjectSuspendedTask, jclassSuspendedTask); ManagedLog::LOGGER->LogStop("SuspendedTaskClr2Java::SuspendedTaskClr2Java"); } @@ -48,8 +47,8 @@ namespace Org { JNIEnv *env = RetrieveEnv(_jvm); jclass jclassSuspendedTask = env->GetObjectClass(_jobjectSuspendedTask); - jfieldID jidActiveContext = env->GetFieldID(jclassSuspendedTask, "jactiveContext", "Lorg/apache/reef/javabridge/ActiveContextBridge;"); - jobject jobjectActiveContext = env->GetObjectField(_jobjectSuspendedTask, jidActiveContext); + jmethodID jmidGetActiveContext = env->GetMethodID(jclassSuspendedTask, "getActiveContext", "()Lorg/apache/reef/javabridge/ActiveContextBridge;"); + jobject jobjectActiveContext = env->CallObjectMethod(_jobjectSuspendedTask, jmidGetActiveContext); ManagedLog::LOGGER->LogStop("SuspendedTaskClr2Java::GetActiveContext"); return gcnew ActiveContextClr2Java(env, jobjectActiveContext); } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/cs/Org.Apache.REEF.Bridge/TaskMessageClr2Java.cpp ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Bridge/TaskMessageClr2Java.cpp b/lang/cs/Org.Apache.REEF.Bridge/TaskMessageClr2Java.cpp index 1ee79e9..1fa3cec 100644 --- a/lang/cs/Org.Apache.REEF.Bridge/TaskMessageClr2Java.cpp +++ b/lang/cs/Org.Apache.REEF.Bridge/TaskMessageClr2Java.cpp @@ -38,8 +38,7 @@ namespace Org { _jobjectTaskMessage = reinterpret_cast<jobject>(env->NewGlobalRef(jtaskMessage)); jclass jclassTaskMessage = env->GetObjectClass(_jobjectTaskMessage); - jfieldID jidTaskId = env->GetFieldID(jclassTaskMessage, "taskId", "Ljava/lang/String;"); - _jstringId = reinterpret_cast<jstring>(env->NewGlobalRef(env->GetObjectField(_jobjectTaskMessage, jidTaskId))); + _jstringId = CommonUtilities::GetJObjectId(env, _jobjectTaskMessage, jclassTaskMessage); ManagedLog::LOGGER->LogStop("TaskMessageClr2Java::TaskMessageClr2Java"); } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java index 9558547..7d068f8 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java @@ -47,6 +47,20 @@ public final class ActiveContextBridge extends NativeBridge implements Identifia this.evaluatorId = activeContext.getEvaluatorId(); } + /** + * @return the context ID. + */ + public String getContextId() { + return contextId; + } + + /** + * @return the Evaluator ID of the Evaluator on which the Context runs. + */ + public String getEvaluatorId() { + return evaluatorId; + } + public void submitTaskString(final String taskConfigurationString) { if (taskConfigurationString.isEmpty()) { throw new RuntimeException("empty taskConfigurationString provided."); http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java index 9ac01f5..d7281f1 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/AllocatedEvaluatorBridge.java @@ -147,6 +147,13 @@ public final class AllocatedEvaluatorBridge extends NativeBridge implements Iden } /** + * @return the nameServerInfo string. + */ + public String getNameServerInfo() { + return nameServerInfo; + } + + /** * @return the evaluator id. */ @Override http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java index c0578a8..ee1493a 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedTaskBridge.java @@ -45,6 +45,14 @@ public final class CompletedTaskBridge extends NativeBridge implements Message { jactiveContext = factory.getActiveContextBridge(completedTask.getActiveContext()); } + public String getTaskId() { + return taskId; + } + + public ActiveContextBridge getActiveContext() { + return jactiveContext; + } + @Override public void close() { } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/DriverRestartedBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/DriverRestartedBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/DriverRestartedBridge.java index 7bdc526..19a8079 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/DriverRestartedBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/DriverRestartedBridge.java @@ -36,7 +36,6 @@ import java.util.Set; CppFiles = { "Clr2JavaImpl.h", "DriverRestartedClr2Java.cpp" }, CsFiles = { "IDriverRestartedClr2Java.cs", "DriverRestarted.cs" }) public final class DriverRestartedBridge extends NativeBridge { - // Used by bridge to extract field. Please take this into consideration when changing the name of the field. private final String[] expectedEvaluatorIds; private final int resubmissionAttempts; http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java index e607a7a..f17caf3 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedContextBridge.java @@ -87,6 +87,13 @@ public final class FailedContextBridge extends NativeBridge implements ContextBa return evaluatorDescriptor; } + /** + * @return the parent {@link ActiveContextBridge}. + */ + public ActiveContextBridge getParentContext() { + return parentContext; + } + public String getEvaluatorDescriptorSring() { final String descriptorString = Utilities.getEvaluatorDescriptorString(evaluatorDescriptor); LOG.log(Level.INFO, "Failed Context - serialized evaluator descriptor: " + descriptorString); http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java index 778964f..22b8491 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedEvaluatorBridge.java @@ -22,6 +22,7 @@ import org.apache.reef.annotations.audience.Interop; import org.apache.reef.annotations.audience.Private; import org.apache.reef.driver.evaluator.EvaluatorRequestor; import org.apache.reef.driver.evaluator.FailedEvaluator; +import org.apache.reef.io.naming.Identifiable; import org.apache.reef.util.logging.LoggingScopeFactory; import java.util.logging.Logger; @@ -31,7 +32,7 @@ import java.util.logging.Logger; */ @Private @Interop(CppFiles = { "FailedEvaluatorClr2Java.cpp" }, CsFiles = { "IFailedEvaluatorClr2Java", "FailedEvaluator" }) -public final class FailedEvaluatorBridge extends NativeBridge { +public final class FailedEvaluatorBridge extends NativeBridge implements Identifiable { private static final Logger LOG = Logger.getLogger(FailedEvaluatorBridge.class.getName()); private FailedEvaluator jfailedEvaluator; private EvaluatorRequestorBridge evaluatorRequestorBridge; @@ -51,8 +52,17 @@ public final class FailedEvaluatorBridge extends NativeBridge { return evaluatorRequestorBridge.getEvaluatorNumber(); } + public EvaluatorRequestorBridge getEvaluatorRequestorBridge() { + return evaluatorRequestorBridge; + } + @Override public void close() { } + + @Override + public String getId() { + return evaluatorId; + } } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java index b31612a..d80d6df 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java @@ -48,6 +48,10 @@ public final class FailedTaskBridge extends NativeBridge { } } + public ActiveContextBridge getActiveContext() { + return jactiveContext; + } + public String getFailedTaskString() { final String description = jfailedTask.getDescription().isPresent() ? jfailedTask.getDescription().get().replace("=", "").replace(",", "") : ""; http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java index ed64ff9..cae86c4 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/RunningTaskBridge.java @@ -21,6 +21,7 @@ package org.apache.reef.javabridge; import org.apache.reef.annotations.audience.Interop; import org.apache.reef.annotations.audience.Private; import org.apache.reef.driver.task.RunningTask; +import org.apache.reef.io.naming.Identifiable; import java.util.logging.Logger; @@ -31,7 +32,7 @@ import java.util.logging.Logger; @Interop( CppFiles = { "Clr2JavaImpl.h", "RunningTaskClr2Java.cpp" }, CsFiles = { "IRunningTaskClr2Java.cs", "RunningTask.cs" }) -public final class RunningTaskBridge extends NativeBridge { +public final class RunningTaskBridge extends NativeBridge implements Identifiable { private static final Logger LOG = Logger.getLogger(RunningTaskBridge.class.getName()); private final RunningTask jrunningTask; @@ -42,14 +43,19 @@ public final class RunningTaskBridge extends NativeBridge { this.jactiveContext = factory.getActiveContextBridge(runningTask.getActiveContext()); } - public String getId() { - return jrunningTask.getId(); - } - public void send(final byte[] message) { jrunningTask.send(message); } + public ActiveContextBridge getActiveContext() { + return jactiveContext; + } + + @Override + public String getId() { + return jrunningTask.getId(); + } + @Override public void close() { } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java index d6b1cdb..dd688b4 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/TaskMessageBridge.java @@ -21,6 +21,7 @@ package org.apache.reef.javabridge; import org.apache.reef.annotations.audience.Interop; import org.apache.reef.annotations.audience.Private; import org.apache.reef.driver.task.TaskMessage; +import org.apache.reef.io.naming.Identifiable; /** * The Java-CLR bridge object for {@link org.apache.reef.driver.task.TaskMessage}. @@ -29,7 +30,7 @@ import org.apache.reef.driver.task.TaskMessage; @Interop( CppFiles = { "Clr2JavaImpl.h", "TaskMessageClr2Java.cpp" }, CsFiles = { "ITaskMessageClr2Java.cs", "TaskMessage.cs" }) -public final class TaskMessageBridge extends NativeBridge { +public final class TaskMessageBridge extends NativeBridge implements Identifiable { private TaskMessage jtaskMessage; private String taskId; @@ -42,4 +43,9 @@ public final class TaskMessageBridge extends NativeBridge { @Override public void close() { } + + @Override + public String getId() { + return taskId; + } } http://git-wip-us.apache.org/repos/asf/reef/blob/848cf929/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/DriverRestartCompletedBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/DriverRestartCompletedBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/DriverRestartCompletedBridge.java index 2d03735..a476ec9 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/DriverRestartCompletedBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/DriverRestartCompletedBridge.java @@ -20,6 +20,7 @@ package org.apache.reef.javabridge.generic; import org.apache.reef.annotations.Unstable; import org.apache.reef.annotations.audience.DriverSide; +import org.apache.reef.annotations.audience.Interop; import org.apache.reef.annotations.audience.Private; import org.apache.reef.driver.restart.DriverRestartCompleted; import org.apache.reef.javabridge.NativeBridge; @@ -30,8 +31,9 @@ import org.apache.reef.javabridge.NativeBridge; @Private @DriverSide @Unstable +@Interop(CppFiles = { "Clr2JavaImpl.h", "DriverRestartCompletedClr2Java.cpp" }, + CsFiles = { "IDriverRestartCompletedClr2Java.cs", "DriverRestartCompleted.cs" }) public final class DriverRestartCompletedBridge extends NativeBridge { - // Used by bridge to extract field. Please take this into consideration when changing the name of the field. private boolean isTimedOut; DriverRestartCompletedBridge(final DriverRestartCompleted driverRestartCompleted) {
