Der clientwrapper stellt ist das Verbindungsglied zwischen dem Eclipse Framework und der X-API von BSCW. Zusätzlich übernimmt er das Cachen, um so die Remote Zugriffe zu minimieren.
Da es mühsam ist, aus dem BSCWClientWrapper an den BSCW Client heran zukommen, an ein Beispiel, wie man von der BSCW Site an seine BSCW Objekte kommt:
// lege neue BSCWSite an (eine BSCW Site ist historisch aus dem org.eclipse.team.Site Konzept entstanden).
// Die BSCWSite verwaltet alle notwendigen lokalen
// Resourcen u.a. auch den Cache.
// Will man direkt mit auf der BSCW X-API arbeiten, sollte man direkt einen
// BSCWClient verwenden
Properties config = new Properties();
config.setProperty(IClientWrapperConstants.LOCATION,"http://www.bscweasel.de/bscw/bscw.cgi/");
config.setProperty(IClientWrapperConstants.USERNAME, "testuser");
config.setProperty(IClientWrapperConstants.PASSWORD, "testuser");
config.setProperty(IClientWrapperConstants.SYMBOLIC_NAME, "TEST SERVER");
BSCWSite testSite = new BSCWSite(config);// TargetProvider und RemoteResource sind ebenfalls Überbleibsel aus der
// org.eclipse.team Architektur
TargetProvider provider = testSite.getTargetProvider();
RemoteResource remoteResource = provider.getRemoteResource(null);// jetzt kann man sich endlich die BSCW Objekte holen und damit arbeiten
IHome workspace = remoteResource.getHome(null);
IArtifact[] children =workspace.getChildren(null);
Weitere Beispiele finden sich in den JUnit Testklassen, die im Plugin
de.uni_siegen.fb5.bscw.tests zusammengefasst sind.