Package org.mmisw.orrclient.core.test.reg

Source Code of org.mmisw.orrclient.core.test.reg.ReHostedRegTest

package org.mmisw.orrclient.core.test.reg;

import java.util.HashMap;
import java.util.Map;

import org.junit.BeforeClass;
import org.mmisw.ont.vocabulary.Omv;
import org.mmisw.ont.vocabulary.OmvMmi;
import org.mmisw.orrclient.IOrrClient;
import org.mmisw.orrclient.OrrClientConfiguration;
import org.mmisw.orrclient.gwt.client.rpc.CreateOntologyInfo;
import org.mmisw.orrclient.gwt.client.rpc.CreateOntologyResult;
import org.mmisw.orrclient.gwt.client.rpc.HostingType;
import org.mmisw.orrclient.gwt.client.rpc.LoginResult;
import org.mmisw.orrclient.gwt.client.rpc.OtherDataCreationInfo;
import org.mmisw.orrclient.gwt.client.rpc.RegisterOntologyResult;
import org.mmisw.orrclient.gwt.client.rpc.RegisteredOntologyInfo;
import org.mmisw.orrclient.gwt.client.rpc.TempOntologyInfo;
import org.mmisw.orrclient.gwt.client.rpc.UnregisterOntologyResult;


/**
* Test of registration is re-hosted mode.
*
* Requires:
* <ul>
* <li> Ont service running in the indicated URL (hardcoded)
* <li> system property "orr.user" with username and passowrd (separated by a comma), eg.,
*          "foouser,foopw"
* </ul>
*
* @author Carlos Rueda
*/
public class ReHostedRegTest extends BaseTestCase {
 
  private static final String ONT_SERVICE_URL = "http://localhost:8080/ont";
  private static final String fileType = "RDF/XML";
  private static final String PREVIEW_DIRECTORY  = "/tmp/orrclient/";
  private static final String USER = System.getProperty("orr.user");
 
  private static final String authorityClassUri = "http://mmisw.org/ont/mmi/authority/Authority";
  private static final String resourceTypeClassUri = "http://mmisw.org/ont/mmi/resourcetype/ResourceType";

  private static String username;
  private static String password;

 
 
  public void verifyRequiredParams() throws Exception {
    if ( USER == null ) {
      throw new Exception("system property 'orr.user' required");
    }
    String[] toks = USER.split(",");
    username = toks[0];
    password = toks[1];
  }

  public void testRegister_01() throws Exception {
    verifyRequiredParams();
    _testRegister("resource/onts/P021_current-small-w-xmlbase.rdf", "P021-");
  }
 
  /**
   * Tests the registration of the given file.
   *
   * @param filename
   * @param prefix    used for the ontology metadata attributes
   * @throws Exception
   */
  private void _testRegister(String filename, String prefix) throws Exception {
   
    log.info("=============== INIT OrrClient =================");
    OrrClientConfiguration config = new  OrrClientConfiguration();
    config.setOntServiceUrl(ONT_SERVICE_URL);
    config.setPreviewDirectory(PREVIEW_DIRECTORY);
    IOrrClient orrClient = IOrrClient.Manager.init(config);
    orrClient.getMetadataBaseInfo(false, resourceTypeClassUri, authorityClassUri);
   
   
    log.info("=============== GET getTempOntologyInfo =================");
   
    TempOntologyInfo tempOntologyInfo = orrClient.getTempOntologyInfo(fileType, filename, false, false);
    assertNull("No error in getTempOntologyInfo", tempOntologyInfo.getError());
    String namespace = tempOntologyInfo.getUri();
    log.info("tempOntologyInfo.getUri() = " +namespace);
    assertNotNull("namespace must be present", namespace);
   
    log.info("=============== authenticate user =================");
    LoginResult loginResult = _authenticateUser(orrClient);
   
    log.info("=============== createOntology =================");
    CreateOntologyInfo createOntologyInfo = new CreateOntologyInfo();
    OtherDataCreationInfo dataCreationInfo = new OtherDataCreationInfo();
    dataCreationInfo.setTempOntologyInfo(tempOntologyInfo);
//    createOntologyInfo.setBaseOntologyInfo(tempOntologyInfo);
    createOntologyInfo.setUri(namespace);
    createOntologyInfo.setDataCreationInfo(dataCreationInfo);
    createOntologyInfo.setHostingType(HostingType.RE_HOSTED);
    Map<String, String> metadataValues = _getMetadataValues(prefix);
    createOntologyInfo.setMetadataValues(metadataValues);
   
    CreateOntologyResult createOntologyResult = orrClient.createOntology(createOntologyInfo);
    assertNull("No error in createOntologyResult", createOntologyResult.getError());
    log.debug("createOntologyResult = " +createOntologyResult);
   
   
    log.info("=============== registerOntology =================");
    RegisterOntologyResult registerOntologyResult = orrClient.registerOntology(createOntologyResult, loginResult);
    assertNull("No error in registerOntology", registerOntologyResult.getError());
    log.debug("createOntologyResult = " +createOntologyResult.getUri());
   
    log.info("=============== getOntologyInfo =================");
    RegisteredOntologyInfo registeredOntologyInfo = orrClient.getOntologyInfo(namespace);
    assertNull("No error in registeredOntologyInfo", registeredOntologyInfo.getError());
   
   
    orrClient.getOntologyContents(registeredOntologyInfo, null);
   
    if ( UNREGISTER ) {
      _unregister(orrClient, loginResult, registeredOntologyInfo);
    }
  }

  @BeforeClass
  private LoginResult _authenticateUser(IOrrClient orrClient) {
    LoginResult loginResult = orrClient.authenticateUser(username, password);
    assertNull("No error in login", loginResult.getError());
   
    return loginResult;
  }
  private Map<String, String> _getMetadataValues(String prefix) {
    Map<String, String> metadataValues = new HashMap<String, String>();
    metadataValues.put(OmvMmi.hasResourceType.getURI(), prefix+ "test-resource-type");
    metadataValues.put(Omv.name.getURI(), prefix+ " title");
    metadataValues.put(Omv.acronym.getURI(), prefix+ "acronym");
    metadataValues.put(OmvMmi.hasContentCreator.getURI(), prefix+ "content creator");
    metadataValues.put(Omv.hasCreator.getURI(), prefix+ "ontology creator");
    metadataValues.put(Omv.description.getURI(), prefix+ "some description");
    return metadataValues;
  }

  private void _unregister(IOrrClient orrClient, LoginResult loginResult, RegisteredOntologyInfo registeredOntologyInfo) {
    log.info("=============== unregisterOntology =================");
    UnregisterOntologyResult unregisterOntologyResult = orrClient.unregisterOntology(loginResult, registeredOntologyInfo);
    assertNull("No error in unregisterOntologyResult", unregisterOntologyResult.getError());
    log.debug("unregisterOntologyResult = " +unregisterOntologyResult);
  }

}
TOP

Related Classes of org.mmisw.orrclient.core.test.reg.ReHostedRegTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.