Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions client/src/main/com/sinch/sdk/SinchClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.sinch.sdk.core.utils.StringUtil;
import com.sinch.sdk.domains.conversation.ConversationService;
import com.sinch.sdk.domains.numberlookup.api.v2.adapters.NumberLookupService;
import com.sinch.sdk.domains.numberlookup.NumberLookupService;
import com.sinch.sdk.domains.numbers.NumbersService;
import com.sinch.sdk.domains.sms.SMSService;
import com.sinch.sdk.domains.verification.VerificationService;
Expand Down Expand Up @@ -425,7 +425,7 @@ private ConversationService conversationInit() {
}

private NumberLookupService lookupInit() {
return new com.sinch.sdk.domains.numberlookup.api.v2.adapters.NumberLookupService(
return new com.sinch.sdk.domains.numberlookup.adapters.NumberLookupService(
getConfiguration().getUnifiedCredentials().orElse(null),
getConfiguration().getNumberLookupContext().orElse(null),
getConfiguration().getOAuthServer(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,4 @@
* href="https://developers.sinch.com/docs/number-lookup-api-v2">https://developers.sinch.com/docs/number-lookup-api-v2</a>
* @since 2.1
*/
public interface NumberLookupService {

/**
* Number Lookup Service instance
*
* @return service instance for project
* @since 2.1
*/
NumberLookupV2Service lookup();
}
public interface NumberLookupService extends NumberLookupV2Service {}
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package com.sinch.sdk.domains.numberlookup.api.v2.adapters;

import com.sinch.sdk.auth.adapters.OAuthManager;
import com.sinch.sdk.core.exceptions.ApiException;
import com.sinch.sdk.core.http.AuthManager;
import com.sinch.sdk.core.http.HttpClient;
import com.sinch.sdk.core.http.HttpMapper;
import com.sinch.sdk.core.models.ServerConfiguration;
import com.sinch.sdk.core.utils.StringUtil;
import com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupV2Service;
import com.sinch.sdk.domains.numberlookup.models.v2.request.NumberLookupRequest;
import com.sinch.sdk.domains.numberlookup.models.v2.response.NumberLookupResponse;
import com.sinch.sdk.models.NumberLookupContext;
import com.sinch.sdk.models.UnifiedCredentials;
import java.util.AbstractMap;
Expand All @@ -31,7 +33,7 @@ public class NumberLookupService
private volatile String uriUUID;
private volatile Map<String, AuthManager> authManagers;

private volatile NumberLookupV2Service lookup;
private volatile NumberLookupServiceFacade lookup;

public NumberLookupService(
UnifiedCredentials credentials,
Expand All @@ -44,25 +46,24 @@ public NumberLookupService(
this.httpClientSupplier = httpClientSupplier;
}

@Override
public NumberLookupV2Service lookup() {
NumberLookupServiceFacade getLookupFacade() {
if (null == this.lookup) {
synchronized (this) {
if (null == this.lookup) {
instanceLazyInit();
this.lookup =
new NumberLookupV2ServiceImpl(
httpClientSupplier.get(),
context.getNumberLookupServer(),
authManagers,
HttpMapper.getInstance(),
uriUUID);
new NumberLookupServiceFacade(uriUUID, context, httpClientSupplier, authManagers);
}
}
}
return this.lookup;
}

@Override
public NumberLookupResponse lookup(NumberLookupRequest numberLookupRequest) throws ApiException {
return getLookupFacade().lookup(numberLookupRequest);
}

private void instanceLazyInit() {
if (null != this.authManagers) {
return;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.sinch.sdk.domains.numberlookup.api.v2.adapters;

import com.sinch.sdk.core.exceptions.ApiException;
import com.sinch.sdk.core.http.AuthManager;
import com.sinch.sdk.core.http.HttpClient;
import com.sinch.sdk.core.http.HttpMapper;
import com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupV2Service;
import com.sinch.sdk.domains.numberlookup.models.v2.request.NumberLookupRequest;
import com.sinch.sdk.domains.numberlookup.models.v2.response.NumberLookupResponse;
import com.sinch.sdk.models.NumberLookupContext;
import java.util.Map;
import java.util.function.Supplier;

final class NumberLookupServiceFacade
implements com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupService {

private final NumberLookupV2Service lookup;

NumberLookupServiceFacade(
String uriUUID,
NumberLookupContext context,
Supplier<HttpClient> httpClientSupplier,
Map<String, AuthManager> authManagers) {
this.lookup =
new NumberLookupV2ServiceImpl(
httpClientSupplier.get(),
context.getNumberLookupServer(),
authManagers,
HttpMapper.getInstance(),
uriUUID);
}

@Override
public NumberLookupResponse lookup(NumberLookupRequest numberLookupRequest) throws ApiException {
return lookup.lookup(numberLookupRequest);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class NumberLookupServiceTest {

@Test
void checkCredentialsNumberLookup() {
CredentialsValidationHelper.checkCredentials(() -> httpClient, NumberLookupService::lookup);
CredentialsValidationHelper.checkCredentials(
() -> httpClient, NumberLookupService::getLookupFacade);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class LookupsSteps {

@Given("the Number Lookup service is available")
public void serviceAvailable() {
service = Config.getSinchClient().lookup().lookup();
service = Config.getSinchClient().lookup().v2();
Assertions.assertNotNull(service, "Number Lookup service is not available");
}

Expand Down
1 change: 1 addition & 0 deletions examples/snippets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ launcher numbers/regions/List
## Available Snippets

- Conversation: [README.md](src/main/java/conversation/README.md)
- Number Lookup: [README.md](src/main/java/numberlookup/README.md)
- Numbers: [README.md](src/main/java/numbers/README.md)
- SMS: [README.md](src/main/java/sms/README.md)
- Verification: [README.md](src/main/java/verification/README.md)
Expand Down
56 changes: 56 additions & 0 deletions examples/snippets/src/main/java/numberlookup/Lookup.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/**
* Sinch Java Snippet
*
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java
*
* <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details
*/
package numberlookup;

import com.sinch.sdk.SinchClient;
import com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupV2Service;
import com.sinch.sdk.domains.numberlookup.models.v2.request.LookupFeatureType;
import com.sinch.sdk.domains.numberlookup.models.v2.request.NumberLookupRequest;
import com.sinch.sdk.domains.numberlookup.models.v2.response.NumberLookupResponse;
import com.sinch.sdk.models.Configuration;
import java.util.Collections;
import java.util.logging.Logger;
import utils.Settings;

public class Lookup {

private static final Logger LOGGER = Logger.getLogger(Lookup.class.getName());

public static void main(String[] args) {

String projectId = Settings.getProjectId().orElse("MY_PROJECT_ID");
String keyId = Settings.getKeyId().orElse("MY_KEY_ID");
String keySecret = Settings.getKeySecret().orElse("MY_KEY_SECRET");

// The phone number you want to lookup in E.164 format
String phoneNumber = "PHONE_NUMBER";

Configuration configuration =
Configuration.builder()
.setProjectId(projectId)
.setKeyId(keyId)
.setKeySecret(keySecret)
.build();

SinchClient client = new SinchClient(configuration);

NumberLookupV2Service numberLookupService = client.lookup().v2();

NumberLookupRequest request =
NumberLookupRequest.builder()
.setNumber(phoneNumber)
.setFeatures(Collections.singletonList(LookupFeatureType.LINE_TYPE))
.build();

LOGGER.info("Lookup for: " + phoneNumber);

NumberLookupResponse response = numberLookupService.lookup(request);

LOGGER.info("Response: " + response);
}
}
7 changes: 7 additions & 0 deletions examples/snippets/src/main/java/numberlookup/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Number Lookup snippets
Sinch Java SDK Code Snippets Repository for NumberLookup APIs

See main [README.md](../../../../README.md) for how to execute snippets

- Number Lookup
- [numberlookup/Lookup](Lookup.java)
Loading