/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ /* * RemoteTester.java * * Created on 31. August 2004, 08:55 */ package Sirius.server.middleware.impls.proxy; import Sirius.server.localserver.attribute.*; import Sirius.server.middleware.interfaces.proxy.*; import Sirius.server.middleware.interfaces.proxy.SearchService; import Sirius.server.middleware.types.*; import Sirius.server.newuser.*; import Sirius.server.search.*; import Sirius.server.search.Query; import Sirius.server.search.SearchResult; import Sirius.server.sql.SystemStatement; import java.rmi.*; import java.rmi.registry.*; import java.util.HashMap; import java.util.Iterator; import java.util.Vector; /** * DOCUMENT ME! * * @author schlob * @version $Revision$, $Date$ */ public class RemoteTester { //~ Constructors ----------------------------------------------------------- /** * Creates a new instance of RemoteTester. */ public RemoteTester() { } //~ Methods ---------------------------------------------------------------- /** * DOCUMENT ME! * * @param args the command line arguments * * @throws Throwable DOCUMENT ME! */ public static void main(final String[] args) throws Throwable { final String domain = "WUNDA_BLAU"; // NOI18N // security alles unsinn :-) System.setSecurityManager( new RMISecurityManager() { @Override public void checkConnect(final String host, final int port) { } @Override public void checkConnect(final String host, final int port, final Object context) { } }); // rmi registry lokaliseren final java.rmi.registry.Registry rmiRegistry = LocateRegistry.getRegistry(1099); // lookup des callservers final Remote r = (Remote)Naming.lookup("rmi://localhost/callServer"); // NOI18N // ich weiss, dass die server von callserver implementiert werden final SearchService ss = (SearchService)r; final CatalogueService cat = (CatalogueService)r; final MetaService meta = (MetaService)r; final UserService us = (UserService)r; // System.out.println("server contacted :: "+r); // Benutzergruppe anlegen (muss auf dem Server existieren) // UserGroup ug = new UserGroup(0,"Administratoren",domain ); // user anlegen muss auf dem server existieren // User u = new User(0, "admin",domain, ug ); // oder mit login // ug_domain,ug_name,u_domain,u_name,password final User u = us.getUser(domain, "Administratoren", domain, "admin", "x"); // NOI18N System.out.println(u + " user token retrieved"); // NOI18N // meta.getC // Beispiel: // hole alle Klassen einer Dom\u00E4ne // hole dir dann f\u00FCr jede Klasse ein ObjektTemplate // MetaClass[] cs = meta.getClasses(u,domain); // // for(int i=0;i<cs.length;i++) // { // System.out.println("NEW instance ::"+meta.getInstance(u,cs[i])); // // } // System.out.println("!!getInstance durchgelaufen !!"); // Beispiel: // Template f\u00FCr eine Object der ersten Klasse // MetaObject mo = meta.getInstance(u,cs[0]); final MetaObject mo = meta.getMetaObject(u, 5646, 6, "WUNDA_BLAU"); // NOI18N System.out.println("metaobject::" + mo); // NOI18N // alle attribute des Objects // ObjectAttribute[] attribs = mo.getAttribs(); final java.util.Collection col1 = mo.getTraversedAttributesByType(Class.forName("")); // NOI18N final java.util.Collection col2 = mo.getAttributesByType(Class.forName("com.vividsolutions.jts.geom.Geometry")); // NOI18N final java.util.Collection col3 = mo.getAttributesByType(Class.forName("com.vividsolutions.jts.geom.Geometry"), // NOI18N 1); final java.util.Collection col4 = mo.getAttributesByType(Class.forName("com.vividsolutions.jts.geom.Geometry"), // NOI18N 2); final java.util.Collection col5 = mo.getAttributesByType(Class.forName("com.vividsolutions.jts.geom.Geometry"), // NOI18N 3); Iterator iter = col1.iterator(); System.out.println("!!!!!!!!!!!! traversiert !!!!!!!!!!!!!!!!!!!"); // NOI18N while (iter.hasNext()) { System.out.println(iter.next()); } iter = col2.iterator(); System.out.println("!!!!!!!!!!!! level 0 !!!!!!!!!!!!!!!!!!!"); // NOI18N while (iter.hasNext()) { System.out.println(iter.next()); } iter = col3.iterator(); System.out.println("!!!!!!!!!!!! level 1 !!!!!!!!!!!!!!!!!!!"); // NOI18N while (iter.hasNext()) { System.out.println(iter.next()); } iter = col4.iterator(); System.out.println("!!!!!!!!!!!! level 2 !!!!!!!!!!!!!!!!!!!"); // NOI18N while (iter.hasNext()) { System.out.println(iter.next()); } iter = col5.iterator(); System.out.println("!!!!!!!!!!!! level 3 !!!!!!!!!!!!!!!!!!!"); // NOI18N while (iter.hasNext()) { System.out.println(iter.next()); } } } //// // Ausgabe ob das Attribut aus einem String erzeugt werden kann -- macht hier jetzt keinen Sinn soll nur ein Beispiel sein //// for(int i=0;i<attribs.length;i++) //// System.out.println(attribs[i].getName()+" :: "+attribs[i] +" :: "+ attribs[i].isStringCreateable()+" :: "+attribs[i].objectCreator); //// // //// System.out.println("catalog test"); //// //// // besorge alle einstiegsknoten von servern auf denen u bekannt ist //// Node[] roots = cat.getRoots(u); //// //// for(int i =0;i<roots.length;i++) //// System.out.println(roots[i]); //// //// //n\u00E4chstes level des ersten root knotens //// if(roots.length>0) //// { //// Node[] childs = cat.getChildren(u,roots[0].getID(), roots[0].getDomain()); //// //// System.out.println("Kinder von "+roots[0]); //// //// for(int i=0;i< childs.length;i++) //// System.out.println(childs[i]); //// //// } // // //SystemStatement sysS=new SystemStatement(true,1,"",false,SearchResult.COLLECTION,"select distinct lage_oder_kategorie from luftbildschraegaufnahmen"); // //Query q=new Query(sysS, "WUNDA_BLAU"); //// Query q=new Query(new QueryIdentifier("WUNDA_BLAU","singleStringQuery")); //// HashMap h=new HashMap(); //// h.put("whereclause", "1=1"); //// h.put("field", "lage_oder_kategorie"); //// h.put("table", "luftbildschraegaufnahmen"); //// //// q.setParameters(h); //// q.setResultType(SearchResult.COLLECTION); //// //// HashMap searchOptions=ss.getSearchOptions(u,"WUNDA_BLAU"); //// SearchOption so=(SearchOption)searchOptions.get("singleStringQuery@WUNDA_BLAU"); //// so.setDefaultSearchParameter("whereclause", "1=1"); //// so.setDefaultSearchParameter("field", "lage_oder_kategorie"); //// so.setDefaultSearchParameter("table", "luftbildschraegaufnahmen"); //// so.getQuery().setResultType(SearchResult.COLLECTION); //// //// so.addUserGroup("0"); // //// SearchOption[] soa=new SearchOption[1]; //// soa[0]=so; //// SearchResult sr=ss.search(u, new String[]{}, soa); //// //// //// System.out.println(sr.getResult()); //// System.out.println(sr.getResult().getClass()); //// Vector v=(Vector)sr.getResult(); //// Iterator it=v.iterator(); //// while (it.hasNext()) { //// Object o=it.next(); //// if (o instanceof String) { //// System.out.println(o.toString()); //// } //// else if (o instanceof String[]) { //// String[] sa=(String[])o; //// System.out.println("[]"+sa[0]); //// } //// //// } //// //// } // // // //