-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1514 from aml-org/publish-5.0.11
Publish 5.0.11
- Loading branch information
Showing
1,701 changed files
with
39,596 additions
and
14,267 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# 11. Annotations Lifespan | ||
Date: 2018-08-21 | ||
|
||
## Status | ||
Accepted | ||
|
||
## Context | ||
Not all annotations are needed in all stages of AMF (parsing, resolution/transformation, validation, rendering/emission). | ||
|
||
## Decision | ||
For this reason, the decision has been made in favor of adding 3 distinct types of annotations, that all others should implement: | ||
|
||
- `ResolvableAnnotation` | ||
- An annotation that must be resolved | ||
- To allow deferred resolution on unordered graph parsing | ||
- `SerializableAnnotation` | ||
- An annotation that needs to be dumped in the JSON-LD | ||
- For information that can't be lost in (des)serialization | ||
- `PerpetualAnnotation` | ||
- An annotation that does not get deleted in transformation | ||
- For information that's needed after transformation | ||
- `EternalSerializedAnnotation` | ||
- Both Perpetual and Serializable | ||
|
||
All annotations get deleted in transformation unless they extend `PerpetualAnnotation`. | ||
|
||
## Consequences | ||
This decision has no immediate impact. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
...r-syntax/shared/src/main/scala/amf/antlr/client/scala/parse/syntax/SourceASTElement.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package amf.antlr.client.scala.parse.syntax | ||
|
||
import amf.core.internal.annotations.SourceAST | ||
import org.mulesoft.antlrast.ast.ASTNode | ||
import org.mulesoft.common.client.lexical.ASTElement | ||
|
||
case class SourceASTElement(override val ast: ASTNode) extends SourceAST { | ||
override type T = ASTNode | ||
} |
35 changes: 0 additions & 35 deletions
35
...ntax/shared/src/main/scala/amf/antlr/internal/plugins/syntax/AntlrSyntaxParsePlugin.scala
This file was deleted.
Oops, something went wrong.
29 changes: 29 additions & 0 deletions
29
...src/main/scala/amf/antlr/internal/plugins/syntax/GraphQLFederationSyntaxParsePlugin.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package amf.antlr.internal.plugins.syntax | ||
|
||
import amf.antlr.client.scala.parse.document.AntlrParsedDocument | ||
import amf.core.client.common.{LowPriority, PluginPriority} | ||
import amf.core.client.scala.parse.AMFSyntaxParsePlugin | ||
import amf.core.client.scala.parse.document.{ParsedDocument, ParserContext} | ||
import amf.core.internal.remote.Mimes.`application/graphql` | ||
import amf.core.internal.remote.Syntax | ||
import org.mulesoft.antlrast.platform.PlatformGraphQLFederationParser | ||
|
||
object GraphQLFederationSyntaxParsePlugin extends AMFSyntaxParsePlugin { | ||
|
||
override def parse(text: CharSequence, mediaType: String, ctx: ParserContext): ParsedDocument = { | ||
val input = text.toString | ||
val parser = new PlatformGraphQLFederationParser() | ||
val ast = parser.parse(ctx.rootContextDocument, input) | ||
AntlrParsedDocument(ast, None) | ||
} | ||
|
||
override def mediaTypes: Seq[String] = Syntax.graphQLMimes.toSeq | ||
|
||
override val id: String = "graphql-federation-parse" | ||
|
||
override def applies(element: CharSequence): Boolean = true | ||
|
||
override def priority: PluginPriority = LowPriority | ||
|
||
override def mainMediaType: String = `application/graphql` | ||
} |
29 changes: 29 additions & 0 deletions
29
...ax/shared/src/main/scala/amf/antlr/internal/plugins/syntax/GraphQLSyntaxParsePlugin.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package amf.antlr.internal.plugins.syntax | ||
|
||
import amf.antlr.client.scala.parse.document.AntlrParsedDocument | ||
import amf.core.client.common.{LowPriority, PluginPriority} | ||
import amf.core.client.scala.parse.AMFSyntaxParsePlugin | ||
import amf.core.client.scala.parse.document.{ParsedDocument, ParserContext} | ||
import amf.core.internal.remote.Mimes.`application/graphql` | ||
import amf.core.internal.remote.Syntax | ||
import org.mulesoft.antlrast.platform.PlatformGraphQLParser | ||
|
||
object GraphQLSyntaxParsePlugin extends AMFSyntaxParsePlugin { | ||
|
||
override def parse(text: CharSequence, mediaType: String, ctx: ParserContext): ParsedDocument = { | ||
val input = text.toString | ||
val parser = new PlatformGraphQLParser() | ||
val ast = parser.parse(ctx.rootContextDocument, input) | ||
AntlrParsedDocument(ast, None) | ||
} | ||
|
||
override def mediaTypes: Seq[String] = Syntax.graphQLMimes.toSeq | ||
|
||
override val id: String = "graphql-parse" | ||
|
||
override def applies(element: CharSequence): Boolean = true | ||
|
||
override def priority: PluginPriority = LowPriority | ||
|
||
override def mainMediaType: String = `application/graphql` | ||
} |
29 changes: 29 additions & 0 deletions
29
...yntax/shared/src/main/scala/amf/antlr/internal/plugins/syntax/GrpcSyntaxParsePlugin.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package amf.antlr.internal.plugins.syntax | ||
|
||
import amf.antlr.client.scala.parse.document.AntlrParsedDocument | ||
import amf.core.client.common.{LowPriority, PluginPriority} | ||
import amf.core.client.scala.parse.AMFSyntaxParsePlugin | ||
import amf.core.client.scala.parse.document.{ParsedDocument, ParserContext} | ||
import amf.core.internal.remote.Mimes.`application/x-protobuf` | ||
import amf.core.internal.remote.Syntax | ||
import org.mulesoft.antlrast.platform.PlatformProtobuf3Parser | ||
|
||
object GrpcSyntaxParsePlugin extends AMFSyntaxParsePlugin { | ||
|
||
override def parse(text: CharSequence, mediaType: String, ctx: ParserContext): ParsedDocument = { | ||
val input = text.toString | ||
val parser = new PlatformProtobuf3Parser() | ||
val ast = parser.parse(ctx.rootContextDocument, input) | ||
AntlrParsedDocument(ast, None) | ||
} | ||
|
||
override def mediaTypes: Seq[String] = Syntax.proto3Mimes.toSeq | ||
|
||
override val id: String = "grpc-parse" | ||
|
||
override def applies(element: CharSequence): Boolean = true | ||
|
||
override def priority: PluginPriority = LowPriority | ||
|
||
override def mainMediaType: String = `application/x-protobuf` | ||
} |
21 changes: 21 additions & 0 deletions
21
...ed/src/main/scala/amf/antlr/internal/plugins/syntax/SyamlForJsonLDSyntaxParsePlugin.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package amf.antlr.internal.plugins.syntax | ||
|
||
import amf.core.internal.plugins.syntax.SyamlSyntaxParsePlugin | ||
|
||
object SyamlForJsonLDSyntaxParsePlugin extends SyamlSyntaxParsePlugin { | ||
|
||
/** | ||
* Need to override applies method because GraphQL, GraphQL Federation & GRPC syntax plugins return applies true for | ||
* ALL strings, same as SYAML. We need some sort of syntax detection otherwise we will not be able to parse GraphQL, | ||
* GRPC, etc. and JSON-LD in the same configuration. Doing that syntax detection here | ||
* @param element input | ||
* @return | ||
*/ | ||
override def applies(element: CharSequence): Boolean = { | ||
element.toString.trim.charAt(0) match { | ||
case '{' => true | ||
case '[' => true | ||
case _ => false | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.