Commit Graph

230 Commits

Author SHA1 Message Date
Jedd Morgan 912971d8de reverted unnecessary change to DataObject 2025-01-10 18:29:57 +00:00
Jedd Morgan 9318d85cc8 Merge remote-tracking branch 'origin/dev' into jedd/cxpla-154-enforce-nullability-analysers-in-objects-and-use-required 2025-01-10 15:34:19 +00:00
KatKatKateryna deddb216e5 Gis objects cleaning (#181)
* add Polygon to Geometry; add GisObject

* cleaning objects

* removed final GIS classes

* remove IGisFeature interface

* required keywords for CRS

* required boundary; renaming

* delete the rest of the classes

---------

Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
2025-01-10 15:33:12 +00:00
Jedd Morgan 465d69ba00 Enforce correct nullability with required 2025-01-10 13:37:18 +00:00
Adam Hathcock 14d959834f Convert to Xunit (#196)
* xunit unit tests

* most pass with formatting

* convert objects to xunit

* remove nunit

* format

* merge fixes

* switch objects to fluent assertions

* update to fluent assertions

* more FA

* convert all to FA

* Format

* Fix tests

* formatting

* hopefully made credential test better

* Catch more specific exception

* use another more specific exception

* Fix tests

* update to xunit

* update packages
2025-01-09 15:32:28 +00:00
Adam Hathcock 465f635142 Add details to sqlite exceptions (#198)
* add ServerObjectManagerFactory

* add usage of a command pool

* add more disposal

* save saving increase

* fix tests

* fixes

* push out concurrency and disposablity

* Add a custom task scheduler

* Better usage, don't wait to enqueue to save to channels

* Completely pre-cal batch size to avoid spinning issues

* Try to fix cache counting

* properly dispose things

* format

* clean up

* adjust count and save on current thread

* move batch it's own file

* update a few packages

* fix build and add batch tests

* revert and format

* Revert "save saving increase"

This reverts commit 3b50c857fb.

* revert change

* adjust and add tests

* Dispose sqlite manager properly

* Make Batch a IMemoryOwner to allow for pooling

* Fix tests

* Upgrade some deps

* try to make tests more explicit

* remove return value

* Add detailed SqLiteJsonCacheException

* details changes
2025-01-09 11:04:14 +00:00
Adam Hathcock ed5bdc91ed Sqlite pooling for connections and commands (#193)
* add ServerObjectManagerFactory

* add usage of a command pool

* add more disposal

* save saving increase

* fix tests

* fixes

* push out concurrency and disposablity

* Add a custom task scheduler

* Better usage, don't wait to enqueue to save to channels

* Completely pre-cal batch size to avoid spinning issues

* Try to fix cache counting

* properly dispose things

* format

* clean up

* adjust count and save on current thread

* move batch it's own file

* update a few packages

* fix build and add batch tests

* revert and format

* Revert "save saving increase"

This reverts commit 3b50c857fb.

* revert change

* adjust and add tests

* Dispose sqlite manager properly

* Make Batch a IMemoryOwner to allow for pooling

* Fix tests

* Upgrade some deps

* try to make tests more explicit

* remove return value

* Use named tuple for all objects
2025-01-08 11:04:32 +00:00
Adam Hathcock 11fe8e8cce Use CancellationSource to properly dispose of threads in PriorityScheduler (#197)
* Use CancellationSource to properly dispose of threads in PriorityScheduler

* formatting
2025-01-03 14:25:29 +00:00
Adam Hathcock 1fe1a54dcf Custom task scheduler for serialization, fix batch size calc (#194)
* Add a custom task scheduler

* Better usage, don't wait to enqueue to save to channels

* Completely pre-cal batch size to avoid spinning issues

* Try to fix cache counting

* properly dispose things

* format

* clean up

* adjust count and save on current thread

* move batch it's own file

* update a few packages

* fix build and add batch tests
2025-01-03 12:26:19 +00:00
Adam Hathcock a1b9030dba Fixes Markdown to be non HTML based for github and nuget (#195) 2025-01-02 10:12:46 +00:00
Adam Hathcock eec400d0cf Fix DataObject inheritance (#192) 2024-12-19 14:34:15 +00:00
Adam Hathcock 991b31265f Fix data chunks getting written with closure tables (#191)
* Never write closures for datachunks

* add tests and format

* add another test with array and reuses reference

* Remove a writeline in tests
2024-12-17 16:49:17 +03:00
Adam Hathcock 675d896e0d Add method to replace in sqlite (#190) 2024-12-16 15:01:53 +03:00
Adam Hathcock defcee165a Closures are kept for children instead of global (#189)
* disable channels when skipping things

* pass child closures to current.  Current closures out to parent.

* fix build

* adjust options

* use a dictionary pool and pool correctly

* add pools for data chunks

* format
2024-12-13 11:00:21 +00:00
Adam Hathcock 722df50d34 Fix sending caching (#188)
* add list pool creation

* add back base cache for closures

* use bounded channels and tell them to wait

* format and add exception

* adding back json cache?

* nevermind

* format

* add option to skip total finding

* add some comments
2024-12-10 11:21:12 +00:00
Björn Steinhagen 431bb459fc etabs versions (#187)
- support for etabs v21 and v22
- sap 2000 is already covered with v25 and v26
2024-12-05 23:20:45 +03:00
Adam Hathcock a393f7ca8b add explicit interface tests (#186) 2024-12-05 11:29:44 +00:00
Claire Kuang 650fad3b22 Merge pull request #185 from specklesystems/claire/cnx-849
feat(objects): cnx 849 finalized DataObjects
2024-12-04 12:31:07 +00:00
Claire Kuang 81007e0ecf pr fixes 2024-12-04 12:14:17 +00:00
Claire Kuang d29450f0a9 Merge branch 'claire/cnx-849' of https://github.com/specklesystems/speckle-sharp-sdk into claire/cnx-849 2024-12-03 22:30:33 +00:00
Claire Kuang 1e5bf903a2 update tests 2024-12-03 22:30:24 +00:00
Claire Kuang 878edf7c8f Merge branch 'dev' into claire/cnx-849 2024-12-03 22:18:24 +00:00
Claire Kuang ab0ff7b792 removes unnecessary classes 2024-12-03 22:13:46 +00:00
Claire Kuang b5999e3361 adds properties field to DataObject 2024-12-03 19:48:24 +00:00
Adam Hathcock d904c68c10 Nullable fixes - nullability on Base (#184)
* Remove operator overloading and Equals/GetHashCode which caused problems

* properly have nullability annotations on Base

* redeux known nullables

* fmt

* more nullability

* fmt

* remove point equality operator

* Revert "Remove operator overloading and Equals/GetHashCode which caused problems"

This reverts commit 6b5d3f1462.

* Revert "remove point equality operator"

This reverts commit 9b14330147.

* revert nullable accounts

* fix build issues
2024-12-03 13:01:33 +00:00
Adam Hathcock daec64cf8e Remove the Base cache because it's not practically useful (#183) 2024-12-03 12:48:18 +00:00
Adam Hathcock 1844386235 Better options for serializer (#180)
* refactor options to use on factories, add dummies

* format

* reduce lists to yield return

* get primitives first to avoid to string

* fmt

* add cache base option
2024-11-29 15:43:10 +00:00
Adam Hathcock 05f90eae5c Use frozen collections (#178)
* add detail to exceptions

* Detachable nested objects work

* fmt

* Use frozen collections

* fix tests and formatting
2024-11-29 15:25:29 +00:00
Adam Hathcock 7bbc568022 Make ISqLiteJsonCacheManager and use it for new serialization and account manager (#179)
* Introduce ISqLiteJsonCacheManager with factory for cache manager and other uses

* AccountManager uses new sqlite

* format

* add extension
2024-11-27 12:14:16 +00:00
Adam Hathcock 7a1edbbf99 Fix externals refs again (#177)
* add detail to exceptions

* Detachable nested objects work

* fmt
2024-11-26 09:47:44 +00:00
Dimitrie Stefanescu 058e3cb946 Merge pull request #176 from specklesystems/claire/cnx-793-revit-cleanup-align-with-data-extraction-workflow
cleanup(objects): removes unused revit classes
2024-11-22 17:43:20 +00:00
Claire Kuang 08dd45cc32 Update Interfaces.cs 2024-11-22 12:28:14 +00:00
Claire Kuang d4173c1449 adds civil and tekla objects 2024-11-22 10:21:06 +00:00
Adam Hathcock 4b7c6e4641 fixed test to allow for new detachments 2024-11-22 09:52:59 +00:00
Adam Hathcock 2477423ba7 some tests adjusted 2024-11-22 09:12:10 +00:00
Claire Kuang 71ec9a6d11 rescopes data object classes 2024-11-21 17:53:37 +00:00
Claire Kuang 140b39f605 adds data object classes 2024-11-21 16:47:34 +00:00
Claire Kuang 1a0522cef3 removes unused revit classes 2024-11-20 18:26:38 +00:00
Adam Hathcock b343d9bd0d add Id and Json types (#165)
* Can debug dependencies

* Different exceptions

* Uses root id only after we found it to signal the end

* DataChunks are created later and need to be accounted for

* format

* use app ids in tests and references

* check sqlite cache after serialize

* use dummy to go through channels to end

* fmt

* Extend channel lib to batch by size

* fmt

* build fix

* adjust limits

* FIx sending

* Optimize reference generation

* more

* remove tolist

* rework closures to be constant and serializer only deals with current....references bases are cached

* fix chunk creation

* another bug fix

* clean up with factories

* add deserializer factory

* Needed to reference interface

* add Id and Json types

* Fix tests

* remove optional

* add another missing id write

* fix merge

* Fix new code
2024-11-20 09:51:10 +00:00
Adam Hathcock e32ec52071 Add closures for external references (#175)
* allow external references and fix closures

* format
2024-11-20 08:28:33 +00:00
Adam Hathcock 2bbe2a8b93 allow external references and fix closures (#174)
* allow external references and fix closures

* fix comment
2024-11-19 14:22:20 +00:00
Adam Hathcock 604e141468 Update CSharpier with better new usage (#172) 2024-11-19 14:10:30 +00:00
Jedd Morgan 39dcc5da0b Refactor MaybeThrowGraphqlException to throw AggregateException with all GraphQL errors (#169)
* first pass

* Updated tests

* Removed path from message
2024-11-19 13:22:52 +00:00
Jedd Morgan af35edf0a2 Breaking API changes for comments API (#173)
* Fixed breaking change to comments api

* fixed stuff

* oops
2024-11-19 12:15:17 +00:00
Jedd Morgan fbc7400524 Changed http handler to not throw on non-successful results (#170)
Co-authored-by: Adam Hathcock <adamhathcock@users.noreply.github.com>
2024-11-19 10:55:27 +00:00
dependabot[bot] 8a71b19f78 Bump codecov/codecov-action from 4 to 5 (#171)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 09:33:26 +00:00
Jedd Morgan 105395e9fb Enforced msbuild warnings (#166)
* Enforced msbuild warnings

* removed inline suppression

* fix
2024-11-18 10:20:00 +00:00
Adam Hathcock 715bb7274a Batch by size, Closures and Detached items are computed differently (#164)
* Can debug dependencies

* Different exceptions

* Uses root id only after we found it to signal the end

* DataChunks are created later and need to be accounted for

* format

* use app ids in tests and references

* check sqlite cache after serialize

* use dummy to go through channels to end

* fmt

* Extend channel lib to batch by size

* fmt

* build fix

* adjust limits

* FIx sending

* Optimize reference generation

* more

* remove tolist

* rework closures to be constant and serializer only deals with current....references bases are cached

* fix chunk creation

* another bug fix

* clean up with factories

* add deserializer factory

* Needed to reference interface

* move around streamId

* some clean up

* Use StringBuilder pool on serialization to reduce memory pressure

* remove extra

* remove extra clears

* Fix a flaw in batchsize

* use default complete

* format

* loader should use 1 writer that is batched

* remove redundant ref gen

* Fix graphql commands by adding project id
2024-11-12 14:25:49 +00:00
Adam Hathcock 43445bc4ff Add SQLite transport2 (#162)
* Add SQLiteTransport2

* cleanup
2024-11-07 10:00:43 +00:00
Adam Hathcock 3bff2d5d57 Use Reference generator (#161)
* Optimize reference generation

* more

* use reference generator

* move

* remove using
2024-11-07 09:48:52 +00:00