{"action":"created","issue":{"url":"https://api.github.com/repos/mpollmeier/gremlin-scala/issues/81","labels_url":"https://api.github.com/repos/mpollmeier/gremlin-scala/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/mpollmeier/gremlin-scala/issues/81/comments","events_url":"https://api.github.com/repos/mpollmeier/gremlin-scala/issues/81/events","html_url":"https://github.com/mpollmeier/gremlin-scala/pull/81","id":99847586,"number":81,"title":"Marshalling macros","user":{"login":"joan38","id":1200478,"avatar_url":"https://avatars.githubusercontent.com/u/1200478?v=3","gravatar_id":"","url":"https://api.github.com/users/joan38","html_url":"https://github.com/joan38","followers_url":"https://api.github.com/users/joan38/followers","following_url":"https://api.github.com/users/joan38/following{/other_user}","gists_url":"https://api.github.com/users/joan38/gists{/gist_id}","starred_url":"https://api.github.com/users/joan38/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joan38/subscriptions","organizations_url":"https://api.github.com/users/joan38/orgs","repos_url":"https://api.github.com/users/joan38/repos","events_url":"https://api.github.com/users/joan38/events{/privacy}","received_events_url":"https://api.github.com/users/joan38/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-08-09T00:19:00Z","updated_at":"2015-08-11T22:37:02Z","closed_at":"2015-08-11T13:23:57Z","pull_request":{"url":"https://api.github.com/repos/mpollmeier/gremlin-scala/pulls/81","html_url":"https://github.com/mpollmeier/gremlin-scala/pull/81","diff_url":"https://github.com/mpollmeier/gremlin-scala/pull/81.diff","patch_url":"https://github.com/mpollmeier/gremlin-scala/pull/81.patch"},"body":"Hi,\r\n\r\nI did a lot of changes:\r\n- Marshalling with our own Macros\r\n- This is NOT marshalling nested classes\r\n- The name of the class is used for the label\r\n- Introduced the `@label` to use an attribute as a label\r\n- save(cc) is now addVertex(cc) (this needs to go explicit ScalaGraph but we already recommande to go explicit)\r\n- load is now toCC\r\n- All of the above is working on edges\r\n- toCC is now implemented on ScalaVertex or ScalaEdge but we keep toCC in package in order to load in the query.\r\n- The following `v1 --- MyCC(\"myLabel\", \"some string\") --> v2` is working\r\n- The following `v1 <-- MyCC(\"myLabel\", \"some string\") --- v2` is working\r\n- The following `v1 <-- \"label\" --- v2` is working\r\n- The following `v1 <-- (\"label\", Map(\"key\", \"value\")) --- v2` is working\r\n- The following `v1 <-- \"label\" --> v2` is working\r\n- Introduced the .asScala and .asJava\r\n- Ditched away GS case class and GremlinScala(Graph) as this is confusing with the query objects and too many ways to switch from a Graph to a ScalaGraph.\r\n- Ditched away the unwrap functions as this is causing too much unwanted unwrap and avoid the type safety.\r\n- gs.graph and gs.asJava are now returning the graph type (ex: TinkerGraph)\r\n\r\nCheers"},"comment":{"url":"https://api.github.com/repos/mpollmeier/gremlin-scala/issues/comments/130099323","html_url":"https://github.com/mpollmeier/gremlin-scala/pull/81#issuecomment-130099323","issue_url":"https://api.github.com/repos/mpollmeier/gremlin-scala/issues/81","id":130099323,"user":{"login":"joan38","id":1200478,"avatar_url":"https://avatars.githubusercontent.com/u/1200478?v=3","gravatar_id":"","url":"https://api.github.com/users/joan38","html_url":"https://github.com/joan38","followers_url":"https://api.github.com/users/joan38/followers","following_url":"https://api.github.com/users/joan38/following{/other_user}","gists_url":"https://api.github.com/users/joan38/gists{/gist_id}","starred_url":"https://api.github.com/users/joan38/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joan38/subscriptions","organizations_url":"https://api.github.com/users/joan38/orgs","repos_url":"https://api.github.com/users/joan38/repos","events_url":"https://api.github.com/users/joan38/events{/privacy}","received_events_url":"https://api.github.com/users/joan38/received_events","type":"User","site_admin":false},"created_at":"2015-08-11T22:37:02Z","updated_at":"2015-08-11T22:37:02Z","body":"@omidb I understand we dropped #73 for #81 and we lost the nested case class persisting that is supported on OrientDB and TinkerGraph only.\r\nBut I believe we have now more control on the implementation as we don't use shapeless and we are therefore able to have `@label` or the name of the class as a label (like it was doing before in reflexion). I'm also expected to extends it on `@id` to set the id and probably some `@indexed` or so.\r\nBut I might be wrong and we might actually be able to implement those functionalities with shapeless."}}