Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Codeblock
languagejava
themeEclipse
titlegetOrganisationWithFiltergetUrns()
private static final String V2_URI = "http://api.nbn-resolving.org/sandbox/v2/";
private static final String DEFAULT_URN_WILDCARD = "urn:nbn:de:01*";

public static void main(String[] args) {
 	    urnUrnRepository = new UrnUrnRestClient(V2_URI);
	
	    final Optional<UrnFilter> urnFilter = Optional.of(new UrnFilter(UrnFilterKey.URN, DEFAULT_URN_WILDCARD));
        final UrnSortParameters urnsortparams = new UrnSortParameters().getDefault();
        final PagingParameters pagingParameters = new PagingParameters().getDefault();

        UrnRestResultUrnObject result = null;

        try {
            result = urnUrnRepository.getUrnsWithParams(ORG_LOGIN, ORG_PASSWORD, urnFilter, urnsortparams,
                    pagingParameters);
            logUrnRestResultUrnObjectToString(result);
            
        } catch (final UrnRestApiNotAvailableException e) {
           System.out.println("The client cannot connect to the URN-REST-API.");
        }

}

...

Info
titleBeispielantwort mittels toString() und Log4j

[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest - getUrns()...
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.RESTUrnResource - Response in CheckedFunction is: 200
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest - You will only see information enabled for your login.
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest - Request successful: true Count results: 4 Results have several pages: true
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest -
These items are on the first resultpage:
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest -
urn:nbn:de:0135-2301201121028.86502742928,
2023-01-20T10:21:36.660Z,
2023-01-20T10:21:36.660Z,
http://api.nbn-resolving.org.test/v2/urns/urn/urn:nbn:de:0135-2301201121028.86502742928/my-urls,
http://api.nbn-resolving.org.test/v2/namespaces/name/urn:nbn:de:0135,
null,

[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest -
urn:nbn:de:0143-2305191057333.414036554117,
2023-05-19T08:57:58.087Z,
2023-05-19T08:57:58.087Z, http://api.nbn-resolving.org.test/v2/urns/urn/urn:nbn:de:0143-2305191057333.414036554117/my-urls,
http://api.nbn-resolving.org.test/v2/namespaces/name/urn:nbn:de:0143,
null,
....
....
....
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest - End of first page...

[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest - Response End...


addUrn()

Ein berechtigter Nutzer fügt dem URN-System eine neue URN samt URLs hinzu.

Notwendige Parameter sind wieder ORG_LOGIN, ORG_PASSWORD, Identifier der zu suchenden Organisation. Der letzte Parameter ist nur für Admins relevant (runAs) und kann leer bleiben. 

ORG_LOGIN und ORG_PASSWORD sind Platzhalter für das eigene LOGIN/PASSWORD.

Zusätzlich muss ein RESTCreateUrnRequest zusammengebaut werden, der wiederum einzelne RESTCreateUrlRequests beinhaltet. 


Codeblock
languagejava
themeEclipse
titlegetUrns()
private static final String V2_URI = "http://api.nbn-resolving.org/sandbox/v2/";
private static final String ORG_ID = "19066";

public static void main(String[] args) {
 	    URI uriEins = null;
        URI orgaId = null;
        URI uriZwei = null;
        String urnString = "urn:nbn:de:0007-2307251255492.453473381209";

        try {
            uriEins = new URI("https://test/forUrnClient_1.pdf");
            uriZwei = new URI("https://test/fforUrnClient_2.docx");
            orgaId = new URI(V2_URI + "organisations/id/" + ORG_ID);
        } catch (final URISyntaxException e) {
            System.out.println("URI Syntax not conform to RFC.");
        }

        final List<de.dnb.resolvingdienste.urnadministration.urn.restapi.model.RESTCreateUrlRequest> requestsListUrls = new ArrayList<RESTCreateUrlRequest>();

        UrnRestResultUrnObject response = null;

         requestsListUrls.add(RESTCreateUrlRequestWithDefaultsBuilder.aRESTCreateUrlRequest().withOrganisation(orgaId)
                .withUrl(uriEins).build());

        requestsListUrls.add(RESTCreateUrlRequestWithDefaultsBuilder.aRESTCreateUrlRequest().withOrganisation(orgaId)
                .withUrl(uriZwei).build());

        final de.dnb.resolvingdienste.urnadministration.urn.restapi.model.RESTCreateUrnRequest createRequest = RESTCreateUrnRequestWithDefaultsBuilder
                .aRESTCreateUrnRequest()
                .withUrn(urnString).withUrls(requestsListUrls).build();

        try {
            response = urnUrnRepository.addNewUrn(ORG_USER, ORG_PASSW, createRequest, ORG_USER);
        } catch (final UrnRestApiNotAvailableException e1) {
             System.out.println("The client cannot connect to the URN-REST-API.");
        }       
}


Diese Anfrage liefert ein Ergebnisobjekt vom Typ UrnRestResultUrnObject. Das UrnRestResultUrnObject "wrapt" die ursprünglichen RESTUrnRepresentation-Objekte und fügt weitere wichtige Informationen hinzu (Anfrage erfolgreich, Anzahl Treffer, weitere Trefferseiten verfügbar, ...).Die Ergebnisse werden paginiert innerhalb einer ArrayList abgespeichert. Das wird in unserem Fall größtenteils nicht benötigt.

Info
titleBeispielantwort mittels toString() und Log4j

[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest - addUrn()...
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest - You will only see information enabled for your login.
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest -
urn:nbn:de:0007-2307251255492.453473381209,
2023-07-25T10:55:49.584Z,
2023-07-25T10:55:49.584Z,
http://api.nbn-resolving.org/sandbox/v2/urns/urn/urn:nbn:de:0007-2307251255492.453473381209/my-urls,
http://api.nbn-resolving.org/sandbox/v2/namespaces/name/urn:nbn:de:0007,
null,
[main] INFO de.dnb.resolvingdienste.urn.restapi.client.testurnclient.mainForTest - Response End...

...