Skip to content

Commit 8dd99e7

Browse files
committed
[Gradle Release Plugin] - pre tag commit: '2.36.0-beta-1'.
2 parents 05b7a11 + bc89ad1 commit 8dd99e7

32 files changed

+722
-157
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ Build with Gradle
5555

5656
```groovy
5757
dependencies {
58-
implementation "org.seasar.doma:doma-core:2.35.0"
59-
annotationProcessor "org.seasar.doma:doma-processor:2.35.0"
58+
implementation "org.seasar.doma:doma-core:2.36.0-beta-1"
59+
annotationProcessor "org.seasar.doma:doma-processor:2.36.0-beta-1"
6060
}
6161
```
6262

docs/build.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ Write your build.gradle as follows:
3535
.. code-block:: groovy
3636
3737
dependencies {
38-
implementation "org.seasar.doma:doma-core:2.35.0"
39-
annotationProcessor "org.seasar.doma:doma-processor:2.35.0"
38+
implementation "org.seasar.doma:doma-core:2.36.0-beta-1"
39+
annotationProcessor "org.seasar.doma:doma-processor:2.36.0-beta-1"
4040
}
4141
4242
To simplify your build.script, we recommend that you use the `Doma Compile Plugin`_.

docs/kotlin-support.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ Add the dependencies using the `kapt` and `implementation` configuration in your
9999
.. code-block:: groovy
100100
101101
dependencies {
102-
implementation "org.seasar.doma:doma-core:2.35.0"
103-
kapt "org.seasar.doma:doma-processor:2.35.0"
102+
implementation "org.seasar.doma:doma-core:2.36.0-beta-1"
103+
kapt "org.seasar.doma:doma-processor:2.36.0-beta-1"
104104
}
105105
106106
To simplify your build.script, we recommend you use

