-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
738 additions
and
877 deletions.
There are no files selected for viewing
57 changes: 57 additions & 0 deletions
57
runner/src/main/java/de/factfinder/runner/RunnerDeltaUpdate.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
package de.factfinder.runner; | ||
|
||
import de.factfinder.client.ApiException; | ||
import de.factfinder.client.api.RecordsApi; | ||
import de.factfinder.client.model.DeltaUpdateResult; | ||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
|
||
import java.util.Arrays; | ||
import java.util.Collections; | ||
import java.util.List; | ||
import java.util.Map; | ||
|
||
public class RunnerDeltaUpdate { | ||
private static final Logger LOG = LogManager.getLogger(RunnerDeltaUpdate.class.getSimpleName()); | ||
|
||
private static final String RECORD_ID_1 = "036-0184-0119"; | ||
|
||
private static final String PURCHASER_ID = null; | ||
|
||
public static void main(final String[] args) { | ||
final RecordsApi apiInstance = new RecordsApi(Settings.getClient()); | ||
|
||
//========================================== GEO ========================================= | ||
final Boolean verbose = true; | ||
|
||
List<Map<String, Object>> records = Collections.emptyList(); | ||
|
||
try { | ||
LOG.info("=== GET Record ==="); | ||
records = apiInstance.getRecordsUsingGET(Settings.getChannel(), Arrays.asList(RECORD_ID_1), PURCHASER_ID, verbose).getRecords(); | ||
LOG.info(records); | ||
|
||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling RecordsApi#getRecordsUsingGet", e); | ||
} | ||
|
||
try { | ||
LOG.info("=== Update Record ==="); | ||
records.get(0).put("Price", 55.3); | ||
final DeltaUpdateResult result = apiInstance.upsertRecordsUsingPUT(Settings.getChannel(), records, verbose).get(0); | ||
LOG.info("Update result {}", result.getSuccess()); | ||
LOG.info("Update error {}", result.getError()); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling RecordsApi#updateRecordsUsingPut", e); | ||
} | ||
|
||
try { | ||
LOG.info("=== GET Record again ==="); | ||
records = apiInstance.getRecordsUsingGET(Settings.getChannel(), Arrays.asList(RECORD_ID_1), PURCHASER_ID, verbose).getRecords(); | ||
LOG.info(records); | ||
|
||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling RecordsApi#getRecordsUsingGet", e); | ||
} | ||
} | ||
} |
96 changes: 53 additions & 43 deletions
96
runner/src/main/java/de/factfinder/runner/RunnerImport.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,54 +1,64 @@ | ||
package de.factfinder.runner; | ||
|
||
import java.util.Collections; | ||
import java.util.List; | ||
|
||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
|
||
import de.factfinder.client.ApiException; | ||
import de.factfinder.client.api.ImportApi; | ||
import de.factfinder.client.model.ImportChannelResult; | ||
import de.factfinder.client.model.ImportResult; | ||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
|
||
import java.util.Collections; | ||
import java.util.List; | ||
|
||
/** | ||
* This class demonstrates the usage of the FACT-Finder REST API to externally trigger product data and suggest imports. | ||
*/ | ||
public final class RunnerImport { | ||
private static final Logger LOG = LogManager.getLogger(RunnerImport.class.getSimpleName()); | ||
private static final String CHANNEL = Settings.getChannel(); | ||
|
||
private RunnerImport() { | ||
} | ||
|
||
public static void main(final String[] args) { | ||
Settings.setupAuthKeyRefreshingClientWithHigherTimeout(); | ||
|
||
final ImportApi apiInstance = new ImportApi(); | ||
final List<String> channel = Collections.singletonList(CHANNEL); | ||
final Boolean download = false; | ||
final Boolean quiet = false; | ||
|
||
try { | ||
LOG.info("Start product data import"); | ||
final ImportResult productImportResult = apiInstance.startSearchImportUsingPOST(channel, download, quiet); | ||
|
||
final ImportChannelResult channelResult = productImportResult.getMessages().get(CHANNEL); | ||
channelResult.getErrorMessages().forEach(LOG::error); | ||
channelResult.getStatusMessages().forEach(LOG::info); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling ImportApi#startSearchImportUsingPOST", e); | ||
} | ||
|
||
try { | ||
LOG.info("Start suggest data import"); | ||
final ImportResult suggestImportResult = apiInstance.startSuggestImportUsingPOST(channel, quiet); | ||
|
||
final ImportChannelResult channelResultForSuggest = suggestImportResult.getMessages().get(CHANNEL); | ||
channelResultForSuggest.getErrorMessages().forEach(LOG::error); | ||
channelResultForSuggest.getStatusMessages().forEach(LOG::info); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling ImportApi#startSuggestImportUsingPOST", e); | ||
} | ||
} | ||
private static final Logger LOG = LogManager.getLogger(RunnerImport.class.getSimpleName()); | ||
private static final String CHANNEL = Settings.getChannel(); | ||
|
||
private RunnerImport() { | ||
} | ||
|
||
public static void main(final String[] args) { | ||
final ImportApi importClient = new ImportApi(Settings.getClient()); | ||
|
||
final List<String> channels = Collections.singletonList(CHANNEL); | ||
final Boolean download = false; | ||
final Boolean cacheFlush = false; | ||
final Boolean quiet = false; | ||
final String importStage = "IMPORT_ONLY"; | ||
|
||
try { | ||
LOG.info("Start product data import"); | ||
final Boolean includeCustomerPrices = false; | ||
final List<ImportChannelResult> productImportResult = importClient.startSearchImportUsingPOST(channels, download, cacheFlush, quiet, importStage, | ||
includeCustomerPrices); | ||
printProductImportResult(productImportResult); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling ImportApi#startSearchImportUsingPOST", e); | ||
} | ||
|
||
try { | ||
LOG.info("Start suggest data import"); | ||
final List<ImportChannelResult> suggestImportResult = importClient.startSuggestImportUsingPOST(channels, quiet); | ||
printProductImportResult(suggestImportResult); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling ImportApi#startSuggestImportUsingPOST", e); | ||
} | ||
} | ||
|
||
private static void printProductImportResult(final List<ImportChannelResult> productImportResult) { | ||
productImportResult.forEach(result -> { | ||
LOG.info("Import in channel {}", result.getChannel()); | ||
LOG.info("Duration of import: {}", result.getDurationInSeconds()); | ||
LOG.info("Number of imported records: {}", result.getImportedRecords()); | ||
LOG.info("Import type: {}", result.getImportType()); | ||
LOG.info("Import fields: {}", result.getImportedFields()); | ||
LOG.info("Start date: {}", result.getStartDate()); | ||
LOG.info("Number of imported wm documents: {}", result.getImportedWorldmatchDocuments()); | ||
|
||
result.getErrorMessages().forEach(LOG::error); | ||
result.getStatusMessages().forEach(LOG::info); | ||
}); | ||
} | ||
} |
33 changes: 33 additions & 0 deletions
33
runner/src/main/java/de/factfinder/runner/RunnerManagement.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package de.factfinder.runner; | ||
|
||
import de.factfinder.client.ApiException; | ||
import de.factfinder.client.api.ManagementApi; | ||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
|
||
import java.util.Arrays; | ||
|
||
public class RunnerManagement { | ||
|
||
private static final Logger LOG = LogManager.getLogger(RunnerImport.class.getSimpleName()); | ||
private static final String CHANNEL = Settings.getChannel(); | ||
|
||
public static void main(final String[] args) { | ||
final ManagementApi managementClient = new ManagementApi(Settings.getClient()); | ||
|
||
try { | ||
LOG.info("Cache flush"); | ||
managementClient.flushCacheUsingPOST(Arrays.asList(CHANNEL)); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling ManagementApi#flushCacheUsingPOST", e); | ||
} | ||
|
||
try { | ||
LOG.info("Reload configuration"); | ||
managementClient.reloadConfigurationUsingPOST(Arrays.asList(CHANNEL)); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when calling ManagementApi#reloadConfigurationUsingPOST", e); | ||
} | ||
|
||
} | ||
} |
112 changes: 55 additions & 57 deletions
112
runner/src/main/java/de/factfinder/runner/RunnerProductCampaign.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,76 +1,74 @@ | ||
package de.factfinder.runner; | ||
|
||
import java.util.Arrays; | ||
import java.util.List; | ||
|
||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
|
||
import de.factfinder.runner.print.CampaignInformationPrinter; | ||
import de.factfinder.runner.print.SearchResultInformationPrinter; | ||
import de.factfinder.client.ApiException; | ||
import de.factfinder.client.api.CampaignApi; | ||
import de.factfinder.client.model.Campaign; | ||
import de.factfinder.runner.print.CampaignInformationPrinter; | ||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
|
||
import java.util.Arrays; | ||
import java.util.Collections; | ||
import java.util.List; | ||
|
||
/** | ||
* This class demonstrates the usage of the FACT-Finder REST API to check for product campaigns. | ||
*/ | ||
public final class RunnerProductCampaign { | ||
private static final Logger LOG = LogManager.getLogger(RunnerProductCampaign.class); | ||
private static final String CHANNEL = Settings.getChannel(); | ||
|
||
private static final boolean IDS_ONLY = false; | ||
/** Example data for getting campaigns. Please adjust it according to your data. */ | ||
private static final String PRODUCT_NUMBER = "025-0004"; | ||
private static final List<String> SHOPPING_CART_PRODUCT_NUMBER_LIST = Arrays.asList(PRODUCT_NUMBER, "702-0011"); | ||
private static final String PAGE_ID = "landingpage"; | ||
private static final String SESSION_ID = "session123"; | ||
private static final String ADVISOR_STATUS_EXAMPLE = "advisorStatus_example"; | ||
private static final Logger LOG = LogManager.getLogger(RunnerProductCampaign.class); | ||
private static final String CHANNEL = Settings.getChannel(); | ||
|
||
private RunnerProductCampaign() { | ||
} | ||
private static final boolean IDS_ONLY = false; | ||
/** | ||
* Example data for getting campaigns. Please adjust it according to your data. | ||
*/ | ||
private static final String ID = "025-0004"; | ||
private static final List<String> SHOPPING_CART_PRODUCT_NUMBER_LIST = Arrays.asList(ID, "702-0011"); | ||
private static final String PAGE_ID = "landingpage"; | ||
private static final String SESSION_ID = "session123"; | ||
private static final String PURCHASER_ID = "purchaser123"; | ||
|
||
public static void main(final String[] args) { | ||
Settings.setupAuthKeyRefreshingClientWithHigherTimeout(); | ||
private RunnerProductCampaign() { | ||
} | ||
|
||
final SearchResultInformationPrinter searchResultInfoPrinter = new SearchResultInformationPrinter(); | ||
final CampaignInformationPrinter campaignInfoPrinter = new CampaignInformationPrinter(searchResultInfoPrinter); | ||
public static void main(final String[] args) { | ||
final CampaignInformationPrinter campaignInfoPrinter = new CampaignInformationPrinter(); | ||
|
||
final CampaignApi apiInstance = new CampaignApi(); | ||
final CampaignApi campaignClient = new CampaignApi(Settings.getClient()); | ||
|
||
printProductCampaigns(campaignInfoPrinter, apiInstance); | ||
printShoppingCartCampaigns(campaignInfoPrinter, apiInstance); | ||
printPageCampaigns(campaignInfoPrinter, apiInstance); | ||
} | ||
printProductCampaigns(campaignInfoPrinter, campaignClient); | ||
printShoppingCartCampaigns(campaignInfoPrinter, campaignClient); | ||
printPageCampaigns(campaignInfoPrinter, campaignClient); | ||
} | ||
|
||
private static void printProductCampaigns(final CampaignInformationPrinter campaignInfoPrinter, final CampaignApi apiInstance) { | ||
try { | ||
LOG.info("------------------------- Product campaigns -------------------------"); | ||
final List<Campaign> campaigns = apiInstance.getProductCampaignsUsingGET(CHANNEL, PRODUCT_NUMBER, IDS_ONLY, SESSION_ID, ADVISOR_STATUS_EXAMPLE); | ||
campaignInfoPrinter.printCampaigns(campaigns); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when using CampaignApi#getProductCampaignsUsingGET", e); | ||
} | ||
} | ||
private static void printProductCampaigns(final CampaignInformationPrinter campaignInfoPrinter, final CampaignApi campaignClient) { | ||
try { | ||
LOG.info("------------------------- Product campaigns -------------------------"); | ||
final List<Campaign> campaigns = campaignClient.getProductCampaignsUsingGET(CHANNEL, ID, IDS_ONLY, "productNumber", PURCHASER_ID, SESSION_ID, null, null, Collections.emptyList()); | ||
campaignInfoPrinter.printCampaigns(campaigns); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when using CampaignApi#getProductCampaignsUsingGET", e); | ||
} | ||
} | ||
|
||
private static void printShoppingCartCampaigns(final CampaignInformationPrinter campaignInfoPrinter, final CampaignApi apiInstance) { | ||
try { | ||
LOG.info("------------------------- Shopping cart campaigns -------------------------"); | ||
final List<Campaign> campaigns = apiInstance.getShoppingCartCampaignsUsingGET(CHANNEL, SHOPPING_CART_PRODUCT_NUMBER_LIST, IDS_ONLY, SESSION_ID, | ||
ADVISOR_STATUS_EXAMPLE); | ||
campaignInfoPrinter.printCampaigns(campaigns); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when using CampaignApi#getShoppingCartCampaignsUsingGET", e); | ||
} | ||
} | ||
private static void printShoppingCartCampaigns(final CampaignInformationPrinter campaignInfoPrinter, final CampaignApi campaignClient) { | ||
try { | ||
LOG.info("------------------------- Shopping cart campaigns -------------------------"); | ||
final List<Campaign> campaigns = campaignClient.getShoppingCartCampaignsUsingGET(CHANNEL, SHOPPING_CART_PRODUCT_NUMBER_LIST, IDS_ONLY, PURCHASER_ID, | ||
SESSION_ID, null, null, Collections.emptyList()); | ||
campaignInfoPrinter.printCampaigns(campaigns); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when using CampaignApi#getShoppingCartCampaignsUsingGET", e); | ||
} | ||
} | ||
|
||
private static void printPageCampaigns(final CampaignInformationPrinter campaignInfoPrinter, final CampaignApi apiInstance) { | ||
try { | ||
LOG.info("------------------------- Page campaigns -------------------------"); | ||
final List<Campaign> campaigns = apiInstance.getPageCampaignsUsingGET(CHANNEL, PAGE_ID, IDS_ONLY, SESSION_ID, ADVISOR_STATUS_EXAMPLE); | ||
campaignInfoPrinter.printCampaigns(campaigns); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when using CampaignApi#getPageCampaignsUsingGET", e); | ||
} | ||
} | ||
private static void printPageCampaigns(final CampaignInformationPrinter campaignInfoPrinter, final CampaignApi campaignClient) { | ||
try { | ||
LOG.info("------------------------- Page campaigns -------------------------"); | ||
final List<Campaign> campaigns = campaignClient.getPageCampaignsUsingGET(CHANNEL, PAGE_ID, IDS_ONLY, PURCHASER_ID, SESSION_ID, null, null, Collections.emptyList()); | ||
campaignInfoPrinter.printCampaigns(campaigns); | ||
} catch (final ApiException e) { | ||
LOG.error("Exception when using CampaignApi#getPageCampaignsUsingGET", e); | ||
} | ||
} | ||
} |
Oops, something went wrong.