Skip to content

Commit

Permalink
PS-42243: BTE Time & Labor entities (#455)
Browse files Browse the repository at this point in the history
  • Loading branch information
ALNAUA authored Feb 22, 2024
1 parent a5673b7 commit 6f297ab
Show file tree
Hide file tree
Showing 43 changed files with 8,068 additions and 4 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>com.bullhorn</groupId>
<artifactId>sdk-rest</artifactId>
<version>2.3.6</version>
<version>2.3.7</version>
<packaging>jar</packaging>

<name>Bullhorn REST SDK</name>
Expand Down
28 changes: 28 additions & 0 deletions src/main/java/com/bullhornsdk/data/api/mock/MockDataLoader.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@ package com.bullhornsdk.data.api.mock
import com.bullhornsdk.data.api.helper.RestJsonConverter
import com.bullhornsdk.data.api.helper.concurrency.ConcurrencyService
import com.bullhornsdk.data.api.helper.concurrency.standard.RestConcurrencyService
import com.bullhornsdk.data.model.entity.core.bte.Holiday
import com.bullhornsdk.data.model.entity.core.bte.HolidayInstance
import com.bullhornsdk.data.model.entity.core.bte.rules.ClientCorporationBillRuleset
import com.bullhornsdk.data.model.entity.core.bte.rules.ClientCorporationBillRulesetVersion
import com.bullhornsdk.data.model.entity.core.bte.rules.ClientCorporationPayRuleset
import com.bullhornsdk.data.model.entity.core.bte.rules.ClientCorporationPayRulesetVersion
import com.bullhornsdk.data.model.entity.core.bte.rules.TimeLaborEvalRule
import com.bullhornsdk.data.model.entity.core.bte.rules.TimeLaborEvalRuleTemplate
import com.bullhornsdk.data.model.entity.core.certificationrequirement.CandidateCertificationRequirement
import com.bullhornsdk.data.model.entity.core.certificationrequirement.CertificationRequirement
import com.bullhornsdk.data.model.entity.core.certificationrequirement.JobSubmissionCertificationRequirement
Expand Down Expand Up @@ -714,6 +722,16 @@ public class MockDataLoader {
entityFiles.put(EdsEntityTypeSchemaVersion.class, "eds/entitytypeschemaversion-data.txt");
entityFiles.put(EdsSourceSystem.class, "eds/sourcesystem-data.txt");

// bte
entityFiles.put(ClientCorporationBillRuleset.class, "bte/rules/clientcorporationbillruleset-data.txt");
entityFiles.put(ClientCorporationBillRulesetVersion.class, "bte/rules/clientcorporationbillrulesetversion-data.txt");
entityFiles.put(ClientCorporationPayRuleset.class, "bte/rules/clientcorporationpayruleset-data.txt");
entityFiles.put(ClientCorporationPayRulesetVersion.class, "bte/rules/clientcorporationpayrulesetversion-data.txt");
entityFiles.put(TimeLaborEvalRule.class, "bte/rules/timelaborevalrule-data.txt");
entityFiles.put(TimeLaborEvalRuleTemplate.class, "bte/rules/timelaborevalruletemplate-data.txt");
entityFiles.put(Holiday.class, "bte/holiday-data.txt");
entityFiles.put(HolidayInstance.class, "bte/holidayinstance-data.txt");

return entityFiles;
}

Expand Down Expand Up @@ -981,6 +999,16 @@ public class MockDataLoader {
entityMetaFiles.put(EdsEntityTypeSchemaVersion.class, "meta/eds/entitytypeschemaversion-meta-data.txt");
entityMetaFiles.put(EdsSourceSystem.class, "meta/eds/sourcesystem-meta-data.txt");

// bte
entityMetaFiles.put(ClientCorporationBillRuleset.class, "meta/bte/rules/clientcorporationbillruleset-meta-data.txt");
entityMetaFiles.put(ClientCorporationBillRulesetVersion.class, "meta/bte/rules/clientcorporationbillrulesetversion-meta-data.txt");
entityMetaFiles.put(ClientCorporationPayRuleset.class, "meta/bte/rules/clientcorporationpayruleset-meta-data.txt");
entityMetaFiles.put(ClientCorporationPayRulesetVersion.class, "meta/bte/rules/clientcorporationpayrulesetversion-meta-data.txt");
entityMetaFiles.put(TimeLaborEvalRule.class, "meta/bte/rules/timelaborevalrule-meta-data.txt");
entityMetaFiles.put(TimeLaborEvalRuleTemplate.class, "meta/bte/rules/timelaborevalruletemplate-meta-data.txt");
entityMetaFiles.put(Holiday.class, "meta/bte/holiday-meta-data.txt");
entityMetaFiles.put(HolidayInstance.class, "meta/bte/holidayinstance-meta-data.txt");

return entityMetaFiles;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.bullhornsdk.data.model.entity.core.bte;

import com.bullhornsdk.data.api.helper.json.DynamicNullValueFilter;
import com.bullhornsdk.data.model.entity.core.bte.rules.TimeLaborEvalRule;
import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.SimplifiedOptionsLookup;
import com.bullhornsdk.data.model.entity.core.standard.CorporateUser;
import com.bullhornsdk.data.model.entity.core.type.*;
import com.bullhornsdk.data.model.entity.embedded.OneToMany;
import com.fasterxml.jackson.annotation.JsonFilter;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.joda.time.DateTime;

@Data
@JsonFilter(DynamicNullValueFilter.FILTER_NAME)
@EqualsAndHashCode(callSuper = false)
public class Holiday extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity, SoftDeleteEntity, AssociationEntity {
Integer id;
String cronExpression;
DateTime dateAdded;
DateTime dateLastModified;
String description;
Integer duration;
SimplifiedOptionsLookup holidayCategoryLookup;
OneToMany<HolidayInstance> holidayInstances;
SimplifiedOptionsLookup holidayStatusLookup;
Boolean isDeleted;
Boolean isRun;
String label;
CorporateUser modifyingUser;
DateTime nextOccurrence;
OneToMany<TimeLaborEvalRule> timeLaborEvalRules;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.bullhornsdk.data.model.entity.core.bte;

import com.bullhornsdk.data.api.helper.json.DynamicNullValueFilter;
import com.bullhornsdk.data.model.entity.core.standard.CorporateUser;
import com.bullhornsdk.data.model.entity.core.type.*;
import com.fasterxml.jackson.annotation.JsonFilter;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.joda.time.DateTime;

@Data
@JsonFilter(DynamicNullValueFilter.FILTER_NAME)
@EqualsAndHashCode(callSuper = false)
public class HolidayInstance extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity, AssociationEntity {
Integer id;
DateTime dateAdded;
DateTime dateLastModified;
DateTime endAt;
Holiday holiday;
CorporateUser modifyingUser;
DateTime startAt;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.bullhornsdk.data.model.entity.core.bte.rules;

import com.bullhornsdk.data.api.helper.RestOneToManySerializer;
import com.bullhornsdk.data.api.helper.json.DynamicNullValueFilter;
import com.bullhornsdk.data.model.entity.core.standard.ClientCorporation;
import com.bullhornsdk.data.model.entity.core.standard.CorporateUser;
import com.bullhornsdk.data.model.entity.core.type.*;
import com.bullhornsdk.data.model.entity.embedded.OneToMany;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.joda.time.DateTime;

@Data
@JsonFilter(DynamicNullValueFilter.FILTER_NAME)
@EqualsAndHashCode(callSuper = false)
public class ClientCorporationBillRuleset extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, EditHistoryEntity, DateLastModifiedEntity, EffectiveDateEntity, SoftDeleteEntity, AssociationEntity {
Integer id;
ClientCorporation clientCorporation;
DateTime dateAdded;
DateTime dateLastModified;
String effectiveDate;
String effectiveEndDate;
Boolean isDeleted;
CorporateUser owner;
@JsonSerialize(using = RestOneToManySerializer.class)
OneToMany<TimeLaborEvalRule> timeLaborEvalRules;
Integer versionID;
OneToMany<ClientCorporationBillRulesetVersion> versions;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.bullhornsdk.data.model.entity.core.bte.rules;

import com.bullhornsdk.data.api.helper.RestOneToManySerializer;
import com.bullhornsdk.data.api.helper.json.DynamicNullValueFilter;
import com.bullhornsdk.data.model.entity.core.standard.ClientCorporation;
import com.bullhornsdk.data.model.entity.core.type.*;
import com.bullhornsdk.data.model.entity.embedded.OneToMany;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.joda.time.DateTime;

@Data
@JsonFilter(DynamicNullValueFilter.FILTER_NAME)
@EqualsAndHashCode(callSuper = false)
public class ClientCorporationBillRulesetVersion extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity, EffectiveDateEntity, AssociationEntity {
Integer id;
ClientCorporation clientCorporation;
DateTime dateAdded;
DateTime dateLastModified;
String effectiveDate;
String effectiveEndDate;
Boolean isFirst;
@JsonSerialize(using = RestOneToManySerializer.class)
OneToMany<TimeLaborEvalRule> timeLaborEvalRules;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.bullhornsdk.data.model.entity.core.bte.rules;

import com.bullhornsdk.data.api.helper.RestOneToManySerializer;
import com.bullhornsdk.data.api.helper.json.DynamicNullValueFilter;
import com.bullhornsdk.data.model.entity.core.standard.ClientCorporation;
import com.bullhornsdk.data.model.entity.core.standard.CorporateUser;
import com.bullhornsdk.data.model.entity.core.type.*;
import com.bullhornsdk.data.model.entity.embedded.OneToMany;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.joda.time.DateTime;

@Data
@JsonFilter(DynamicNullValueFilter.FILTER_NAME)
@EqualsAndHashCode(callSuper = false)
public class ClientCorporationPayRuleset extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, EditHistoryEntity, DateLastModifiedEntity, EffectiveDateEntity, SoftDeleteEntity, AssociationEntity {
Integer id;
ClientCorporation clientCorporation;
DateTime dateAdded;
DateTime dateLastModified;
String effectiveDate;
String effectiveEndDate;
Boolean isDeleted;
CorporateUser owner;
@JsonSerialize(using = RestOneToManySerializer.class)
OneToMany<TimeLaborEvalRule> timeLaborEvalRules;
Integer versionID;
OneToMany<ClientCorporationPayRulesetVersion> versions;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.bullhornsdk.data.model.entity.core.bte.rules;

import com.bullhornsdk.data.api.helper.RestOneToManySerializer;
import com.bullhornsdk.data.api.helper.json.DynamicNullValueFilter;
import com.bullhornsdk.data.model.entity.core.standard.ClientCorporation;
import com.bullhornsdk.data.model.entity.core.type.*;
import com.bullhornsdk.data.model.entity.embedded.OneToMany;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.joda.time.DateTime;

@Data
@JsonFilter(DynamicNullValueFilter.FILTER_NAME)
@EqualsAndHashCode(callSuper = false)
public class ClientCorporationPayRulesetVersion extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, DateLastModifiedEntity, EffectiveDateEntity, AssociationEntity {
Integer id;
ClientCorporation clientCorporation;
DateTime dateAdded;
DateTime dateLastModified;
String effectiveDate;
String effectiveEndDate;
Boolean isFirst;
@JsonSerialize(using = RestOneToManySerializer.class)
OneToMany<TimeLaborEvalRule> timeLaborEvalRules;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.bullhornsdk.data.model.entity.core.bte.rules;

import com.bullhornsdk.data.api.helper.RestOneToManySerializer;
import com.bullhornsdk.data.api.helper.json.DynamicNullValueFilter;
import com.bullhornsdk.data.model.entity.core.bte.Holiday;
import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.SimplifiedOptionsLookup;
import com.bullhornsdk.data.model.entity.core.standard.CorporateUser;
import com.bullhornsdk.data.model.entity.core.standard.State;
import com.bullhornsdk.data.model.entity.core.type.*;
import com.bullhornsdk.data.model.entity.embedded.OneToMany;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.joda.time.DateTime;

import java.util.Map;

@Data
@JsonFilter(DynamicNullValueFilter.FILTER_NAME)
@EqualsAndHashCode(callSuper = false)
public class TimeLaborEvalRule extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, AssociationEntity {
Integer id;
DateTime addedAtUtc;
CorporateUser addedByUser;
String description;
@JsonSerialize(using = RestOneToManySerializer.class)
OneToMany<Holiday> holidays;
Boolean isRun;
DateTime lastModifiedAtUtc;
CorporateUser modifyingUser;
String name;
Map<String, Object> parameters;
@JsonSerialize(using = RestOneToManySerializer.class)
OneToMany<State> states;
SimplifiedOptionsLookup timeLaborCalcTypeLookup;
SimplifiedOptionsLookup timeLaborEvalRuleCategoryLookup;
SimplifiedOptionsLookup timeLaborEvalRuleCombineCriteriaLookup;
SimplifiedOptionsLookup timeLaborEvalRuleStatusLookup;
OneToMany<TimeLaborEvalRuleTemplate> timeLaborEvalRuleTemplates;
SimplifiedOptionsLookup timeLaborEvalRuleTypeLookup;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.bullhornsdk.data.model.entity.core.bte.rules;

import com.bullhornsdk.data.api.helper.RestOneToManySerializer;
import com.bullhornsdk.data.api.helper.json.DynamicNullValueFilter;
import com.bullhornsdk.data.model.entity.core.paybill.optionslookup.SimplifiedOptionsLookup;
import com.bullhornsdk.data.model.entity.core.standard.CorporateUser;
import com.bullhornsdk.data.model.entity.core.type.*;
import com.bullhornsdk.data.model.entity.embedded.OneToMany;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.joda.time.DateTime;

@Data
@JsonFilter(DynamicNullValueFilter.FILTER_NAME)
@EqualsAndHashCode(callSuper = false)
public class TimeLaborEvalRuleTemplate extends AbstractEntity implements QueryEntity, UpdateEntity, CreateEntity, EditHistoryEntity, AssociationEntity {
Integer id;
DateTime addedAtUtc;
CorporateUser addedByUser;
String description;
Boolean isDefault;
DateTime lastModifiedAtUtc;
CorporateUser modifyingUser;
String name;
@JsonSerialize(using = RestOneToManySerializer.class)
OneToMany<TimeLaborEvalRule> timeLaborEvalRules;
OneToMany<SimplifiedOptionsLookup> timeLaborEvalRulesCalcTypes;
OneToMany<SimplifiedOptionsLookup> timeLaborEvalRulesCategories;
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
import java.util.List;
import java.util.Map;

import com.bullhornsdk.data.model.entity.core.bte.Holiday;
import com.bullhornsdk.data.model.entity.core.bte.HolidayInstance;
import com.bullhornsdk.data.model.entity.core.bte.rules.*;
import com.bullhornsdk.data.model.entity.core.certificationrequirement.CandidateCertificationRequirement;
import com.bullhornsdk.data.model.entity.core.certificationrequirement.CertificationRequirement;
import com.bullhornsdk.data.model.entity.core.certificationrequirement.JobSubmissionCertificationRequirement;
Expand Down Expand Up @@ -301,7 +304,7 @@ public enum BullhornEntityInfo {
PLACEMENT_SHIFT_SET("PlacementShiftSet", PlacementShiftSet.class, PlacementShiftSetWrapper.class, PlacementShiftSetListWrapper.class, "PlacementShiftSetEditHistory", "PlacementShiftSetEditHistoryFieldChange"),
PLACEMENT_SHIFT_SET_VERSION("PlacementShiftSetVersion", PlacementShiftSetVersion.class, PlacementShiftSetVersionWrapper.class, PlacementShiftSetVersionListWrapper.class, "PlacementShiftSetVersionEditHistory", "PlacementShiftSetVersionEditHistoryFieldChange"),

// PayBill Entities
// PayBill Entities
LOCATION("Location", Location.class, LocationWrapper.class, LocationListWrapper.class, "LocationEditHistory", "LocationEditHistoryFieldChange"),
BILLING_PROFILE("BillingProfile", BillingProfile.class, BillingProfileWrapper.class, BillingProfileListWrapper.class, null, null),
GENERAL_LEDGER_ACCOUNT("GeneralLedgerAccount", GeneralLedgerAccount.class, GeneralLedgerAccountWrapper.class, GeneralLedgerAccountListWrapper.class, null, null),
Expand Down Expand Up @@ -510,8 +513,18 @@ public enum BullhornEntityInfo {
EDS_DATA("EdsData", EdsData.class, EdsDataWrapper.class, EdsDataListWrapper.class, null, null),
EDS_ENTITY_TYPE("EdsEntityType", EdsEntityType.class, EdsEntityTypeWrapper.class, EdsEntityTypeListWrapper.class, null, null),
EDS_ENTITY_TYPE_SCHEMA_VERSION("EdsEntityTypeSchemaVersion", EdsEntityTypeSchemaVersion.class, EdsEntityTypeSchemaVersionWrapper.class, EdsEntityTypeSchemaVersionListWrapper.class, null, null),
EDS_SOURCE_SYSTEM("EdsSourceSystem", EdsSourceSystem.class, EdsSourceSystemWrapper.class, EdsSourceSystemListWrapper.class, null, null);

EDS_SOURCE_SYSTEM("EdsSourceSystem", EdsSourceSystem.class, EdsSourceSystemWrapper.class, EdsSourceSystemListWrapper.class, null, null),

// BTE
CLIENT_CORPORATION_BILL_RULESET("ClientCorporationBillRuleset", ClientCorporationBillRuleset.class, ClientCorporationBillRulesetWrapper.class, ClientCorporationBillRulesetListWrapper.class, "ClientCorporationBillRulesetEditHistory", "ClientCorporationBillRulesetEditHistoryFieldChange"),
CLIENT_CORPORATION_BILL_RULESET_VERSION("ClientCorporationBillRulesetVersion", ClientCorporationBillRulesetVersion.class, ClientCorporationBillRulesetVersionWrapper.class, ClientCorporationBillRulesetVersionListWrapper.class, null, null),
CLIENT_CORPORATION_PAY_RULESET("ClientCorporationPayRuleset", ClientCorporationPayRuleset.class, ClientCorporationPayRulesetWrapper.class, ClientCorporationPayRulesetListWrapper.class, "ClientCorporationPayRulesetEditHistory", "ClientCorporationPayRulesetEditHistoryFieldChange"),
CLIENT_CORPORATION_PAY_RULESET_VERSION("ClientCorporationPayRulesetVersion", ClientCorporationPayRulesetVersion.class, ClientCorporationPayRulesetVersionWrapper.class, ClientCorporationPayRulesetVersionListWrapper.class, null, null),
TIME_LABOR_EVAL_RULE("TimeLaborEvalRule", TimeLaborEvalRule.class, TimeLaborEvalRuleWrapper.class, TimeLaborEvalRuleListWrapper.class, null, null),
TIME_LABOR_EVAL_RULE_TEMPLATE("TimeLaborEvalRuleTemplate", TimeLaborEvalRuleTemplate.class, TimeLaborEvalRuleTemplateWrapper.class, TimeLaborEvalRuleTemplateListWrapper.class, null, null),
HOLIDAY("Holiday", Holiday.class, HolidayWrapper.class, HolidayListWrapper.class, null, null),
HOLIDAY_INSTANCE("HolidayInstance", HolidayInstance.class, HolidayInstanceWrapper.class, HolidayInstanceListWrapper.class, null, null),
;
private final String name;

private final Class<?> type;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.bullhornsdk.data.model.response.list;

import com.bullhornsdk.data.model.entity.core.bte.rules.ClientCorporationBillRuleset;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({"data", "count", "start"})
public class ClientCorporationBillRulesetListWrapper extends StandardListWrapper<ClientCorporationBillRuleset> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.bullhornsdk.data.model.response.list;

import com.bullhornsdk.data.model.entity.core.bte.rules.ClientCorporationBillRulesetVersion;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({"data", "count", "start"})
public class ClientCorporationBillRulesetVersionListWrapper extends StandardListWrapper<ClientCorporationBillRulesetVersion> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.bullhornsdk.data.model.response.list;

import com.bullhornsdk.data.model.entity.core.bte.rules.ClientCorporationPayRuleset;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({"data", "count", "start"})
public class ClientCorporationPayRulesetListWrapper extends StandardListWrapper<ClientCorporationPayRuleset> {

}
Loading

0 comments on commit 6f297ab

Please sign in to comment.