You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2015/11/04 02:13:33 UTC
incubator-reef git commit: [REEF-897] Interop Annotation in Java
Repository: incubator-reef
Updated Branches:
refs/heads/master 5b65c73e9 -> 70331278f
[REEF-897] Interop Annotation in Java
This addressed the issue by
* Added an Interop annotation.
* Fixed up Java classes to be final.
* Add Private annotations to Bridge Java classes.
JIRA:
[REEF-897](https://issues.apache.org/jira/browse/REEF-897)
Pull Request:
This closes #608
Project: http://git-wip-us.apache.org/repos/asf/incubator-reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-reef/commit/70331278
Tree: http://git-wip-us.apache.org/repos/asf/incubator-reef/tree/70331278
Diff: http://git-wip-us.apache.org/repos/asf/incubator-reef/diff/70331278
Branch: refs/heads/master
Commit: 70331278ff71dcba5442bb4b9e5026a536bc8238
Parents: 5b65c73
Author: Andrew Chung <af...@gmail.com>
Authored: Sun Nov 1 11:26:04 2015 -0800
Committer: Markus Weimer <we...@apache.org>
Committed: Tue Nov 3 17:11:10 2015 -0800
----------------------------------------------------------------------
.../reef/annotations/audience/Interop.java | 39 ++++++++++++++++++++
.../reef/javabridge/ActiveContextBridge.java | 6 +++
.../javabridge/AllocatedEvaluatorBridge.java | 6 +++
.../reef/javabridge/BridgeHandlerManager.java | 2 +
.../reef/javabridge/ClosedContextBridge.java | 8 +++-
.../javabridge/CompletedEvaluatorBridge.java | 8 +++-
.../reef/javabridge/CompletedTaskBridge.java | 4 ++
.../reef/javabridge/ContextMessageBridge.java | 8 +++-
.../reef/javabridge/DriverRestartedBridge.java | 4 ++
.../javabridge/EvaluatorRequestorBridge.java | 6 +++
.../reef/javabridge/FailedContextBridge.java | 6 +++
.../reef/javabridge/FailedEvaluatorBridge.java | 6 ++-
.../reef/javabridge/FailedTaskBridge.java | 6 +++
.../reef/javabridge/HttpServerEventBridge.java | 7 ++++
.../apache/reef/javabridge/InteropLogger.java | 7 +++-
.../reef/javabridge/InteropReturnInfo.java | 7 +++-
.../org/apache/reef/javabridge/JavaBridge.java | 5 +++
.../apache/reef/javabridge/NativeBridge.java | 3 ++
.../apache/reef/javabridge/NativeInterop.java | 4 ++
.../reef/javabridge/RunningTaskBridge.java | 6 +++
.../reef/javabridge/SuspendedTaskBridge.java | 6 +++
.../reef/javabridge/TaskMessageBridge.java | 8 +++-
.../org/apache/reef/javabridge/Utilities.java | 4 ++
23 files changed, 159 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-annotations/src/main/java/org/apache/reef/annotations/audience/Interop.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-annotations/src/main/java/org/apache/reef/annotations/audience/Interop.java b/lang/java/reef-annotations/src/main/java/org/apache/reef/annotations/audience/Interop.java
new file mode 100644
index 0000000..e26911d
--- /dev/null
+++ b/lang/java/reef-annotations/src/main/java/org/apache/reef/annotations/audience/Interop.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.reef.annotations.audience;
+
+/**
+ * Indicates that a class, function, or instance variable is used
+ * at the Interop layer, and should not be modified or removed without
+ * testing, knowing its consequences, and making corresponding changes
+ * in C# and C++ code.
+ */
+public @interface Interop {
+ /**
+ * @return The C++ files related to the Interop class/function/instance variable.
+ * Note that the coverage may not be absolute.
+ */
+ String[] CppFiles() default "";
+
+ /**
+ * @return The C# files related to the interop class/function/instance variable.
+ * Note that the coverage may not be absolute.
+ */
+ String[] CsFiles() default "";
+}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 2c036d2..9558547 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
@@ -18,6 +18,8 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.driver.context.ActiveContext;
import org.apache.reef.io.naming.Identifiable;
import org.apache.reef.runtime.common.driver.context.EvaluatorContext;
@@ -28,6 +30,10 @@ import java.util.logging.Logger;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.context.ActiveContext}.
*/
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "ActiveContextClr2Java.cpp" },
+ CsFiles = { "IActiveContextClr2Java.cs", "ActiveContext.cs" })
public final class ActiveContextBridge extends NativeBridge implements Identifiable {
private static final Logger LOG = Logger.getLogger(ActiveContextBridge.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 f393666..9ac01f5 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
@@ -18,6 +18,8 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.io.naming.Identifiable;
import org.apache.reef.runtime.common.driver.evaluator.AllocatedEvaluatorImpl;
import org.apache.reef.driver.evaluator.AllocatedEvaluator;
@@ -28,6 +30,10 @@ import java.util.logging.Logger;
/**
* The AllocatedEvaluatorBridge object to bridge operations between REEF .NET and Java allocated evaluator operations.
*/
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "AllocatedEvaluatorClr2Java.cpp" },
+ CsFiles = { "IAllocatedEvaluatorClr2Java.cs", "AllocatedEvaluator.cs" })
public final class AllocatedEvaluatorBridge extends NativeBridge implements Identifiable {
private static final Logger LOG = Logger.getLogger(AllocatedEvaluatorBridge.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/BridgeHandlerManager.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/BridgeHandlerManager.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/BridgeHandlerManager.java
index 1684e26..aa37b42 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/BridgeHandlerManager.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/BridgeHandlerManager.java
@@ -18,6 +18,7 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
import org.apache.reef.annotations.audience.Private;
/**
@@ -26,6 +27,7 @@ import org.apache.reef.annotations.audience.Private;
* UNLESS YOU KNOW WHAT YOU ARE DOING!
*/
@Private
+@Interop(CppFiles = { "JavaClrBridge.cpp" }, CsFiles = { "BridgeHandlerManager.cs" })
public final class BridgeHandlerManager {
private long allocatedEvaluatorHandler = 0;
private long activeContextHandler = 0;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java
index c82c7a1..17f638c 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ClosedContextBridge.java
@@ -18,6 +18,8 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.driver.context.ActiveContext;
import org.apache.reef.driver.context.ClosedContext;
import org.apache.reef.driver.evaluator.EvaluatorDescriptor;
@@ -29,7 +31,11 @@ import java.util.logging.Logger;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.context.ClosedContext}.
*/
-public class ClosedContextBridge extends NativeBridge implements ClosedContext {
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "ClosedContextClr2Java.cpp" },
+ CsFiles = { "IClosedContextClr2Java.cs", "ClosedContext.cs" })
+public final class ClosedContextBridge extends NativeBridge implements ClosedContext {
private static final Logger LOG = Logger.getLogger(ClosedContextBridge.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java
index 34cc569..9c5e1a1 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/CompletedEvaluatorBridge.java
@@ -18,13 +18,19 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.driver.evaluator.CompletedEvaluator;
import org.apache.reef.io.naming.Identifiable;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.evaluator.CompletedEvaluator}.
*/
-public class CompletedEvaluatorBridge extends NativeBridge implements Identifiable {
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "CompletedEvaluatorClr2Java.cpp" },
+ CsFiles = { "ICompletedEvaluatorClr2Java.cs", "CompletedEvaluator.cs" })
+public final class CompletedEvaluatorBridge extends NativeBridge implements Identifiable {
private final CompletedEvaluator jcompletedEvaluator;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 c0680f9..c0578a8 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
@@ -18,6 +18,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.CompletedTask;
import org.apache.reef.io.Message;
@@ -26,6 +27,9 @@ import org.apache.reef.io.Message;
* The Java-CLR bridge object for {@link org.apache.reef.driver.task.CompletedTask}.
*/
@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "CompletedTaskClr2Java.cpp" },
+ CsFiles = { "ICompletedTaskClr2Java.cs", "CompletedTask.cs" })
public final class CompletedTaskBridge extends NativeBridge implements Message {
/**
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java
index 8b6ceb3..9cbdc86 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ContextMessageBridge.java
@@ -18,12 +18,18 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.driver.context.ContextMessage;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.context.ContextMessage}.
*/
-public class ContextMessageBridge extends NativeBridge implements ContextMessage {
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "ContextMessageClr2Java.cpp" },
+ CsFiles = { "IContextMessageClr2Java.cs", "ContextMessage.cs" })
+public final class ContextMessageBridge extends NativeBridge implements ContextMessage {
private ContextMessage jcontextMessage;
private String contextMessageId;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 5739a3e..7bdc526 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
@@ -20,6 +20,7 @@ package org.apache.reef.javabridge;
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.DriverRestarted;
@@ -31,6 +32,9 @@ import java.util.Set;
@Private
@DriverSide
@Unstable
+@Interop(
+ 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;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java
index 34c3fbf..a046090 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/EvaluatorRequestorBridge.java
@@ -18,6 +18,8 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.driver.evaluator.EvaluatorRequest;
import org.apache.reef.driver.evaluator.EvaluatorRequestor;
import org.apache.reef.util.logging.LoggingScope;
@@ -29,6 +31,10 @@ import java.util.logging.Logger;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.evaluator.EvaluatorRequestor}.
*/
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "EvaluatorRequestorClr2Java.cpp" },
+ CsFiles = { "IEvaluatorRequestorClr2Java.cs", "EvaluatorRequestor.cs" })
public final class EvaluatorRequestorBridge extends NativeBridge {
private static final Logger LOG = Logger.getLogger(EvaluatorRequestorBridge.class.getName());
private final boolean isBlocked;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 f05c06a..e607a7a 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
@@ -18,6 +18,8 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.driver.context.ActiveContext;
import org.apache.reef.driver.context.ContextBase;
import org.apache.reef.driver.context.FailedContext;
@@ -30,6 +32,10 @@ import java.util.logging.Logger;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.context.FailedContext}.
*/
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "FailedContextClr2Java.cpp" },
+ CsFiles = { "IFailedContextClr2Java.cs", "FailedContext.cs" })
public final class FailedContextBridge extends NativeBridge implements ContextBase {
private static final Logger LOG = Logger.getLogger(FailedContextBridge.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 cb567c5..778964f 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
@@ -18,6 +18,8 @@
*/
package org.apache.reef.javabridge;
+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.util.logging.LoggingScopeFactory;
@@ -27,7 +29,9 @@ import java.util.logging.Logger;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.evaluator.FailedEvaluator}.
*/
-public class FailedEvaluatorBridge extends NativeBridge {
+@Private
+@Interop(CppFiles = { "FailedEvaluatorClr2Java.cpp" }, CsFiles = { "IFailedEvaluatorClr2Java", "FailedEvaluator" })
+public final class FailedEvaluatorBridge extends NativeBridge {
private static final Logger LOG = Logger.getLogger(FailedEvaluatorBridge.class.getName());
private FailedEvaluator jfailedEvaluator;
private EvaluatorRequestorBridge evaluatorRequestorBridge;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 21443a5..b31612a 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
@@ -18,6 +18,8 @@
*/
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.FailedTask;
import java.nio.charset.StandardCharsets;
@@ -27,6 +29,10 @@ import java.util.logging.Logger;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.task.FailedTask}.
*/
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "FailedTaskClr2Java.cpp" },
+ CsFiles = { "IFailedTaskClr2Java.cs", "FailedTask.cs" })
public final class FailedTaskBridge extends NativeBridge {
private static final Logger LOG = Logger.getLogger(FailedTaskBridge.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java
index 7e21085..4752d81 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/HttpServerEventBridge.java
@@ -18,9 +18,16 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
+
/**
* The Java-CLR bridge object for http server events.
*/
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "HttpServerClr2Java.cpp"},
+ CsFiles = { "IHttpServerBridgeClr2Java.cs", "HttpMessage.cs" })
public final class HttpServerEventBridge extends NativeBridge {
private String queryString;
private byte[] queryRequestData;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java
index 68be034..8ad33ef 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropLogger.java
@@ -18,6 +18,9 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
+
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -25,7 +28,9 @@ import java.util.logging.Logger;
/**
* Logger called from CLR code.
*/
-public class InteropLogger {
+@Private
+@Interop(CppFiles = { "JavaClrBridge.cpp", "InteropLogger.h", "InteropLogger.cpp" })
+public final class InteropLogger {
private static final Logger LOG = Logger.getLogger("InteropLogger");
private HashMap<Integer, Level> levelHashMap;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java
index de69b19..dc1baef 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/InteropReturnInfo.java
@@ -18,12 +18,17 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
+
import java.util.ArrayList;
/**
* Information about return codes/exceptions coming from bridge.
*/
-public class InteropReturnInfo {
+@Private
+@Interop(CppFiles = { "InteropReturnInfo.cpp", "InteropReturnInfo.cs"}, CsFiles = { "IInteropReturnInfo.cs" })
+public final class InteropReturnInfo {
private int returnCode;
private ArrayList<String> exceptionList = new ArrayList<>();
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
index 4fb0b84..65c0a13 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/JavaBridge.java
@@ -18,9 +18,14 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
+
/**
* TODO[JIRA REEF-383] Document/Refactor JavaBridge.
*/
+@Private
+@Interop(CppFiles = "JavaClrBridge.cs")
public class JavaBridge {
private static final String CPP_BRIDGE = "JavaClrBridge";
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java
index 2046fd3..2cc0cf8 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeBridge.java
@@ -18,12 +18,15 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Private;
+
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Abstract bridge class.
*/
+@Private
public abstract class NativeBridge implements AutoCloseable {
private static final Logger LOG = Logger.getLogger(NativeBridge.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java
index 32b10d0..6de53ef 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/NativeInterop.java
@@ -18,12 +18,16 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.javabridge.generic.DriverRestartCompletedBridge;
/**
* Java interfaces of CLR/Java bridge.
* Implementations of the methods can be found at lang/cs/Org.Apache.REEF.Bridge/JavaClrBridge.cpp.
*/
+@Private
+@Interop(CppFiles = { "JavaClrBridge.h", "JavaClrBridge.cpp" })
public final class NativeInterop {
public static final String GLOBAL_LIBRARIES_FILENAME = "userSuppliedGlobalLibraries.txt";
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 aef8dc8..ed64ff9 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
@@ -18,6 +18,8 @@
*/
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 java.util.logging.Logger;
@@ -25,6 +27,10 @@ import java.util.logging.Logger;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.task.RunningTask}.
*/
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "RunningTaskClr2Java.cpp" },
+ CsFiles = { "IRunningTaskClr2Java.cs", "RunningTask.cs" })
public final class RunningTaskBridge extends NativeBridge {
private static final Logger LOG = Logger.getLogger(RunningTaskBridge.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java
index 2360cf6..d585244 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/SuspendedTaskBridge.java
@@ -18,6 +18,8 @@
*/
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.SuspendedTask;
import org.apache.reef.io.Message;
import org.apache.reef.io.naming.Identifiable;
@@ -25,6 +27,10 @@ import org.apache.reef.io.naming.Identifiable;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.task.SuspendedTask}.
*/
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "SuspendedTaskClr2Java.cpp" },
+ CsFiles = { "ISuspendedTaskClr2Java.cs", "SuspendedTask.cs" })
public final class SuspendedTaskBridge extends NativeBridge implements Identifiable, Message {
private final SuspendedTask jsuspendedTask;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/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 db23ee2..d6b1cdb 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
@@ -18,12 +18,18 @@
*/
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;
/**
* The Java-CLR bridge object for {@link org.apache.reef.driver.task.TaskMessage}.
*/
-public class TaskMessageBridge extends NativeBridge {
+@Private
+@Interop(
+ CppFiles = { "Clr2JavaImpl.h", "TaskMessageClr2Java.cpp" },
+ CsFiles = { "ITaskMessageClr2Java.cs", "TaskMessage.cs" })
+public final class TaskMessageBridge extends NativeBridge {
private TaskMessage jtaskMessage;
private String taskId;
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/70331278/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java
index 2399101..1bfda31 100644
--- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java
+++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/Utilities.java
@@ -18,6 +18,8 @@
*/
package org.apache.reef.javabridge;
+import org.apache.reef.annotations.audience.Interop;
+import org.apache.reef.annotations.audience.Private;
import org.apache.reef.driver.evaluator.EvaluatorDescriptor;
import org.apache.reef.tang.ClassHierarchy;
import org.apache.reef.tang.implementation.protobuf.ProtocolBufferClassHierarchy;
@@ -34,6 +36,8 @@ import java.nio.file.Paths;
/**
* CLR/Java bridge utilities.
*/
+@Private
+@Interop
public final class Utilities {
public static ClassHierarchy loadClassHierarchy(final String classHierarchyFile) {
// TODO[JIRA REEF-400] The file should be created via AvroClassHierarchySerializer