Skip to content
Merged
Prev Previous commit
Next Next commit
[JobRouter] SDK Review updates (#40011)
* SDK Review updates

* Update auto-generated models

* Add customization

* Fix customization

* Update package

* Update tests

* Linting
  • Loading branch information
williamzhao87 authored May 2, 2024
commit ba334df2da7fd855ecc696eabd2150dfd6c01408
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "java",
"TagPrefix": "java/communication/azure-communication-jobrouter",
"Tag": "java/communication/azure-communication-jobrouter_b970df9fcf"
"Tag": "java/communication/azure-communication-jobrouter_db1da26178"
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.type.ClassOrInterfaceType;
import org.slf4j.Logger;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;

Expand All @@ -29,6 +30,13 @@ public void customize(LibraryCustomization customization, Logger logger) {
addConnectionStringClientMethod(classCustomizationForJobRouterClientBuilder, "JobRouterClientBuilder");
addHttpPipelineAuthPolicyMethod(classCustomizationForJobRouterClientBuilder);
updateHttpPipelineMethod(classCustomizationForJobRouterClientBuilder);

logger.info("Customizing the ScoringRuleOptions class");
PackageCustomization modelsPackageCustomization = customization.getPackage("com.azure.communication.jobrouter.models");
ClassCustomization classCustomizationForScoringRuleOptions = modelsPackageCustomization.getClass("ScoringRuleOptions");
classCustomizationForScoringRuleOptions
.getMethod("setIsBatchScoringEnabled")
.setModifier(Modifier.PRIVATE);
}

private void addAuthTraits(ClassCustomization classCustomization) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ public static RouterRuleInternal getRouterRuleInternal(RouterRule routerRule) {
} else if (routerRule.getClass() == WebhookRouterRule.class) {
WebhookRouterRule webhookRouterRule = (WebhookRouterRule) routerRule;
prioritizationRuleInternal = new WebhookRouterRuleInternal()
.setAuthorizationServerUri(webhookRouterRule.getAuthorizationServerUri())
.setAuthorizationServerUri(webhookRouterRule.getAuthorizationServerUrl())
.setClientCredential(webhookRouterRule.getClientCredential())
.setWebhookUri(webhookRouterRule.getWebhookUri());
.setWebhookUri(webhookRouterRule.getWebhookUrl());
}
}

Expand All @@ -75,11 +75,11 @@ public static RouterRuleInternal convertRouterRuleToInternal(RouterRule rule) {
return new StaticRouterRuleInternal().setValue(RouterValueAdapter.getValue(((StaticRouterRule) rule).getValue()));
} else if (rule instanceof WebhookRouterRule) {
WebhookRouterRule webhookRouterRule = (WebhookRouterRule) rule;
return new WebhookRouterRuleInternal().setWebhookUri(webhookRouterRule.getWebhookUri())
return new WebhookRouterRuleInternal().setWebhookUri(webhookRouterRule.getWebhookUrl())
.setClientCredential(new OAuth2WebhookClientCredential()
.setClientId(webhookRouterRule.getClientCredential().getClientId())
.setClientSecret(webhookRouterRule.getClientCredential().getClientSecret()))
.setAuthorizationServerUri(webhookRouterRule.getAuthorizationServerUri());
.setAuthorizationServerUri(webhookRouterRule.getAuthorizationServerUrl());
}

