Commit Graph

501 Commits

Author SHA1 Message Date
Cory Slep 272d7239f3 Generate generic ToType function. 2019-02-15 22:47:59 +01:00
Cory Slep 2d8651d95c Remove obsolete deliverer package 2019-02-15 22:16:11 +01:00
Cory Slep 1227ec9a5a Change GetName to GetTypeName 2019-02-15 22:15:25 +01:00
Cory Slep c4a7b0524e Always acquire db lock before calling Owns 2019-02-15 22:04:08 +01:00
Cory Slep 2099e89851 Address several TODOs in side_effect_actor 2019-02-15 21:59:02 +01:00
Cory Slep b625914c1a Send BadRequest if library can't handle the type 2019-02-15 21:45:48 +01:00
Cory Slep 7beac61f97 Address IRI dereferencing in util 2019-02-15 21:42:56 +01:00
Cory Slep 6ead50c643 Address TODOs in federating_wrapped_callbacks 2019-02-15 21:33:48 +01:00
Cory Slep cc83b751a1 Update interface definitions and wrapper improvements.
Wrapping default behavior can now be overridden.
2019-02-15 21:03:43 +01:00
Cory Slep bd8220a56c Update comments 2019-02-15 18:34:58 +01:00
Cory Slep 8efdb62ad9 Port ActivityStreams http handler function.
Also removed the 'old' pub code.

Moved the old tests back into the new pub, which means no tests pass
because the test build fails. So test porting needs to happen.
2019-02-14 22:28:46 +01:00
Cory Slep d3b0afef5e Finish porting the core of pub. 2019-02-14 21:51:57 +01:00
Cory Slep 0f7dce6839 Begin porting C2S side effect behaviors. 2019-02-13 23:56:36 +01:00
Cory Slep 1b7cec220b Get most federating callbacks ported. 2019-02-13 22:37:29 +01:00
Cory Slep c194883a93 More pub progress.
- Constructors for various Actor types.
- Continue porting the default implementations.
- Rethinking life.
2019-02-12 22:43:01 +01:00
Cory Slep d85ac83249 Remove v0 codegen'd vocabulary 2019-02-12 00:22:21 +01:00
Cory Slep 16af404462 First pass converting to new pub library.
Still a lot to do:
- Delete old deliverer folder
- Revisit handler funcs
- Constructors
- Side effects for the wrapped callback functions
- Any other TODOs
2019-02-12 00:16:33 +01:00
Cory Slep 293cf3e752 Add more methods to Type interface 2019-02-10 15:02:32 +01:00
Cory Slep 546659ed10 Add method getting property values as a generic Type. 2019-02-10 14:09:41 +01:00
Cory Slep 6d618cb630 Regenerate code that is collision resistant to extensions. 2019-02-09 21:56:00 +01:00
Cory Slep f769e201b2 astool can handle colliding type and property names. 2019-02-09 21:51:16 +01:00
Cory Slep a5ea850465 Run fmt on astool 2019-02-09 13:48:35 +01:00
Cory Slep c973eec5e0 Deduplicate tests, increase coverage in the process. 2019-02-09 13:47:51 +01:00
Cory Slep b7b5c3d2c1 Update table test logging to be consistent. 2019-02-09 13:28:35 +01:00
Cory Slep c8f384583c Port vocabulary tests.
- Need to deduplicate the manual examples.
2019-02-09 13:27:04 +01:00
Cory Slep 17ac2d4df2 Regenerate with natural language map changes. 2019-02-09 13:26:47 +01:00
Cory Slep 8a7ec8c3a9 Properly handle natural language map.
- Deserialization now happens correctly into the rdf:langString
  property.
- Kluges to make sure the member is being set and referred to in the
  generation code.
- No longer generate special member for natural language map nor a
  special Is method. Use the rdf:langString generated proeprties.
- Keep the Set/Get special language members for handling individual
  languages.
2019-02-09 13:22:20 +01:00
Cory Slep aca6f4e857 Migrate manual data from vocab.
Next, need to use them in tests migrated from vocab.
2019-02-08 00:59:10 +01:00
Cory Slep 54dccc70c9 Add Summary to Link.
- Other minor spec tweaks to match examples and for type property
  convenience.
2019-02-08 00:58:34 +01:00
Cory Slep 436def09b4 Add orderedItems property and properly propagate it.
- Fix bug where non-inherited properties didn't apply to a type, only
  the type's children.
