From: Daniel M. <tub...@us...> - 2004-06-13 16:11:33
|
Update of /cvsroot/epp-rtk/name-rtk-addon/java/src/com/gnr/rtk/addon/example In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14382/src/com/gnr/rtk/addon/example Added Files: PersRegCreateExample.java Log Message: first draft of persRegCreate example based on emailFwdExample -- have to better comment stuff in here --- NEW FILE: PersRegCreateExample.java --- /************************************************************************ * dotName Java EPP RTK addon * Copyright (C) 2002 Global Name Registry * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Contact information: ep...@gn... * * EPP RTK * GNR Ltd. * 125 High Holborn * London WC1V 6QA * United Kingdom ************************************************************************/ /* * $Header: /cvsroot/epp-rtk/name-rtk-addon/java/src/com/gnr/rtk/addon/example/PersRegCreateExample.java,v 1.1 2004/06/13 16:11:23 tubadanm Exp $ * $Revision: 1.1 $ * $Date: 2004/06/13 16:11:23 $ */ package com.gnr.rtk.addon.example; import java.util.*; import java.io.*; import com.tucows.oxrs.epp.rtk.*; import com.tucows.oxrs.epp.rtk.xml.*; import org.openrtk.idl.epp.*; import org.openrtk.idl.epp.contact.*; import com.gnr.rtk.addon.idl.emailfwd.*; import com.gnr.rtk.addon.*; import com.gnr.rtk.addon.example.*; import com.gnr.rtk.addon.idl.persreg.*; import com.gnr.rtk.addon.extensions.EPPPersRegCreate; /** * Example code for Afilias's Domain Trademark add-on to the RTK. * Uses domain create, info and update to demonstrate its usage. * The Domain Trademark is only required during the Sunrise period * of the .info registry. * * @author Daniel Manley * @version $Revision: 1.1 $ $Date: 2004/06/13 16:11:23 $ * @see com.gnr.rtk.addon.extensions.EPPPersRegCreate * @see EPP PersReg Spec for more information **/ public class PersRegCreateExample extends EmailFwdExampleBase { private static String USAGE = "Usage: com.gnr.rtk.addon.example.PersRegCreate epp_host_name epp_host_port epp_client_id epp_password emailfwd_string"; /** * Create an e-mail forwarding -- yanked from parent class **/ public static epp_EmailFwdCreateRsp emailfwdCreate(String epp_client_id, String name, String fwdto, int period, String registrant, epp_EmailFwdContact contacts[], String password) { System.out.println("EMAILFWD_CREATE: begin"); // --- Fill in the request structure epp_EmailFwdCreateReq create_request = new epp_EmailFwdCreateReq(); create_request.m_cmd = createCommand(epp_client_id); create_request.m_name = name; create_request.m_fwdto = fwdto; create_request.m_period = createEmailFwdPeriod(period); create_request.m_registrant = registrant; create_request.m_contacts = contacts; create_request.m_auth_info = createPwAuthInfo(password); //******************************** // The EPPPersRegCreate extension //******************************** /* * blah blah.... (put something here) */ EPPPersRegCreate persRegCreate = new EPPPersRegCreate(); persRegCreate.setRequestData( new epp_PersRegCreateReq("consent-id-1") ); create_request.m_cmd.m_extension = persRegCreate; //**************************** // --- Ask the EPPClient to process the request, and retrieve a response from the server System.out.println("EMAILFWD_CREATE: Sending registration for "+name); // Create the command object EPPEmailFwdCreate create = new EPPEmailFwdCreate(); create.setRequestData(create_request); create = (EPPEmailFwdCreate) processAction(create); // Retrieve response data and extract the generic response if (create != null) return create.getResponseData(); return null; } private static void emailfwdCreateTest(String epp_client_id, String name, String fwdto, int period, String registrant, epp_EmailFwdContact contacts[], String password) { epp_EmailFwdCreateRsp rsp = emailfwdCreate(epp_client_id, name, fwdto,period,registrant,contacts,password); if (rsp == null) { System.out.println("EMAILFWD_CREATE: NO RESPONSE FOUND"); return; } epp_Result[] results = rsp.m_rsp.m_results; System.out.println("EMAILFWD_CREATE: m_code=[" + results[0].m_code+"] m_msg=[" + results[0].m_msg + "]"); System.out.println("EMAILFWD_CREATE: name=["+ rsp.m_name +"]"); return; } private static void emailfwdDeleteTest(String epp_client_id, String name) { epp_EmailFwdDeleteRsp rsp = emailfwdDelete(epp_client_id, name); if (rsp == null) { System.out.println("EMAILFWD_DELETE: NO RESPONSE FOUND"); return; } epp_Result[] results = rsp.m_rsp.m_results; System.out.println("EMAILFWD_DELETE: code=[" + results[0].m_code+"] msg=[" + results[0].m_msg + "]"); return; } /** * Main of the example. Performs info, create, update, renew, transfer and delete. * * Most of the tests that should fail will succeed in the .name OT&E development environment, * as the OT&E development environment does not keep state of objects. They should however * give the expected results once the real certification environment goes live. **/ public static void main(String args[]) { System.out.println("Start of the EmailFwd example"); epp_Command command_data = null; epp_AuthInfo auth_info = null; Date exp_date = null; if (args.length < 5) { System.err.println(USAGE); System.exit(1); } // calling setDebugLevel() with no params makes the RTK // read the "rtk.debuglevel" property from rtk.properties file RTKBase.setDebugLevel(); String epp_host_name = args[0]; String epp_host_port_string = args[1]; String epp_client_id = args[2]; String epp_password = args[3]; String emailfwd = args[4]; System.out.println("WARNING: Most of the tests marked [SHOULD_FAIL] will succeed in the .name OT&E playground, as the"); System.out.println(" playground environment does not keep state of objects and only return example responses"); System.out.println(" based on the data passed. The tests should give the expected result in the OT&E certification"); System.out.println(" environment available from April 15th"); // Connect to the server if (!connect(epp_host_name, epp_host_port_string, epp_client_id, epp_password)) { System.err.println("Unable to connect to EPP server. Exiting"); System.exit(1); } // Register some contacts for future use epp_ContactCreateRsp admin = null; epp_ContactCreateRsp tech = null; epp_ContactCreateRsp billing = null; epp_ContactCreateRsp registrant = null; // FIXME: If the contact create fails because the ID is already taken, we should retry the create (a new contact id will // be generated automatically). This is not currently done. // Make an address epp_ContactNameAddress addr = null; addr = new epp_ContactNameAddress(); addr.m_name= "Mr Registrant"; addr.m_org = "Some organization"; addr.m_address = new epp_ContactAddress(); addr.m_address.m_street1 = "High Street 57"; addr.m_address.m_city = "Funnytown"; addr.m_address.m_postal_code ="12345"; addr.m_address.m_country_code = "fr"; registrant = ContactExampleBase.contactCreate(epp_client_id, addr, new epp_ContactPhone("123","+44.12345678"), new epp_ContactPhone(null,"+44.87654321"), "myc...@so...main","password"); if (registrant != null) System.out.println("Contact create (registrant): " + registrant.m_rsp.m_results[0].m_code); addr = new epp_ContactNameAddress(); addr.m_name= "John Doe"; addr.m_org = "Some organization"; addr.m_address = new epp_ContactAddress(); addr.m_address.m_street1 = "High Street 57"; addr.m_address.m_city = "Funnytown"; addr.m_address.m_postal_code ="12345"; addr.m_address.m_country_code = "ch"; admin = ContactExampleBase.contactCreate(epp_client_id, addr, new epp_ContactPhone("123","+44.12345678"), new epp_ContactPhone(null,"+44.87654321"), "myc...@so...main","password"); if (admin != null) System.out.println("Contact create (admin): " + admin.m_rsp.m_results[0].m_code); addr = new epp_ContactNameAddress(); addr.m_name= "Foo Bar"; addr.m_org = "Some organization"; addr.m_address = new epp_ContactAddress(); addr.m_address.m_street1 = "High Street 55b"; addr.m_address.m_city = "London"; addr.m_address.m_postal_code ="12345"; addr.m_address.m_country_code = "gb"; tech = ContactExampleBase.contactCreate(epp_client_id, addr, new epp_ContactPhone("55","+66.12345678"), new epp_ContactPhone(null,"+77.87654321"), "som...@so...main","foobar"); if (tech != null) System.out.println("Contact create (tech): " + tech.m_rsp.m_results[0].m_code); addr = new epp_ContactNameAddress(); addr.m_name= "Iam A Bigshot"; addr.m_org = "Some organization"; addr.m_address = new epp_ContactAddress(); addr.m_address.m_street1 = "Nowhere in particular"; addr.m_address.m_city = "Outoftown"; addr.m_address.m_postal_code ="12345"; addr.m_address.m_country_code = "se"; billing = ContactExampleBase.contactCreate(epp_client_id, addr, new epp_ContactPhone("22","+55.55555555"), new epp_ContactPhone(null,"+22.22222222"), "em...@so...main","test"); if (billing != null) System.out.println("Contact create (billing): " + billing.m_rsp.m_results[0].m_code); // Create an array of contacts for future use. epp_EmailFwdContact contacts[] = new epp_EmailFwdContact[3]; contacts[0] = new epp_EmailFwdContact(); if (admin != null) contacts[0].m_id = admin.m_id; else contacts[0].m_id = "PHB"; contacts[0].m_type = epp_EmailFwdContactType.ADMIN; contacts[1] = new epp_EmailFwdContact(); if (tech != null) contacts[1].m_id = tech.m_id; else contacts[1].m_id = "GURU"; contacts[1].m_type = epp_EmailFwdContactType.TECH; contacts[2] = new epp_EmailFwdContact(); if (billing != null) contacts[2].m_id = billing.m_id; else contacts[2].m_id = "BEANCOUNTER"; contacts[2].m_type = epp_EmailFwdContactType.BILLING; // Start the actual tests String registrant_id; if (registrant != null) registrant_id = registrant.m_id; else registrant_id = "MYCONTACTID-NAME"; epp_EmailFwdInfoRsp info = null; testHeader(1,true,"Create email forwarding object for 5 years with persRegCreate extension"); emailfwdCreateTest(epp_client_id, emailfwd, "mym...@ma...il", 5, registrant_id, contacts, "password"); testHeader(2,true,"Delete email forwarding object"); emailfwdDeleteTest(epp_client_id, emailfwd); // disonnect from the server if (!disconnect(epp_client_id)) { System.err.println("Error during disconnect from EPP server. Exiting"); System.exit(1); } } } |