return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,14 @@ public final class BestWorkerMode extends DistributionMode {
private ScoringRuleOptions scoringRuleOptions;

/** Creates an instance of BestWorkerMode class. */
public BestWorkerMode() {
this.kind = DistributionModeKind.BEST_WORKER;
public BestWorkerMode() {}

/**
* Returns kind discriminator.
* @return kind.
*/
public DistributionModeKind getKind() {
return DistributionModeKind.BEST_WORKER;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,14 @@ public final class CancelExceptionAction extends ExceptionAction {
private String dispositionCode;

/** Creates an instance of CancelExceptionAction class. */
public CancelExceptionAction() {
this.kind = ExceptionActionKind.CANCEL;
public CancelExceptionAction() {}

/**
* Returns kind discriminator.
* @return kind.
*/
public ExceptionActionKind getKind() {
return ExceptionActionKind.CANCEL;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,14 @@ public ConditionalQueueSelectorAttachment(
@JsonProperty(value = "queueSelectors") List<RouterQueueSelector> queueSelectors) {
this.condition = condition;
this.queueSelectors = queueSelectors;
this.kind = QueueSelectorAttachmentKind.CONDITIONAL;
}

/**
* Returns kind discriminator.
* @return kind.
*/
public QueueSelectorAttachmentKind getKind() {
return QueueSelectorAttachmentKind.CONDITIONAL;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,14 @@ public ConditionalWorkerSelectorAttachment(
@JsonProperty(value = "workerSelectors") List<RouterWorkerSelector> workerSelectors) {
this.condition = condition;
this.workerSelectors = workerSelectors;
this.kind = WorkerSelectorAttachmentKind.CONDITIONAL;
}

/**
* Returns kind discriminator.
* @return kind.
*/
public WorkerSelectorAttachmentKind getKind() {
return WorkerSelectorAttachmentKind.CONDITIONAL;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,13 @@
public final class DirectMapRouterRule extends RouterRule {

/** Creates an instance of DirectMapRouterRule class. */
public DirectMapRouterRule() {
this.kind = RouterRuleKind.DIRECT_MAP;
public DirectMapRouterRule() {}

/**
* Returns kind discriminator.
* @return kind.
*/
public RouterRuleKind getKind() {
return RouterRuleKind.DIRECT_MAP;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public abstract class DistributionMode {
* kind discriminator.
*/
@JsonProperty(value = "kind")
protected DistributionModeKind kind;
private DistributionModeKind kind;

/*
* Governs the minimum desired number of active concurrent offers a job can have.
Expand Down Expand Up @@ -123,7 +123,5 @@ public DistributionMode setBypassSelectors(Boolean bypassSelectors) {
* Returns kind discriminator.
* @return kind.
*/
public DistributionModeKind getKind() {
return this.kind;
}
public abstract DistributionModeKind getKind();
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.communication.jobrouter.models;

import com.azure.core.annotation.Immutable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
Expand All @@ -20,12 +21,13 @@
@JsonSubTypes.Type(name = "manualReclassify", value = ManualReclassifyExceptionAction.class),
@JsonSubTypes.Type(name = "reclassify", value = ReclassifyExceptionAction.class)
})
@Immutable
public abstract class ExceptionAction {
/**
* kind discriminator.
*/
@JsonProperty(value = "kind")
protected ExceptionActionKind kind;
private ExceptionActionKind kind;

/** Creates an instance of ExceptionAction class. */
public ExceptionAction() {}
Expand All @@ -49,7 +51,5 @@ public String getId() {
* Returns kind discriminator.
* @return kind.
*/
public ExceptionActionKind getKind() {
return this.kind;
}
public abstract ExceptionActionKind getKind();
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.communication.jobrouter.models;

import com.azure.core.annotation.Immutable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
Expand All @@ -19,12 +20,13 @@
@JsonSubTypes.Type(name = "queueLength", value = QueueLengthExceptionTrigger.class),
@JsonSubTypes.Type(name = "waitTime", value = WaitTimeExceptionTrigger.class)
})
@Immutable
public abstract class ExceptionTrigger {
/**
* kind discriminator.
*/
@JsonProperty(value = "kind")
protected ExceptionTriggerKind kind;
private ExceptionTriggerKind kind;

/** Creates an instance of ExceptionTrigger class. */
public ExceptionTrigger() {}
Expand All @@ -33,7 +35,5 @@ public ExceptionTrigger() {}
* Returns kind discriminator.
* @return kind.
*/
public ExceptionTriggerKind getKind() {
return this.kind;
}
public abstract ExceptionTriggerKind getKind();
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,14 @@ public final class ExpressionRouterRule extends RouterRule {
@JsonCreator
public ExpressionRouterRule(@JsonProperty(value = "expression") String expression) {
this.expression = expression;
this.kind = RouterRuleKind.EXPRESSION;
}

/**
* Returns kind discriminator.
* @return kind.
*/
public RouterRuleKind getKind() {
return RouterRuleKind.EXPRESSION;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,14 @@ public final class FunctionRouterRule extends RouterRule {
@JsonCreator
public FunctionRouterRule(@JsonProperty(value = "functionUri") String functionUri) {
this.functionUri = functionUri;
this.kind = RouterRuleKind.FUNCTION;
}

/**
* Returns kind discriminator.
* @return kind.
*/
public RouterRuleKind getKind() {
return RouterRuleKind.FUNCTION;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,14 @@
@Fluent
public final class LongestIdleMode extends DistributionMode {
/** Creates an instance of LongestIdleMode class. */
public LongestIdleMode() {
this.kind = DistributionModeKind.LONGEST_IDLE;
public LongestIdleMode() {}

/**
* Returns kind discriminator.
* @return kind.
*/
public DistributionModeKind getKind() {
return DistributionModeKind.LONGEST_IDLE;
}

/** {@inheritDoc} */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,14 @@ public final class ManualReclassifyExceptionAction extends ExceptionAction {
private List<RouterWorkerSelector> workerSelectors;

/** Creates an instance of ManualReclassifyExceptionAction class. */
public ManualReclassifyExceptionAction() {
this.kind = ExceptionActionKind.MANUAL_RECLASSIFY;
public ManualReclassifyExceptionAction() {}

/**
* Returns kind discriminator.
* @return kind.
*/
public ExceptionActionKind getKind() {
return ExceptionActionKind.MANUAL_RECLASSIFY;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,14 @@ public PassThroughQueueSelectorAttachment(
@JsonProperty(value = "labelOperator") LabelOperator labelOperator) {
this.key = key;
this.labelOperator = labelOperator;
this.kind = QueueSelectorAttachmentKind.PASS_THROUGH;
}

/**
* Returns kind discriminator.
* @return kind.
*/
public QueueSelectorAttachmentKind getKind() {
return QueueSelectorAttachmentKind.PASS_THROUGH;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,14 @@ public PassThroughWorkerSelectorAttachment(
@JsonProperty(value = "labelOperator") LabelOperator labelOperator) {
this.key = key;
this.labelOperator = labelOperator;
this.kind = WorkerSelectorAttachmentKind.PASS_THROUGH;
}

/**
* Returns kind discriminator.
* @return kind.
*/
public WorkerSelectorAttachmentKind getKind() {
return WorkerSelectorAttachmentKind.PASS_THROUGH;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,14 @@ public final class QueueLengthExceptionTrigger extends ExceptionTrigger {
@JsonCreator
public QueueLengthExceptionTrigger(@JsonProperty(value = "threshold") int threshold) {
this.threshold = threshold;
this.kind = ExceptionTriggerKind.QUEUE_LENGTH;
}

/**
* Returns kind discriminator.
* @return kind.
*/
public ExceptionTriggerKind getKind() {
return ExceptionTriggerKind.QUEUE_LENGTH;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.communication.jobrouter.models;

import com.azure.core.annotation.Immutable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
Expand All @@ -24,12 +25,13 @@
name = "weightedAllocation",
value = WeightedAllocationQueueSelectorAttachment.class)
})
@Immutable
public abstract class QueueSelectorAttachment {
/**
* kind discriminator.
*/
@JsonProperty(value = "kind")
protected QueueSelectorAttachmentKind kind;
private QueueSelectorAttachmentKind kind;

/** Creates an instance of QueueSelectorAttachment class. */
public QueueSelectorAttachment() {}
Expand All @@ -38,7 +40,5 @@ public QueueSelectorAttachment() {}
* Returns kind discriminator.
* @return kind.
*/
public QueueSelectorAttachmentKind getKind() {
return this.kind;
}
public abstract QueueSelectorAttachmentKind getKind();
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,14 @@ public final class ReclassifyExceptionAction extends ExceptionAction {
private Map<String, RouterValue> labelsToUpsert;

/** Creates an instance of ReclassifyExceptionAction class. */
public ReclassifyExceptionAction() {
this.kind = ExceptionActionKind.RECLASSIFY;
public ReclassifyExceptionAction() {}

/**
* Returns kind discriminator.
* @return kind.
*/
public ExceptionActionKind getKind() {
return ExceptionActionKind.RECLASSIFY;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,14 @@
public final class RoundRobinMode extends DistributionMode {

/** Creates an instance of RoundRobinMode class. */
public RoundRobinMode() {
this.kind = DistributionModeKind.ROUND_ROBIN;
public RoundRobinMode() {}

/**
* Returns kind discriminator.
* @return kind.
*/
public DistributionModeKind getKind() {
return DistributionModeKind.ROUND_ROBIN;
}

/** {@inheritDoc} */
Expand Down
Loading