Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦境迷离
Graphql Java Codegen
提交
1fc590ea
G
Graphql Java Codegen
项目概览
梦境迷离
/
Graphql Java Codegen
11 个月 前同步成功
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Graphql Java Codegen
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1fc590ea
编写于
9月 17, 2019
作者:
B
Bogdan Kobylynskyi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Populate field annotation for GraphQL input type #7
上级
41886052
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
50 addition
and
12 deletion
+50
-12
src/main/java/com/kobylynskyi/graphql/codegen/mapper/FieldDefinitionToDataModelMapper.java
...phql/codegen/mapper/FieldDefinitionToDataModelMapper.java
+1
-1
src/main/java/com/kobylynskyi/graphql/codegen/mapper/GraphqlTypeToJavaTypeMapper.java
...i/graphql/codegen/mapper/GraphqlTypeToJavaTypeMapper.java
+3
-2
src/main/java/com/kobylynskyi/graphql/codegen/mapper/InputDefinitionToDataModelMapper.java
...phql/codegen/mapper/InputDefinitionToDataModelMapper.java
+1
-1
src/main/java/com/kobylynskyi/graphql/codegen/mapper/InputValueDefinitionToParameterMapper.java
...codegen/mapper/InputValueDefinitionToParameterMapper.java
+2
-2
src/test/java/com/kobylynskyi/graphql/codegen/GraphqlCodegenGitHubTest.java
...kobylynskyi/graphql/codegen/GraphqlCodegenGitHubTest.java
+2
-2
src/test/resources/expected-classes/GithubAcceptTopicSuggestionInputTO.java.txt
...ected-classes/GithubAcceptTopicSuggestionInputTO.java.txt
+37
-0
src/test/resources/schemas/test.graphqls
src/test/resources/schemas/test.graphqls
+4
-4
未找到文件。
src/main/java/com/kobylynskyi/graphql/codegen/mapper/FieldDefinitionToDataModelMapper.java
浏览文件 @
1fc590ea
...
...
@@ -51,7 +51,7 @@ public class FieldDefinitionToDataModelMapper {
operation
.
setName
(
fieldDef
.
getName
());
operation
.
setType
(
GraphqlTypeToJavaTypeMapper
.
getJavaType
(
mappingConfig
,
fieldDef
.
getType
(),
fieldDef
.
getName
(),
parentTypeName
));
operation
.
setAnnotations
(
GraphqlTypeToJavaTypeMapper
.
getAnnotations
(
mappingConfig
,
fieldDef
.
getType
(),
fieldDef
.
getName
(),
parentTypeName
));
operation
.
setParameters
(
InputValueDefinitionToParameterMapper
.
map
(
mappingConfig
,
fieldDef
.
getInputValueDefinitions
()));
operation
.
setParameters
(
InputValueDefinitionToParameterMapper
.
map
(
mappingConfig
,
fieldDef
.
getInputValueDefinitions
()
,
fieldDef
.
getName
()
));
return
operation
;
}
...
...
src/main/java/com/kobylynskyi/graphql/codegen/mapper/GraphqlTypeToJavaTypeMapper.java
浏览文件 @
1fc590ea
...
...
@@ -23,10 +23,11 @@ class GraphqlTypeToJavaTypeMapper {
return
parameter
;
}
public
static
ParameterDefinition
map
(
MappingConfig
mappingConfig
,
InputValueDefinition
inputValueDefinition
)
{
public
static
ParameterDefinition
map
(
MappingConfig
mappingConfig
,
InputValueDefinition
inputValueDefinition
,
String
parentTypeName
)
{
ParameterDefinition
parameter
=
new
ParameterDefinition
();
parameter
.
setName
(
MapperUtils
.
capitalizeIfRestricted
(
inputValueDefinition
.
getName
()));
parameter
.
setType
(
getJavaType
(
mappingConfig
,
inputValueDefinition
.
getType
()));
parameter
.
setAnnotations
(
getAnnotations
(
mappingConfig
,
inputValueDefinition
.
getType
(),
inputValueDefinition
.
getName
(),
parentTypeName
));
return
parameter
;
}
...
...
@@ -69,7 +70,7 @@ class GraphqlTypeToJavaTypeMapper {
}
static
List
<
String
>
getAnnotations
(
MappingConfig
mappingConfig
,
Type
type
,
String
name
,
String
parentTypeName
)
{
return
getAnnotations
(
mappingConfig
,
type
,
name
,
parentTypeName
,
tru
e
);
return
getAnnotations
(
mappingConfig
,
type
,
name
,
parentTypeName
,
fals
e
);
}
private
static
List
<
String
>
getAnnotations
(
MappingConfig
mappingConfig
,
Type
type
,
String
name
,
String
parentTypeName
,
...
...
src/main/java/com/kobylynskyi/graphql/codegen/mapper/InputDefinitionToDataModelMapper.java
浏览文件 @
1fc590ea
...
...
@@ -29,7 +29,7 @@ public class InputDefinitionToDataModelMapper {
dataModel
.
put
(
IMPORTS
,
MapperUtils
.
getImports
(
mappingConfig
,
packageName
));
dataModel
.
put
(
CLASS_NAME
,
MapperUtils
.
getClassNameWithPrefixAndSuffix
(
mappingConfig
,
typeDefinition
));
dataModel
.
put
(
NAME
,
typeDefinition
.
getName
());
dataModel
.
put
(
FIELDS
,
InputValueDefinitionToParameterMapper
.
map
(
mappingConfig
,
typeDefinition
.
getInputValueDefinitions
()));
dataModel
.
put
(
FIELDS
,
InputValueDefinitionToParameterMapper
.
map
(
mappingConfig
,
typeDefinition
.
getInputValueDefinitions
()
,
typeDefinition
.
getName
()
));
return
dataModel
;
}
...
...
src/main/java/com/kobylynskyi/graphql/codegen/mapper/InputValueDefinitionToParameterMapper.java
浏览文件 @
1fc590ea
...
...
@@ -15,12 +15,12 @@ import java.util.stream.Collectors;
*/
public
class
InputValueDefinitionToParameterMapper
{
public
static
List
<
ParameterDefinition
>
map
(
MappingConfig
mappingConfig
,
List
<
InputValueDefinition
>
valueDefinitions
)
{
public
static
List
<
ParameterDefinition
>
map
(
MappingConfig
mappingConfig
,
List
<
InputValueDefinition
>
valueDefinitions
,
String
parentTypeName
)
{
if
(
valueDefinitions
==
null
)
{
return
Collections
.
emptyList
();
}
return
valueDefinitions
.
stream
()
.
map
(
inputValueDefinition
->
GraphqlTypeToJavaTypeMapper
.
map
(
mappingConfig
,
inputValueDefinition
))
.
map
(
inputValueDefinition
->
GraphqlTypeToJavaTypeMapper
.
map
(
mappingConfig
,
inputValueDefinition
,
parentTypeName
))
.
collect
(
Collectors
.
toList
());
}
...
...
src/test/java/com/kobylynskyi/graphql/codegen/GraphqlCodegenGitHubTest.java
浏览文件 @
1fc590ea
...
...
@@ -75,8 +75,8 @@ class GraphqlCodegenGitHubTest {
StringContains
.
containsString
(
"public interface GithubAssigneeTO "
));
// verify proper class name for GraphQL input
assert
That
(
getGeneratedFileContent
(
files
,
"GithubChangeUserStatusInputTO.java"
),
StringContains
.
containsString
(
"public class GithubChangeUserStatusInputTO
"
));
assert
Equals
(
Utils
.
getFileContent
(
new
File
(
"src/test/resources/expected-classes/GithubAcceptTopicSuggestionInputTO.java.txt"
).
getPath
()
),
getGeneratedFileContent
(
files
,
"GithubAcceptTopicSuggestionInputTO.java
"
));
// verify proper class name for GraphQL type and references to interfaces/types/unions for GraphQL type
assertEquals
(
Utils
.
getFileContent
(
new
File
(
"src/test/resources/expected-classes/GithubCommitTO.java.txt"
).
getPath
()),
...
...
src/test/resources/expected-classes/GithubAcceptTopicSuggestionInputTO.java.txt
0 → 100644
浏览文件 @
1fc590ea
package com.github.graphql;
import java.util.*;
public class GithubAcceptTopicSuggestionInputTO {
private String clientMutationId;
@javax.validation.constraints.NotNull
private String name;
@javax.validation.constraints.NotNull
private String repositoryId;
public GithubAcceptTopicSuggestionInputTO() {
}
public String getClientMutationId() {
return clientMutationId;
}
public void setClientMutationId(String clientMutationId) {
this.clientMutationId = clientMutationId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRepositoryId() {
return repositoryId;
}
public void setRepositoryId(String repositoryId) {
this.repositoryId = repositoryId;
}
}
\ No newline at end of file
src/test/resources/schemas/test.graphqls
浏览文件 @
1fc590ea
...
...
@@ -9,19 +9,19 @@ schema {
type Query {
# Version of the application.
version: String
version: String
!
# List of events of a specified category.
eventsByCategoryAndStatus(categoryId: ID!, status: EventStatus): [Event]
eventsByCategoryAndStatus(categoryId: ID!, status: EventStatus): [Event]
!
# Single event by ID.
eventById(id: ID!): Event
eventById(id: ID!): Event
!
}
type Mutation {
# Create a new event.
createEvent(categoryId: String!,
createdBy: String!): Event
createdBy: String!): Event
!
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录