From 8207a55573f385d73777d3a44ae738df10d67dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Bigaret?= <sebastien.bigaret@telecom-bretagne.eu> Date: Tue, 8 Mar 2011 09:43:34 +0100 Subject: [PATCH] Local resources sent by server should be ignored by the bridge. So-called local resources are declared with a provider named "local". --- .../praxis/platform/PlatformToClientBridge.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/eu/telecom_bretagne/praxis/platform/PlatformToClientBridge.java b/src/eu/telecom_bretagne/praxis/platform/PlatformToClientBridge.java index 4fe6571a..4d858628 100644 --- a/src/eu/telecom_bretagne/praxis/platform/PlatformToClientBridge.java +++ b/src/eu/telecom_bretagne/praxis/platform/PlatformToClientBridge.java @@ -150,8 +150,15 @@ public class PlatformToClientBridge extends AbstractPlatform implements ServerTo RemoteComponents remoteComponents = new RemoteComponents(platform_conn[0], platform_conn[1], Integer.parseInt(platform_conn[2])); // TODO NumberFormatException remoteComponents.init(); Element programs = conf.getRootElement().getChild("programs"); + /* + * "local" resources /may/ be declared on the remote server, most of the times because they were present at + * compile-time and packed in the jar along with all the others. However, resources with provider named + * "local" are *never* shared: if they are present/declared on the remote side, we must ignore them, or they + * may shadow the one locally declared. + */ for (String resource: remoteComponents.getResourceRepository().getResources()) - programs.addContent(new Element("program").setAttribute("id", resource)); + if (!resource.startsWith("local")) + programs.addContent(new Element("program").setAttribute("id", resource)); CommunicationFacade cnx = CommunicationFacade.buildConnection("Platform", platform_conn); cnx.start(); -- GitLab