doma-core/src/main/java/org/seasar/doma/internal/Artifact.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public final class Artifact {
77

88
private static final String NAME = "Doma";
99

10-
private static final String VERSION = "2.35.0";
10+
private static final String VERSION = "2.36.0-beta-1";
1111

1212
public static String getName() {
1313
return NAME;

doma-core/src/main/java/org/seasar/doma/jdbc/criteria/Entityql.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import org.seasar.doma.jdbc.criteria.statement.EntityqlBatchUpdateStatement;
1919
import org.seasar.doma.jdbc.criteria.statement.EntityqlDeleteStatement;
2020
import org.seasar.doma.jdbc.criteria.statement.EntityqlInsertStatement;
21-
import org.seasar.doma.jdbc.criteria.statement.EntityqlSelectStatement;
21+
import org.seasar.doma.jdbc.criteria.statement.EntityqlSelectStarting;
2222
import org.seasar.doma.jdbc.criteria.statement.EntityqlUpdateStatement;
2323
import org.seasar.doma.jdbc.criteria.statement.Statement;
2424

@@ -30,19 +30,19 @@ public Entityql(Config config) {
3030
this.config = Objects.requireNonNull(config);
3131
}
3232

33-
public <ENTITY> EntityqlSelectStatement<ENTITY> from(EntityMetamodel<ENTITY> entityMetamodel) {
33+
public <ENTITY> EntityqlSelectStarting<ENTITY> from(EntityMetamodel<ENTITY> entityMetamodel) {
3434
Objects.requireNonNull(entityMetamodel);
3535
return from(entityMetamodel, settings -> {});
3636
}
3737

38-
public <ENTITY> EntityqlSelectStatement<ENTITY> from(
38+
public <ENTITY> EntityqlSelectStarting<ENTITY> from(
3939
EntityMetamodel<ENTITY> entityMetamodel, Consumer<SelectSettings> settingsConsumer) {
4040
Objects.requireNonNull(entityMetamodel);
4141
Objects.requireNonNull(settingsConsumer);
4242
SelectContext context = new SelectContext(entityMetamodel);
4343
settingsConsumer.accept(context.getSettings());
4444
SelectFromDeclaration declaration = new SelectFromDeclaration(context);
45-
return new EntityqlSelectStatement<>(config, declaration);
45+
return new EntityqlSelectStarting<>(config, declaration, entityMetamodel);
4646
}
4747

4848
public <ENTITY> Statement<Result<ENTITY>> update(

doma-core/src/main/java/org/seasar/doma/jdbc/criteria/command/AssociateCommand.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,22 @@
1919
public class AssociateCommand<ENTITY> implements Command<List<ENTITY>> {
2020
private final SelectContext context;
2121
private final SelectQuery query;
22+
private final EntityMetamodel<ENTITY> entityMetamodel;
2223

23-
public AssociateCommand(SelectContext context, SelectQuery query) {
24+
public AssociateCommand(
25+
SelectContext context, SelectQuery query, EntityMetamodel<ENTITY> entityMetamodel) {
2426
this.context = Objects.requireNonNull(context);
2527
this.query = Objects.requireNonNull(query);
28+
this.entityMetamodel = Objects.requireNonNull(entityMetamodel);
2629
}
2730

2831
@Override
2932
@SuppressWarnings("unchecked")
3033
public List<ENTITY> execute() {
3134
Map<EntityKey, Object> cache = new LinkedHashMap<>();
32-
List<EntityMetamodel<?>> entityMetamodels = context.allEntityDefs();
3335
SelectCommand<List<EntityPool>> command =
34-
new SelectCommand<>(query, new EntityPoolIterationHandler(entityMetamodels));
36+
new SelectCommand<>(
37+
query, new EntityPoolIterationHandler(context.getProjectionEntityMetamodels()));
3538
List<EntityPool> entityPools = command.execute();
3639
for (EntityPool entityPool : entityPools) {
3740
Map<EntityMetamodel<?>, Object> associationCandidate = new LinkedHashMap<>();
@@ -56,7 +59,7 @@ public List<ENTITY> execute() {
5659
}
5760
return (List<ENTITY>)
5861
cache.entrySet().stream()
59-
.filter(e -> e.getKey().getEntityMetamodel() == context.entityMetamodel)
62+
.filter(e -> e.getKey().getEntityMetamodel() == entityMetamodel)
6063
.map(Map.Entry::getValue)
6164
.collect(toList());
6265
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package org.seasar.doma.jdbc.criteria.command;
22

3+
import java.util.List;
34
import org.seasar.doma.jdbc.criteria.metamodel.EntityMetamodel;
45
import org.seasar.doma.jdbc.criteria.metamodel.PropertyMetamodel;
56

67
public interface DataRow {
78

89
<ENTITY> ENTITY get(EntityMetamodel<ENTITY> entityEntityMetamodel);
910

11+
<ENTITY> ENTITY get(
12+
EntityMetamodel<ENTITY> entityEntityMetamodel, List<PropertyMetamodel<?>> propertyMetamodels);
13+
1014
<PROPERTY> PROPERTY get(PropertyMetamodel<PROPERTY> propertyMetamodel);
1115
}
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
package org.seasar.doma.jdbc.criteria.command;
22

33
import java.util.List;
4+
import java.util.Map;
45
import java.util.Objects;
56
import org.seasar.doma.internal.jdbc.command.AbstractIterationHandler;
67
import org.seasar.doma.internal.jdbc.command.ResultListCallback;
78
import org.seasar.doma.jdbc.ObjectProvider;
89
import org.seasar.doma.jdbc.criteria.metamodel.EntityMetamodel;
10+
import org.seasar.doma.jdbc.criteria.metamodel.PropertyMetamodel;
911
import org.seasar.doma.jdbc.query.SelectQuery;
1012

1113
public class EntityPoolIterationHandler
1214
extends AbstractIterationHandler<EntityPool, List<EntityPool>> {
13-
private final List<EntityMetamodel<?>> entityMetamodels;
15+
private final Map<EntityMetamodel<?>, List<PropertyMetamodel<?>>> projectionEntityMetamodels;
1416

15-
public EntityPoolIterationHandler(List<EntityMetamodel<?>> entityMetamodels) {
17+
public EntityPoolIterationHandler(
18+
Map<EntityMetamodel<?>, List<PropertyMetamodel<?>>> projectionEntityMetamodels) {
1619
super(new ResultListCallback<>());
17-
this.entityMetamodels = Objects.requireNonNull(entityMetamodels);
20+
this.projectionEntityMetamodels = Objects.requireNonNull(projectionEntityMetamodels);
1821
}
1922

2023
@Override
2124
protected ObjectProvider<EntityPool> createObjectProvider(SelectQuery query) {
22-
return new EntityPoolProvider(entityMetamodels, query);
25+
return new EntityPoolProvider(projectionEntityMetamodels, query);
2326
}
2427
}

doma-core/src/main/java/org/seasar/doma/jdbc/criteria/command/EntityPoolProvider.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,19 @@
1212
import java.util.stream.Collectors;
1313
import org.seasar.doma.jdbc.ObjectProvider;
1414
import org.seasar.doma.jdbc.criteria.metamodel.EntityMetamodel;
15+
import org.seasar.doma.jdbc.criteria.metamodel.PropertyMetamodel;
1516
import org.seasar.doma.jdbc.entity.EntityPropertyType;
1617
import org.seasar.doma.jdbc.entity.EntityType;
1718
import org.seasar.doma.jdbc.entity.Property;
1819
import org.seasar.doma.jdbc.query.Query;
1920

2021
public class EntityPoolProvider implements ObjectProvider<EntityPool> {
21-
private final List<EntityMetamodel<?>> entityMetamodels;
22+
private final Map<EntityMetamodel<?>, List<PropertyMetamodel<?>>> projectionEntityMetamodels;
2223
private final FetchSupport fetchSupport;
2324

24-
public EntityPoolProvider(List<EntityMetamodel<?>> entityMetamodels, Query query) {
25-
this.entityMetamodels = Objects.requireNonNull(entityMetamodels);
25+
public EntityPoolProvider(
26+
Map<EntityMetamodel<?>, List<PropertyMetamodel<?>>> projectionEntityMetamodels, Query query) {
27+
this.projectionEntityMetamodels = Objects.requireNonNull(projectionEntityMetamodels);
2628
Objects.requireNonNull(query);
2729
this.fetchSupport = new FetchSupport(query);
2830
}
@@ -33,9 +35,13 @@ public EntityPool get(ResultSet resultSet) throws SQLException {
3335
Objects.requireNonNull(resultSet);
3436
EntityPool entityPool = new EntityPool();
3537
int index = 1;
36-
for (EntityMetamodel<?> entityMetamodel : entityMetamodels) {
38+
for (Map.Entry<EntityMetamodel<?>, List<PropertyMetamodel<?>>> entry :
39+
projectionEntityMetamodels.entrySet()) {
40+
EntityMetamodel<?> entityMetamodel = entry.getKey();
41+
List<PropertyMetamodel<?>> projectionTargets = entry.getValue();
3742
EntityType<?> entityType = entityMetamodel.asType();
38-
List<? extends EntityPropertyType<?, ?>> propertyTypes = entityType.getEntityPropertyTypes();
43+
List<? extends EntityPropertyType<?, ?>> propertyTypes =
44+
projectionTargets.stream().map(PropertyMetamodel::asType).collect(toList());
3945
List<Prop> props = new ArrayList<>(propertyTypes.size());
4046
for (EntityPropertyType<?, ?> propertyType : propertyTypes) {
4147
Property<Object, ?> property = (Property<Object, ?>) propertyType.createProperty();

doma-core/src/main/java/org/seasar/doma/jdbc/criteria/command/MappedResultProvider.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,17 @@ public RESULT get(ResultSet resultSet) throws SQLException {
3535

3636
@Override
3737
public <ENTITY> ENTITY get(EntityMetamodel<ENTITY> entityMetamodel) {
38-
List<PropertyMetamodel<?>> propertyDefs = entityMetamodel.allPropertyMetamodels();
39-
Map<String, Property<ENTITY, ?>> states = new HashMap<>(propertyDefs.size());
40-
List<Object> rawValues = new ArrayList<>(propertyDefs.size());
41-
for (PropertyMetamodel<?> propertyDef : propertyDefs) {
42-
EntityPropertyType<?, ?> propertyType = propertyDef.asType();
38+
return get(entityMetamodel, entityMetamodel.allPropertyMetamodels());
39+
}
40+
41+
@Override
42+
public <ENTITY> ENTITY get(
43+
EntityMetamodel<ENTITY> entityMetamodel,
44+
List<PropertyMetamodel<?>> propertyMetamodels) {
45+
Map<String, Property<ENTITY, ?>> states = new HashMap<>(propertyMetamodels.size());
46+
List<Object> rawValues = new ArrayList<>(propertyMetamodels.size());
47+
for (PropertyMetamodel<?> propertyMetamodel : propertyMetamodels) {
48+
EntityPropertyType<?, ?> propertyType = propertyMetamodel.asType();
4349
Property<ENTITY, ?> property = (Property<ENTITY, ?>) propertyType.createProperty();
4450
try {
4551
Object rawValue = fetchSupport.fetch(resultSet, property, index++);
@@ -61,8 +67,8 @@ public <ENTITY> ENTITY get(EntityMetamodel<ENTITY> entityMetamodel) {
6167
}
6268

6369
@Override
64-
public <PROPERTY> PROPERTY get(PropertyMetamodel<PROPERTY> propertyDef) {
65-
Property<?, ?> property = propertyDef.asType().createProperty();
70+
public <PROPERTY> PROPERTY get(PropertyMetamodel<PROPERTY> propertyMetamodel) {
71+
Property<?, ?> property = propertyMetamodel.asType().createProperty();
6672
try {
6773
fetchSupport.fetch(resultSet, property, index++);
6874
} catch (SQLException e) {

0 commit comments

Comments
 (0)