Skip to content

feat!: reorganize into resource packages, address manual code review#9

Closed
Pijukatel wants to merge 1 commit into
masterfrom
claude/vibrant-edison-p57rkm
Closed

feat!: reorganize into resource packages, address manual code review#9
Pijukatel wants to merge 1 commit into
masterfrom
claude/vibrant-edison-p57rkm

Conversation

@Pijukatel

Copy link
Copy Markdown
Collaborator

Addresses the manual review in #8 (an experienced Java developer's read of the generated client). The largest change is splitting com.apify.client into resource-oriented sub-packages (actor, build, run, dataset, keyvalue, requestqueue, task, schedule, webhook, user, log, store, http), with genuinely internal wiring moved to a documented com.apify.client.internal package. The rest of the review is addressed item by item: HttpBackend/DefaultHttpBackend/sendStreaming renamed for clarity, the transport exception promoted to a public top-level type, DatasetClient/KeyValueStoreClient made immutable after construction, the HTTP core's manual JSON/URL parsing replaced with typed/URI-based equivalents, resource path literals consolidated, builder configuration validated up front, brotli made opt-in instead of bundled, SLF4J logging added, and Jackson bumped.

A few review points were deliberately not applied, each because implementing them would conflict with the client requirements (JS-reference parity in particular) or would be a much larger, riskier change than the review's framing called for; the reasoning for each is in the CHANGELOG/PR history.

This is a breaking change: client version 0.3.1 -> 0.4.0.

Test plan

  • mvn spotless:check, compile, spotbugs:check pass
  • mvn test (offline unit + doc-snippet suites, 96 tests) passes
  • Live integration test suite (*IntegrationTest, ExamplesTest) against the API
  • Independent /review-client-equivalent review with no open items

Generated by Claude Code

Splits com.apify.client into resource-oriented sub-packages (actor, build,
run, dataset, keyvalue, requestqueue, task, schedule, webhook, user, log,
store, http), with genuinely internal wiring moved to com.apify.client.internal.
Also addresses the rest of the manual review in issue #8: renames
HttpBackend/DefaultHttpBackend/sendStreaming for clarity, promotes the
transport exception to a public top-level type, makes Dataset/KeyValueStore
clients immutable after construction, replaces manual JSON/URL parsing in
the HTTP core with typed/URI-based equivalents, consolidates resource path
literals, validates builder configuration, makes brotli native codecs
opt-in instead of bundled, adds SLF4J logging, and bumps Jackson.

Breaking change; client version 0.3.1 -> 0.4.0.
@Pijukatel

Copy link
Copy Markdown
Collaborator Author

Broken review process.

@Pijukatel Pijukatel closed this Jul 20, 2026
@Pijukatel
Pijukatel deleted the claude/vibrant-edison-p57rkm branch July 20, 2026 08:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants