diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java index 2902b9c91..9267e27dc 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java @@ -385,7 +385,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App entity.doWithProperties(new PropertyHandler() { public void doWithPersistentProperty(MongoPersistentProperty prop) { - if (prop.equals(idProperty) || prop.isCalculatedProperty()) { + if (prop.equals(idProperty) || !prop.isWritable()) { return; } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentProperty.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentProperty.java index c44e78014..bd2aab0eb 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentProperty.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentProperty.java @@ -201,13 +201,4 @@ public class BasicMongoPersistentProperty extends AnnotationBasedPersistentPrope public boolean isTextScoreProperty() { return isAnnotationPresent(TextScore.class); } - - /* - * (non-Javadoc) - * @see org.springframework.data.mongodb.core.mapping.MongoPersistentProperty#isCalculatedProperty() - */ - @Override - public boolean isCalculatedProperty() { - return isAnnotationPresent(Calculated.class); - } } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Calculated.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Calculated.java deleted file mode 100644 index a38cc9e12..000000000 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/Calculated.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2014 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data.mongodb.core.mapping; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Meta-annotation to be used to annotate {@link java.lang.annotation.Annotation}s that mark properties either - * calculated internally or on server.
- * NOTE: Different to {@link org.springframework.data.annotation.Transient}, {@link Calculated} properties are - * considered when reading from the store. - * - * @author Christoph Strobl - * @since 1.6 - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.ANNOTATION_TYPE) -public @interface Calculated { - -} diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/MongoPersistentProperty.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/MongoPersistentProperty.java index 9b1ce2a00..7887a1586 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/MongoPersistentProperty.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/MongoPersistentProperty.java @@ -78,15 +78,6 @@ public interface MongoPersistentProperty extends PersistentProperty @@ -29,7 +31,7 @@ import java.lang.annotation.Target; * @author Christoph Strobl * @since 1.6 */ -@Calculated +@ReadOnlyProperty @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentPropertyUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentPropertyUnitTests.java index 89388ed77..104791b37 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentPropertyUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/BasicMongoPersistentPropertyUnitTests.java @@ -167,13 +167,13 @@ public class BasicMongoPersistentPropertyUnitTests { * @see DATAMONGO-976 */ @Test - public void shouldDetectTextScoreAsCalculatedProperty() { + public void shouldDetectTextScoreAsReadOnlyProperty() { BasicMongoPersistentEntity persistentEntity = new BasicMongoPersistentEntity( ClassTypeInformation.from(DocumentWithTextScoreProperty.class)); MongoPersistentProperty property = getPropertyFor(persistentEntity, "score"); - assertThat(property.isCalculatedProperty(), is(true)); + assertThat(property.isWritable(), is(false)); } private MongoPersistentProperty getPropertyFor(Field field) {