7 Commits
Author SHA1 Message Date
wim f5499be4fe Update package version to 0.2.0.NEXT
Create Release / release (push) Canceled after 0s
2026-03-26 20:08:25 +00:00
wim cbe89f52f0 Update Package Version Log with 0.1.0-2-feature/UnlockedManagedPackage-Beta 2026-03-26 20:07:07 +00:00
wim 3a20a06d8e New package version 0.1.0-2-feature/UnlockedManagedPackage created 2026-03-26 20:07:07 +00:00
wim e3e3437ce2 Build pipelines for Unlocked Package 2026-03-26 20:01:15 +00:00
wim 1ea87f17bf Build pipelines for Unlocked Package 2026-03-26 20:01:12 +00:00
wim eae9c80171 Build pipelines for Unlocked Package 2026-03-26 19:59:52 +00:00
wim 583b83938c Build pipelines for Unlocked Package 2026-03-26 19:59:20 +00:00
115 changed files with 191 additions and 476 deletions
+12 -13
View File
@@ -20,19 +20,13 @@ jobs:
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 24 node-version: 20
- name: Install Salesforce CLI with NPM - name: Install Salesforce CLI with NPM
run: npm install @salesforce/cli --global run: npm install @salesforce/cli --global
- name: Authorize with the dev hub - name: Authorize with the dev hub
env: run: echo "${{ secrets.SFDX_AUTH_URL }}" | sf org login sfdx-url --alias SFDX-ENV --set-default-dev-hub --sfdx-url-stdin
SFDX_AUTH_URL: ${{ secrets.SFDX_AUTH_URL }}
run: |
echo "$SFDX_AUTH_URL" | wc -c
echo "${{ secrets.SFDX_AUTH_URL }}" | wc -c
echo "$Env:SFDX_AUTH_URL" | wc -c
echo "${{ secrets.SFDX_AUTH_URL }}" | sf org login sfdx-url --alias SFDX-ENV --set-default-dev-hub --sfdx-url-stdin
- name: Setup the config parameters needed - name: Setup the config parameters needed
run: | run: |
@@ -40,8 +34,8 @@ jobs:
- name: Setup Git Configuration - name: Setup Git Configuration
run: | run: |
git config --local user.name github-actions git config --global user.name 'WimVelzeboer'
git config --local user.email github-actions@github.com git config --global user.email 'wim@velzeboer.nl'
- name: Fetch required dependency framework fflib-apex-mocks - name: Fetch required dependency framework fflib-apex-mocks
run: | run: |
@@ -62,10 +56,8 @@ jobs:
id: get-branch-name id: get-branch-name
run: | run: |
if [ "${{ github.event_name }}" == "pull_request" ]; then if [ "${{ github.event_name }}" == "pull_request" ]; then
echo "Branch name: ${{ github.head_ref }}"
echo "BRANCH_NAME=${{ github.head_ref }}" >> $GITHUB_OUTPUT echo "BRANCH_NAME=${{ github.head_ref }}" >> $GITHUB_OUTPUT
else else
echo "Branch name: ${GITHUB_REF#refs/heads/}"
echo "BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT echo "BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT
fi fi
@@ -86,6 +78,13 @@ jobs:
echo "PACKAGE_ID=$VERSION_ID" >> "$GITHUB_ENV" echo "PACKAGE_ID=$VERSION_ID" >> "$GITHUB_ENV"
echo "PACKAGE_VERSION=$VERSION" >> "$GITHUB_ENV" echo "PACKAGE_VERSION=$VERSION" >> "$GITHUB_ENV"
- name: Appending to package version log
run: |
DT=$(date '+%d/%m/%Y %H:%M:%S');
echo "|$PACKAGE_VERSION (BETA) | $PACKAGE_ID | Created on $DT |" >> README.md
git add README.md
git commit -am "Update Package Version Log with $PACKAGE_VERSION-Beta"
- name: Push changes to GIT - name: Push changes to GIT
run: | run: |
git push git push
+34 -35
View File
@@ -1,12 +1,11 @@
name: Publish a new package version name: Publish a new package version
on: on:
pull_request_target: pull_request:
branches: branches:
- main - main
types: types:
- closed - closed
workflow_dispatch:
jobs: jobs:
build: build:
@@ -14,17 +13,15 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout main branch - uses: actions/checkout@v2
uses: actions/checkout@v6
with: with:
ref: main ref: ${{github.event.pull_request.head.ref}}
token: ${{ secrets.CI_PAT }} repository: ${{github.event.pull_request.head.repo.full_name}}
fetch-depth: 0
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 24 node-version: 20
- name: Install Salesforce CLI with NPM - name: Install Salesforce CLI with NPM
run: npm install @salesforce/cli --global run: npm install @salesforce/cli --global
@@ -36,23 +33,33 @@ jobs:
run: | run: |
sf config set target-dev-hub SFDX-ENV --global sf config set target-dev-hub SFDX-ENV --global
- name: Get branch name
id: get-branch-name
run: |
if [ "${{ github.event_name }}" == "pull_request" ]; then
echo "Branch name: ${{ github.head_ref }}"
echo "BRANCH_NAME=${{ github.head_ref }}" >> $GITHUB_ENV
else
echo "Branch name: ${GITHUB_REF#refs/heads/}"
echo "BRANCH_NAME=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
fi
- name: Fetching Latest Package Version Id - name: Fetching Latest Package Version Id
run: | run: |
VERSION_ID=`cat sfdx-project.json | jq -r '.packageAliases | to_entries | [last] | .[0].value '` DATA=`sf package version list --packages "fflibApexExtensions" --target-dev-hub SFDX-ENV --branch $BRANCH_NAME --json`
LATEST_VERSION=`echo "$DATA" | jq '.result[-1]'`
VERSION=`echo "$LATEST_VERSION" | jq -r '.Version'`
VERSION_NAME=`echo "$LATEST_VERSION" | jq -r '.Name'`
VERSION_ID=`echo "$LATEST_VERSION" | jq -r '.SubscriberPackageVersionId'`
echo "Version: $VERSION"
echo "Version Name: $VERSION_NAME"
echo "Version ID: $VERSION_ID" echo "Version ID: $VERSION_ID"
JSON=`sf package version list --packages "fflibApexExtensions" --target-dev-hub SFDX-ENV --json`
DATA=`echo "$JSON" | jq -r --arg VERSION "$VERSION_ID" '.result | .[] | select(.SubscriberPackageVersionId == $VERSION)'`
VERSION_NUMBER=`echo "$DATA" | jq -r '.Version'`
echo "Version: $VERSION_NUMBER"
VERSION_NAME=`echo "$DATA" | jq -r '.Name'`
echo "Version Name: $VERSION_NAME"
echo "PACKAGE_VERSION_ID=$VERSION_ID" >> "$GITHUB_ENV" echo "PACKAGE_VERSION_ID=$VERSION_ID" >> "$GITHUB_ENV"
echo "PACKAGE_VERSION_NAME=$VERSION_NAME" >> "$GITHUB_ENV" echo "PACKAGE_VERSION_NAME=$VERSION_ID" >> "$GITHUB_ENV"
echo "PACKAGE_VERSION=$VERSION_NUMBER" >> "$GITHUB_ENV" echo "PACKAGE_VERSION=$VERSION" >> "$GITHUB_ENV"
- name: Promoting BETA Package Version - name: Promoting BETA Package Version
run: | run: |
@@ -62,35 +69,27 @@ jobs:
run: | run: |
echo "Increasing package versionName" echo "Increasing package versionName"
NEW_PACKAGE_VERSION_NAME=`echo "ver $(echo "$PACKAGE_VERSION" | cut -d ' ' -f2 | cut -d '.' -f1).$(expr "$(echo "$PACKAGE_VERSION" | cut -d ' ' -f2 | cut -d '.' -f2)" + 1)"` NEW_PACKAGE_VERSION_NAME=`echo "ver $(echo "$PACKAGE_VERSION" | cut -d ' ' -f2 | cut -d '.' -f1).$(expr "$(echo "$PACKAGE_VERSION" | cut -d ' ' -f2 | cut -d '.' -f2)" + 1)"`
echo "Current package version name: $PACKAGE_VERSION"
echo "New package version name: $NEW_PACKAGE_VERSION_NAME"
cat sfdx-project.json | jq -r --arg VERSION "$NEW_PACKAGE_VERSION_NAME" '.packageDirectories |= map(select(.package == "fflibApexExtensions").versionName = $VERSION)' > tmp.json cat sfdx-project.json | jq -r --arg VERSION "$NEW_PACKAGE_VERSION_NAME" '.packageDirectories |= map(select(.package == "fflibApexExtensions").versionName = $VERSION)' > tmp.json
mv tmp.json sfdx-project.json mv tmp.json sfdx-project.json
echo "Increasing package versionNumber" echo "Increasing package versionNumber"
NEW_PACKAGE_VERSION=`echo "$(echo "$NEW_PACKAGE_VERSION_NAME" | cut -d ' ' -f2).0.NEXT"` NEW_PACKAGE_VERSION=`echo "$(echo "$NEW_PACKAGE_VERSION_NAME" | cut -d ' ' -f2).0.NEXT"`
echo "Current package version: $PACKAGE_VERSION"
echo "New package version: $NEW_PACKAGE_VERSION"
cat sfdx-project.json | jq -r --arg VERSION "$NEW_PACKAGE_VERSION" '.packageDirectories |= map(select(.package == "fflibApexExtensions").versionNumber = $VERSION)' > tmp.json cat sfdx-project.json | jq -r --arg VERSION "$NEW_PACKAGE_VERSION" '.packageDirectories |= map(select(.package == "fflibApexExtensions").versionNumber = $VERSION)' > tmp.json
mv tmp.json sfdx-project.json mv tmp.json sfdx-project.json
echo "NEW_PACKAGE_VERSION_NAME=$NEW_PACKAGE_VERSION_NAME" >> "$GITHUB_ENV" echo "NEW_PACKAGE_VERSION_NAME=$NEW_PACKAGE_VERSION_NAME" >> "$GITHUB_ENV"
echo "NEW_PACKAGE_VERSION=$NEW_PACKAGE_VERSION" >> "$GITHUB_ENV" echo "NEW_PACKAGE_VERSION=$NEW_PACKAGE_VERSION" >> "$GITHUB_ENV"
- name: Appending to package version log - name: Updating Package Version Log
run: | run: |
DT=$(date '+%d/%m/%Y %H:%M:%S'); sed -i "s/ (BETA) | $$PACKAGE_VERSION_ID/| $PACKAGE_VERSION_ID/g" README.md
echo "| $PACKAGE_VERSION | $PACKAGE_VERSION_ID | Created on $DT |" >> README.md
REPLACEMENT="sf package install --package $PACKAGE_VERSION_I0--wait=10 --target-org YOUR_ORG_ALIAS"
sed -i 's|^sf package install.*|sf package install --package '$PACKAGE_VERSION_ID' --wait=10 --target-org $YOUR_ORG_ALIAS|' README.md
sed -i 's|^Either clone the repository.*|Either clone the repository and import the package manually, use the [Package Installation URL](https://login.salesforce.com/packaging/installPackage.apexp?p0='$PACKAGE_VERSION_ID')|' README.md
- name: Committing and pushing changes - name: Committing can pushing changes
run: | run: |
git config --local user.name github-actions git config --global user.name 'WimVelzeboer'
git config --local user.email github-actions@github.com git config --global user.email 'wim@velzeboer.nl'
git add sfdx-project.json git add sfdx-project.json
git add README.md git add README.md
git commit -am "Update package version to $NEW_PACKAGE_VERSION" git commit -am "Update package version to $NEW_PACKAGE_VERSION"
git tag -a "v$PACKAGE_VERSION" -m "Release Version $PACKAGE_VERSION" -m "" -m "Package Version Id: $PACKAGE_VERSION_ID" git tag -a "v$PACKAGE_VERSION" -m "Release Version $PACKAGE_VERSION\n\nPackage Version Id: $PACKAGE_VERSION_ID"
git push origin main --tags git push --tags
+4 -18
View File
@@ -6,17 +6,6 @@ This extension package is dependent on the following packages:
- [fflib-apex-mocks](https://github.com/apex-enterprise-patterns/fflib-apex-mocks) - [fflib-apex-mocks](https://github.com/apex-enterprise-patterns/fflib-apex-mocks)
- [fflib-apex-common](https://github.com/apex-enterprise-patterns/fflib-apex-common) - [fflib-apex-common](https://github.com/apex-enterprise-patterns/fflib-apex-common)
## Installation
The package is available as an Unlocked Managed Package (2GP) with package ID `0HoJ8000000KyjfKAC`.
Either clone the repository and import the package manually, use the [Package Installation URL](https://login.salesforce.com/packaging/installPackage.apexp?p0=04tJ9000000YW1CIAW)
or execute the following SFDX CLI command in your terminal:
```bash
sf package install --package 04tJ9000000YW1CIAW --wait=10 --target-org $YOUR_ORG_ALIAS
```
_Replace `$YOUR_ORG_ALIAS` with the alias of your target org_
## Extensions pack contents ## Extensions pack contents
These features are offered in this extension package: These features are offered in this extension package:
@@ -121,10 +110,7 @@ Thank you for your donations!
## Package version log ## Package version log
| Package version | Package ID | Description | | Package version | Package ID | Description |
|-----------------------------------------------|--------------------|--------------------------------| |-----------------|--------------------|--------------------------|
| 0.1.0-2 | 04tJ8000000kaKVIAY | Created on 26/03/2026 20:07:07 | |0.1.0-1-feature/UnlockedManagedPackage (BETA) | 04tJ8000000kaKQIAY | Created on 26/03/2026 18:14:51 |
| 0.7.0.1 | 04tJ8000000kaKzIAI | Created on 30/03/2026 13:49:28 | |0.1.0-2-feature/UnlockedManagedPackage (BETA) | 04tJ8000000kaKVIAY | Created on 26/03/2026 20:07:07 |
| 0.8.0.1 | 04tJ8000000kaL4IAI | Created on 31/03/2026 11:51:16 |
| 0.9.0.1 | 04tJ8000000kaPHIAY | Created on 05/08/2026 08:36:21 |
| 0.10.0.1 | 04tJ9000000YW1CIAW | Created on 13/08/2026 11:06:34 |
+5 -7
View File
@@ -1,8 +1,8 @@
{ {
"packageDirectories": [ "packageDirectories": [
{ {
"versionName": "ver 0.11", "versionName": "ver 0.2",
"versionNumber": "0.11.0.NEXT", "versionNumber": "0.2.0.NEXT",
"path": "sfdx-source", "path": "sfdx-source",
"default": true, "default": true,
"package": "fflibApexExtensions", "package": "fflibApexExtensions",
@@ -12,12 +12,10 @@
"name": "fflib-apex-extensions", "name": "fflib-apex-extensions",
"namespace": "", "namespace": "",
"sfdcLoginUrl": "https://login.salesforce.com", "sfdcLoginUrl": "https://login.salesforce.com",
"sourceApiVersion": "67.0", "sourceApiVersion": "65.0",
"packageAliases": { "packageAliases": {
"fflibApexExtensions": "0HoJ8000000KyjfKAC", "fflibApexExtensions": "0HoJ8000000KyjfKAC",
"fflibApexExtensions@0.7.0-1": "04tJ8000000kaKzIAI", "fflibApexExtensions@0.1.0-1-feature/UnlockedManagedPackage": "04tJ8000000kaKQIAY",
"fflibApexExtensions@0.8.0-1-apiUpgrade": "04tJ8000000kaL4IAI", "fflibApexExtensions@0.1.0-2-feature/UnlockedManagedPackage": "04tJ8000000kaKVIAY"
"fflibApexExtensions@0.9.0-1-feature/genericSelector": "04tJ8000000kaPHIAY",
"fflibApexExtensions@0.10.0-1-api-upgrade-67": "04tJ9000000YW1CIAW"
} }
} }
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1078,29 +1078,6 @@ public virtual class fflib_SObjects2
return getRecordsNotIn(sObjectField, new Set<String>{ value }); return getRecordsNotIn(sObjectField, new Set<String>{ value });
} }
/**
* Overrides the fflib_SObjects base implementation, which casts every value to `String` and
* uses `String.isNotBlank` — that throws a TypeException on Date / Datetime / Number / Lookup
* fields. This override generalises to "any non-null value, and for Strings also non-blank",
* so the helper works for every field type.
*
* @param sObjectField The field to check.
*
* @return The records whose value for `field` is non-null (and, for Strings, non-blank).
*/
protected List<SObject> getRecordsWithNonBlankFieldValues(Schema.SObjectField sObjectField)
{
List<SObject> result = new List<SObject>();
for (SObject record : getRecords())
{
Object value = record.get(sObjectField);
if (value == null) continue;
if (value instanceof String && String.isBlank((String) value)) continue;
result.add(record);
}
return result;
}
@TestVisible @TestVisible
protected virtual List<SObject> getRecordsNotIn(Schema.SObjectField sObjectField, Set<String> values) protected virtual List<SObject> getRecordsNotIn(Schema.SObjectField sObjectField, Set<String> values)
{ {
@@ -1478,4 +1455,4 @@ public virtual class fflib_SObjects2
} }
public class DeveloperException extends Exception { } public class DeveloperException extends Exception { }
} }
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,209 +0,0 @@
/**
* File Name: fflib_SObjectsSelector
*
* Generic SObject selector class
*
* @author architect ir. Wilhelmus G.J. Velzeboer
*
* Copyright (c), W.G.J. Velzeboer,
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above author notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* - Neither the name of the author nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
public with sharing class fflib_SObjectsSelector
extends fflib_SObjectSelector {
/**
* The current implementation type of the service
*/
private static System.Type implementationType = fflib_SObjectsSelector.class;
/**
* The implementation replacement for the service,
*/
private static fflib_SObjectsSelector implementationReplacement;
/**
* The list of field that should be retrieved with each query
*/
private List<Schema.SObjectField> sObjectFields { get; set; }
/**
* Holds the SObjectType of the records to query
*/
private Schema.SObjectType sObjectType { get; set; }
/**
* Runs the query in System Mode, disabling FLS, CRUD & sharing rules
*
* @param sObjectType The SObjectType of the records to query
* @param sObjectFields a set of SObjectFields to get each time a Quote records is queried
*
* @return New instance of the selector
*/
public static fflib_SObjectsSelector newElevatedInstance(SObjectType sObjectType, Set<SObjectField> sObjectFields) {
fflib_SObjectsSelector selector =
(implementationReplacement == null) ? (fflib_SObjectsSelector) implementationType.newInstance() : implementationReplacement;
selector.setDataAccess(fflib_SObjectSelector.DataAccess.SYSTEM_MODE);
selector.setSObjectFields(sObjectFields);
selector.setSObjectType(sObjectType);
return selector;
}
/**
* Runs the query in System Mode, disabling FLS, CRUD & sharing rules
*
* @param sObjectType The SObjectType of the records to query
* @param sObjectFields a set of SObjectFields to get each time a Quote records is queried
*
* @return New instance of the selector
*/
public static fflib_SObjectsSelector newElevatedInstance(SObjectType sObjectType, Set<String> sObjectFields) {
fflib_SObjectsSelector selector =
(implementationReplacement == null) ? (fflib_SObjectsSelector) implementationType.newInstance() : implementationReplacement;
selector.setDataAccess(fflib_SObjectSelector.DataAccess.SYSTEM_MODE);
selector.setSObjectFields(sObjectType, sObjectFields);
selector.setSObjectType(sObjectType);
return selector;
}
/**
* Class constructor
* This should not be used directly by an application but only by fflib
*/
public fflib_SObjectsSelector() {
super();
}
/**
* The fields to always include in all queries
*
* @return Returns a list of default fields that are always queried
*/
public virtual List<Schema.SObjectField> getSObjectFieldList() {
return this.sObjectFields;
}
/**
* Defines the SObjectType for this selector
*
* @return the SObjectType of this selector
*/
public Schema.SObjectType getSObjectType() {
return this.sObjectType;
}
/**
* Replace the default implementation of the service
*
* @param systemType The System.Type of the replacement class
*/
public static void replaceWith(System.Type systemType) {
fflib_SObjectsSelector.implementationType = systemType;
}
/**
* Replace the default implementation of the service
*
* @param replacement A replacement instance
*
* @see fflib_SObjectsSelector
*/
public static void replaceWith(fflib_SObjectsSelector replacement) {
fflib_SObjectsSelector.implementationReplacement = replacement;
}
/**
* Queries records by their record Id
*
* @param idSet A set of record Id values
*
* @return A list of SObject records
*/
public virtual List<SObject> selectById(Set<Id> idSet) {
return Database.query(
newQueryFactory()
.setCondition('Id IN :idSet')
.toSOQL()
);
}
/**
* Queries SObject records by their record Id
*
* @param sObjectField The Id field to query
* @param ids A set of record Id values
*
* @return A list of SObject records
*/
public List<SObject> selectByIdField(SObjectField sObjectField, Set<Id> ids) {
return Database.query(
newQueryFactory()
.setCondition(sObjectField.getDescribe().getName() + ' IN :ids')
.toSOQL()
);
}
/**
* Sets the list of fields that are fetched on each query
*
* @param sObjectFields A set of SObjectFields from the SObjectType
*
* @return Returns an instance of itself to allow for method chaining
*/
public fflib_SObjectsSelector setSObjectFields(Set<SObjectField> sObjectFields) {
this.sObjectFields = new List<SObjectField>(sObjectFields);
return this;
}
/**
* Sets the list of fields that are fetched on each query
*
* @param sObjectType The SObjectType of the provided fields
* @param fieldNames A set of SObject field names
*
* @return Returns an instance of itself to allow for method chaining
*/
public fflib_SObjectsSelector setSObjectFields(SObjectType sObjectType, Set<String> fieldNames) {
Map<String, SObjectField> sObjectFieldsByName = sObjectType.getDescribe().fields.getMap();
Set<SObjectField> sObjectFields = new Set<SObjectField>();
for (String fieldName : fieldNames) {
if (sObjectFieldsByName.containsKey(fieldName) == false) continue;
sObjectFields.add(sObjectFieldsByName.get(fieldName));
}
setSObjectFields(sObjectFields);
return this;
}
/**
* Sets the SObjectType of the records to query
*
* @param sObjectType The SObjectType of the records to query
*
* @return Returns an instance of itself to allow for method chaining
*/
public fflib_SObjectsSelector setSObjectType(SObjectType sObjectType) {
this.sObjectType = sObjectType;
return this;
}
}
@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion>
<status>Active</status>
</ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -55,6 +55,6 @@ public with sharing class fflib_LogEventStoreListener extends fflib_LogEventDoma
) )
); );
} }
insert as system logEntryRecords; insert logEntryRecords;
} }
} }
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexTrigger xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexTrigger xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexTrigger> </ApexTrigger>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>66.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>66.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -10,27 +10,10 @@ private class fflib_ClassicUnitOfWorkFactoryTest
@IsTest @IsTest
static void testUnitOfWorkMock() static void testUnitOfWorkMock()
{ {
fflib_ApexMocks mocks = new fflib_ApexMocks();
fflib_ISObjectUnitOfWork unitOfWorkMock = new fflib_SObjectMocks.SObjectUnitOfWork(mocks);
new fflib_ClassicUnitOfWorkFactory() new fflib_ClassicUnitOfWorkFactory()
.setMock(newUnitOfWorkStub()); .setMock(unitOfWorkMock);
}
private static fflib_ISObjectUnitOfWork newUnitOfWorkStub() {
return (fflib_ISObjectUnitOfWork) Test.createStub(
fflib_ISObjectUnitOfWork.class,
new UnitOfWorkStubProvider()
);
}
private class UnitOfWorkStubProvider implements System.StubProvider {
public Object handleMethodCall(
Object stubbedObject,
String stubbedMethodName,
System.Type returnType,
List<System.Type> listOfParamTypes,
List<String> listOfParamNames,
List<Object> listOfArgs
) {
return null;
}
} }
} }
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>66.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>66.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>66.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>
@@ -679,30 +679,6 @@ private class fflib_SObjects2Test
System.Assert.areEqual(3, domain.selectWithShippingCountry().size()); System.Assert.areEqual(3, domain.selectWithShippingCountry().size());
} }
@IsTest
static void itShouldReturnRecordsWithNonNullNumericField()
{
DomainAccounts domain = generateDomain();
System.Assert.areEqual(4, domain.selectWithAnnualRevenue().size());
}
@IsTest
static void itShouldReturnRecordsWithNonNullDatetimeField()
{
Datetime now = Datetime.now();
DomainAccounts domain = new DomainAccounts(
new List<Account>
{
(Account) fflib_MockSObjectUtil.addFieldValue(new Account(Name = 'A'), Account.CreatedDate, now),
(Account) fflib_MockSObjectUtil.addFieldValue(new Account(Name = 'B'), Account.CreatedDate, now),
new Account(Name = 'C')
}
);
System.Assert.areEqual(2, domain.selectWithCreatedDate().size());
}
@IsTest @IsTest
static void itShouldReturnRecordsWithAllFieldValues() static void itShouldReturnRecordsWithAllFieldValues()
{ {
@@ -869,25 +845,11 @@ private class fflib_SObjects2Test
public List<Account> selectWithShippingCountry() public List<Account> selectWithShippingCountry()
{ {
return getRecordsWithNonBlankFieldValues( return getRecordsWithNotBlankFieldValues(
Schema.Account.ShippingCountry Schema.Account.ShippingCountry
); );
} }
public List<Account> selectWithAnnualRevenue()
{
return getRecordsWithNonBlankFieldValues(
Schema.Account.AnnualRevenue
);
}
public List<Account> selectWithCreatedDate()
{
return getRecordsWithNonBlankFieldValues(
Schema.Account.CreatedDate
);
}
public List<Account> selectWithEmptyRecord() public List<Account> selectWithEmptyRecord()
{ {
return getRecordsWithAllBlankFieldValues( return getRecordsWithAllBlankFieldValues(
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>67.0</apiVersion> <apiVersion>65.0</apiVersion>
<status>Active</status> <status>Active</status>
</ApexClass> </ApexClass>

Some files were not shown because too many files have changed in this diff Show More