Commit Graph

189 Commits

Author SHA1 Message Date
Jedd Morgan f0c7169be8 Small QOL tweaks to Version.Create and ProjectModelsFilter (#210)
* Version Create now returns a Version

* ProjectModelsFilter now has optional args
2025-01-24 12:19:54 +00:00
Jedd Morgan ee10e9d3fc author on Model is now made nullable (#214) 2025-01-24 12:09:12 +00:00
Adam Hathcock 93912d6712 Fix cancellation in schedular. It's no longer optional (#213)
* Fix cancellation in schedular.  It's no longer optional

* formatting

* fix tests because of stacktrace
2025-01-24 11:24:51 +00:00
Adam Hathcock f81fc97a91 Add exception handling for SerializeProcess with CancellationTokenSource (#211)
* Add exception handling for SerializeProcess with CancellationTokenSource

* formatting

* add exception test to make sure we handle a server exception

* add extra exception and handling to stop

* add comment and another test

* one last chance for user to cancel

* formatting
2025-01-23 17:06:08 +00:00
Claire Kuang 02892a96fe Update ArchicadObject.cs 2025-01-21 20:51:19 +00:00
Claire Kuang ba143fe44b Merge branch 'dev' into claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk 2025-01-21 18:02:07 +00:00
Jedd Morgan 3a71a10cf1 First pass increasing test coverage (#209)
* point tests

* Mesh Tests and removal of unused functions

* Vector tests

* more tests
2025-01-21 14:19:10 +00:00
Claire Kuang 77170bf9f3 Merge branch 'dev' into jedd/cxpla-154-enforce-nullability-analysers-in-objects-and-use-required 2025-01-15 17:19:07 +00:00
Adam Hathcock 69167dc206 update some deps and add locks to versions for known packages (#207) 2025-01-15 16:11:04 +00:00
Adam Hathcock 19a5ccfb74 Merge branch 'dev' into claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk 2025-01-14 08:44:47 +00:00
Adam Hathcock b3c6a75387 add a task.yield for a cached model to let progress happen (#204) 2025-01-14 08:44:10 +00:00
Oğuzhan Koral c6556fa2ef Merge branch 'dev' into claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk 2025-01-14 10:37:40 +03:00
Claire Kuang 3bc40fb0bb removes classification and adds elements prop 2025-01-13 15:55:09 +00:00
Adam Hathcock 4370af5376 Allow SDK to report requested downloaded objects and minor adjustments (#203)
* Allow SDK to report requested downloaded objects and minor adjustments

* Remove xyz get server info test
2025-01-13 12:48:28 +00:00
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
Claire Kuang 0023d2ca2a Merge branch 'dev' into claire/cnx-931-create-archicadobject-in-speckle-sharp-sdk 2025-01-06 14:23:42 +00:00
Claire Kuang ab487991b6 Update ArchicadObject.cs 2025-01-06 14:07:12 +00:00
Claire Kuang 142eefdf39 adds archicad data object and interface
also removes unused gis classes
2025-01-06 14:05:28 +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 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
Claire Kuang 81007e0ecf pr fixes 2024-12-04 12:14:17 +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
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 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