- Added orderedItems.
- Excluded items property from OrderedCollectionPage.
- Fixed OrderedCollectionPage extending from two types.
2019-02-06 22:18:08 +01:00
Cory Slep 4ca4b8235f Remove interface based Resolver types.
They do not work as intended, due to differing signature for the
LessThan generated methods.
2019-02-06 20:39:30 +01:00
Cory Slep 9fc75b87b8 Regen code with dependency injected type property constructor. 2019-02-06 20:28:32 +01:00
Cory Slep a69135b238 Inject the type property constructor at init time.
Undoes the static linking done two commits ago.
2019-02-06 20:27:19 +01:00
Cory Slep 32beb6881e Regenerate types from previous commit, passing all streams_old tests.
See previous commit message about improvements needed to reduce the
linking hell that is introduced in this code generation. Everything is
now linking against the 'type' property's concrete constructor.
2019-02-06 00:55:41 +01:00
Cory Slep bc058086d2 Type properties automatically set at creation.
All tests pass. However:

- Need to inject the type property constructor at init time, much like
  the manager. Statically linking sucks and really slowed it down with
  the direct linking method currently being used. I suspect this makes
  it no longer compile on a Raspberry Pi 3, so even more of a reason to
  do it at init time.
- Having the type property automatically set at construction time is an
  extremely nice feature lacking in v0.
- Unfortunately, right now this introduces a hack in the convert
  package.
- Modified the 'type' property definition to also be a string for major
  convenience; it has no semantic significance as xsd:string.
2019-02-06 00:51:35 +01:00
Cory Slep 9f79250293 Regenerate streams package with previous commit fixes. 2019-02-06 00:26:21 +01:00
Cory Slep f90d161ed1 Bugfixes as part of testing.
- Add missing ActivityPub actor and object properties
- Introspect type when deserializing
- Unknown on properties is now an interface
- Can now generate code when an extends hierarchy is specified multiple
  times as a range.
2019-02-06 00:23:47 +01:00
Cory Slep 7beafb477f All streams_old tests passing.
- Type resolution can handle multiple string types now.
- Stability in Disjoint/Extends/ExtendedBy literal generation, reducing
  code generation noise.
- Stability in init function package code generation, reducing the noise
  further.
2019-02-04 23:04:19 +01:00
Cory Slep ff885a86b3 Update generated code for tests.
All but 1 of the tests migrated from streams_old passes.
2019-02-04 22:29:04 +01:00
Cory Slep ff02890ddf Add streams_old migrated unit tests for the new generated code. 2019-02-04 22:27:22 +01:00
Cory Slep 9e1159dfd2 xsd:float is now float64 precision for a float32 number.
This is because Go's JSON package usees float64 under the hood, even
though xsd:float specifically specifies float32, I don't feel it is
worth getting that level of compatibility down, we will just be extra
precise.
2019-02-04 22:25:19 +01:00
Cory Slep e0e809134f Various Improvements.
- Fixed embarassing bug where a != should have been a ==
- Shortcut an len-1-array serialization to be a single value
2019-02-04 22:19:43 +01:00
Cory Slep 0f6ba298b3 Various improvements for tests.
- Sorting serialization and deserialization functions to reduce random
  noise when regenerating code.
- IRI methods can now short-cut to a URI equivalent value.
- Kind constructors.
- Extended types now can also be attached to properties (bleh). Blows up
  the API size, really quickly.
- Minor bugfixes.
2019-02-04 22:06:50 +01:00
Cory Slep 161ebc62e3 Add new ActivityStreams generated vocabulary. 2019-01-29 22:28:40 +01:00
Cory Slep 9240da5763 Don't output empty root files. 2019-01-29 22:28:20 +01:00
Cory Slep 8fa479da40 Move `streams` to `streams_old` in preparation for the new vocabulary. 2019-01-29 22:16:19 +01:00
Cory Slep ba00f3f875 Add JSONResolver.
Moved resolvers to root package due to JSONResolver's reliance on the
manager.
2019-01-29 22:00:33 +01:00
Cory Slep def4e9f167 Don't need to escape underscore in README 2019-01-28 21:52:37 +01:00
Cory Slep 63d04c78b7 Remove 'vocab' and 'streams' tools, add 'astool' 2019-01-28 21:51:12 +01:00
Cory Slep 9cf6568637 Rename spec.json and custom_spec.json.
This reflects the newly-added usage text in the experimental tool as
well.
2019-01-27 16:24:53 +01:00