/** * villemos solutions [space^] (http://www.villemos.com) * Probe. Send. Act. Emergent solution. * Copyright 2011 Gert Villemos * All Rights Reserved. * * Released under the Apache license, version 2.0 (do what ever * you want, just dont claim ownership). * * NOTICE: All information contained herein is, and remains * the property of villemos solutions, and its suppliers * if any. The intellectual and technical concepts contained * herein are proprietary to villemos solutions * and its suppliers and may be covered by European and Foreign Patents, * patents in process, and are protected by trade secret or copyright law. * * Dissemination of this information or reproduction of this material * is strictly forbidden unless prior written permission is obtained * from villemos solutions. * * And it wouldn't be nice either. * */ package com.villemos.ispace.apirmi; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.util.List; import com.villemos.ispace.api.IMetaData; import com.villemos.ispace.api.Synonym; import com.villemos.ispace.api.Taxonomy; public class MetaData implements IMetaData { protected String host = "localhost"; protected String binding = "server/metadata"; protected IMetaData stub = null; protected void connect() { if (stub == null) { try { Registry registry = LocateRegistry.getRegistry(host); stub = (IMetaData) registry.lookup(binding); } catch (Exception e) { e.printStackTrace(); } } } @Override public List<Synonym> getSynonyms() throws RemoteException { connect(); return stub.getSynonyms(); } @Override public List<Synonym> getSynonyms(String rootName) throws RemoteException { connect(); return stub.getSynonyms(rootName); } @Override public boolean storeSynonym(Synonym synonym) throws RemoteException { connect(); return stub.storeSynonym(synonym); } @Override public List<Taxonomy> getTaxonomies() throws RemoteException { connect(); return stub.getTaxonomies(); } @Override public List<Taxonomy> getTaxonomy(String parentName) throws RemoteException { connect(); return stub.getTaxonomy(parentName); } @Override public boolean storeTaxonomy(Taxonomy taxonomy) throws RemoteException { connect(); return stub.storeTaxonomy(taxonomy); } }