#625 - Rename @DocStoreEmbedded to @DocEmbedded (with deprecation)

This commit is contained in:
Robin Bygrave
2016-03-29 15:46:10 +13:00
parent fdb2965d6e
commit 04965892f0
8 changed files with 64 additions and 41 deletions
@@ -0,0 +1,37 @@
package com.avaje.ebean.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Specify the property is included in the parent document store index.
*
* <pre>{@code
*
*
* @DocStore
* @Entity @Table(name = "o_order")
* public class Order {
*
* ...
* // include some customer details including
* // nested billingAddress
* @DocEmbedded(doc = "id,status,name,billingAddress(*,country(*)")
* @ManyToOne
* Customer customer;
*
*
* }</pre>
*/
@Target({ ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface DocEmbedded {
/**
* The properties on the embedded bean to include in the index.
*/
String doc() default "";
}
@@ -6,27 +6,11 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Specify the property is included in the parent document store index.
*
* <pre>{@code
*
*
* @DocStore
* @Entity @Table(name = "o_order")
* public class Order {
*
* ...
* // include some customer details including
* // nested billingAddress
* @DocStoreEmbedded(doc = "id,status,name,billingAddress(*,country(*)")
* @ManyToOne
* Customer customer;
*
*
* }</pre>
* Deprecated in favor of @DocEmbedded (i.e. renamed to @DocEmbedded)
*/
@Target({ ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Deprecated
public @interface DocStoreEmbedded {
/**
@@ -1,6 +1,5 @@
package com.avaje.ebeaninternal.server.deploy.meta;
import com.avaje.ebean.annotation.DocStoreEmbedded;
import com.avaje.ebeaninternal.server.deploy.BeanCascadeInfo;
import com.avaje.ebeaninternal.server.deploy.BeanTable;
@@ -140,8 +139,8 @@ public abstract class DeployBeanPropertyAssoc<T> extends DeployBeanProperty {
/**
* Set DocStoreEmbedded deployment information.
*/
public void setDocStoreEmbedded(DocStoreEmbedded embedded) {
docStoreDoc = embedded.doc();
public void setDocStoreEmbedded(String embeddedDoc) {
this.docStoreDoc = embeddedDoc;
}
public String getDocStoreDoc() {
@@ -91,9 +91,13 @@ public class AnnotationFields extends AnnotationParser {
prop.setEmbedded();
}
DocEmbedded docEmbedded = get(prop, DocEmbedded.class);
if (docEmbedded != null) {
prop.setDocStoreEmbedded(docEmbedded.doc());
}
DocStoreEmbedded docStoreEmbedded = get(prop, DocStoreEmbedded.class);
if (docStoreEmbedded != null) {
prop.setDocStoreEmbedded(docStoreEmbedded);
prop.setDocStoreEmbedded(docStoreEmbedded.doc());
}
if (prop instanceof DeployBeanPropertyAssocOne<?>) {
@@ -1,20 +1,19 @@
package com.avaje.tests.model.basic;
import java.sql.Timestamp;
import java.util.List;
import com.avaje.ebean.annotation.CacheStrategy;
import com.avaje.ebean.annotation.ChangeLog;
import com.avaje.ebean.annotation.CreatedTimestamp;
import com.avaje.ebean.annotation.DocEmbedded;
import com.avaje.ebean.annotation.DocStore;
import com.avaje.ebean.annotation.Index;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Version;
import com.avaje.ebean.annotation.CacheStrategy;
import com.avaje.ebean.annotation.ChangeLog;
import com.avaje.ebean.annotation.CreatedTimestamp;
import com.avaje.ebean.annotation.DocStoreEmbedded;
import com.avaje.ebean.annotation.DocStore;
import com.avaje.ebean.annotation.Index;
import java.sql.Timestamp;
import java.util.List;
@DocStore
@Index(columnNames = {"last_name","first_name"})
@@ -35,7 +34,7 @@ public class Contact {
String mobile;
String email;
@DocStoreEmbedded(doc="id,name")
@DocEmbedded(doc="id,name")
@ManyToOne(optional=false)
Customer customer;
@@ -4,7 +4,7 @@ import com.avaje.ebean.annotation.ChangeLog;
import com.avaje.ebean.annotation.ChangeLogInsertMode;
import com.avaje.ebean.annotation.DbComment;
import com.avaje.ebean.annotation.DbEnumValue;
import com.avaje.ebean.annotation.DocStoreEmbedded;
import com.avaje.ebean.annotation.DocEmbedded;
import com.avaje.ebean.annotation.DocStore;
import com.avaje.ebean.annotation.JsonIgnore;
import com.avaje.ebean.annotation.Where;
@@ -80,11 +80,11 @@ public class Customer extends BasicDomain {
@NotNull(groups = { ValidationGroupSomething.class })
Date anniversary;
@DocStoreEmbedded(doc="*,country(*)")
@DocEmbedded(doc="*,country(*)")
@ManyToOne(cascade = CascadeType.ALL)
Address billingAddress;
@DocStoreEmbedded(doc="*,country(*)")
@DocEmbedded(doc="*,country(*)")
@ManyToOne(cascade = CascadeType.ALL)
Address shippingAddress;
@@ -1,6 +1,7 @@
package com.avaje.tests.model.basic;
import com.avaje.ebean.annotation.ChangeLog;
import com.avaje.ebean.annotation.DocEmbedded;
import com.avaje.ebean.annotation.DocStore;
import com.avaje.ebean.annotation.DocStoreEmbedded;
import com.avaje.ebean.annotation.Formula;
@@ -86,7 +87,7 @@ public class Order implements Serializable {
@NotNull
@ManyToOne
@JoinColumn(name = "kcustomer_id")
@DocStoreEmbedded(doc = "id,name")
@DocEmbedded(doc = "id,name")
Customer customer;
@Column(name = "name", table = "o_customer")
@@ -1,15 +1,14 @@
package com.avaje.tests.model.basic;
import com.avaje.ebean.annotation.DocStoreEmbedded;
import java.io.Serializable;
import java.sql.Timestamp;
import com.avaje.ebean.annotation.DocEmbedded;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Version;
import java.io.Serializable;
import java.sql.Timestamp;
/**
* Order Detail entity bean.
@@ -33,7 +32,7 @@ public class OrderDetail implements Serializable {
Double unitPrice;
@ManyToOne
@DocStoreEmbedded(doc = "id,name,sku")
@DocEmbedded(doc = "id,name,sku")
Product product;
Timestamp cretime;