I have done the changes according to this documentation (
http://docs.broadleafcommerce.org/core/current/broadleaf-concepts/data-and-service-models/extending-entities).
1)I have created two new .java file MyproductImpl.java and MPproduct.java with the following code
here i'm extending the Product.class file
Code: Select all
package com.marketplace.core.catalog.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.broadleafcommerce.common.vendor.service.type.ContainerShapeType;
import org.broadleafcommerce.common.vendor.service.type.ContainerSizeType;
import org.broadleafcommerce.core.media.domain.Media;
import org.broadleafcommerce.core.catalog.domain.product;
public abstract interface MPproduct extends product {
public abstract String getVersion();
public abstract void setVersion(String paramString);
}
here i'm extending the ProductImpl.class file
Code: Select all
package com.marketplace.product.core.domain;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.broadleafcommerce.common.persistence.ArchiveStatus;
import org.broadleafcommerce.common.persistence.Status;
import org.broadleafcommerce.common.presentation.AdminPresentation;
import org.broadleafcommerce.common.presentation.AdminPresentationAdornedTargetCollection;
import org.broadleafcommerce.common.presentation.AdminPresentationClass;
import org.broadleafcommerce.common.presentation.AdminPresentationCollection;
import org.broadleafcommerce.common.presentation.AdminPresentationToOneLookup;
import org.broadleafcommerce.common.presentation.PopulateToOneFieldsEnum;
import org.broadleafcommerce.common.presentation.RequiredOverride;
import org.broadleafcommerce.common.presentation.client.AddMethodType;
import org.broadleafcommerce.common.presentation.client.VisibilityEnum;
import org.broadleafcommerce.common.util.BLCMapUtils;
import org.broadleafcommerce.common.util.DateUtil;
import org.broadleafcommerce.common.util.TypedClosure;
import org.broadleafcommerce.common.vendor.service.type.ContainerShapeType;
import org.broadleafcommerce.common.vendor.service.type.ContainerSizeType;
import org.broadleafcommerce.core.media.domain.Media;
import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.SQLDelete;
import org.broadleafcommerce.core.catalog.domain.ProductImpl;
@Entity
@Table(name="BLC_PRODUCT")
public class MyproductImpl extends ProductImpl implements MPproduct {
private static final long serialVersionUID = 1L;
@Column(name = "Version")
@AdminPresentation(friendlyName="ProductImpl_Product_Version", order=9, group="ProductImpl_Product_Description", prominent=true, groupOrder=1)
private String version;
public String getVersion()
{
return this.version;
}
public void setVersion(String version)
{
this.version = version;
}
}
2) and then i added following bean under
core/src/main/resources/META-INF/persistence.xml file
which will make it look like this:
Code: Select all
<persistence-unit name="blPU" transaction-type="RESOURCE_LOCAL">
<non-jta-data-source>jdbc/web</non-jta-data-source>
<class>com.mycompany.profile.core.domain.HCCustomerImpl</class>
<exclude-unlisted-classes/>
</persistence-unit>
3) Then i have added below bean under
core/src/main/resources/applicationContext-entity.xml Code: Select all
<bean id="org.broadleafcommerce.core.catalog.domain.Product" class="com.marketplace.core.catalog.domain.MyproductImpl" scope="prototype"/>
But this thing doesn't work for me
I am getting the HTTP Error:503 in my browser.
Anyone can give me an idea what wrong i did here???
Regards,
Ankit Patni