Hello,
Sorry the lack of info.
I'm using the 2.0.2-GA version of Broadleaf commerce.
The code that produces the error is the one on the Admin tutorials section:
Code: Select all
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "MY_COMPANY_ORDER")
@AdminPresentationOverride(name="getFulfillmentFees", value=@AdminPresentation(friendlyName="Fulfillment Fees", fieldType= SupportedFieldType.MONEY))
public class MyCompanyOrderImpl extends OrderImpl implements MyCompanyOrder {
@Override
public Money getFulfillmentFees() {
Money result = new Money(BigDecimal.ZERO);
for (FulfillmentGroup group : getFulfillmentGroups()) {
for (FulfillmentGroupFee fee : group.getFulfillmentGroupFees()) {
result = result.add(fee.getAmount());
}
}
return result;
}
}
public class MyCompanyOrderPresenter extends OrderPresenter {
@Override
public void setup() {
getPresenterSequenceSetupManager().addOrReplaceItem(new PresenterSetupItem("orderDS", new MyCompanyOrderListDataSourceFactory(), new AsyncCallbackAdapter() {
@Override
public void onSetupSuccess(DataSource top) {
setupDisplayItems(top);
((ListGridDataSource) top).setupGridFields(new String[]{"customer.firstName", "customer.lastName", "name", "orderNumber", "status", "submitDate"});
getDisplay().getListDisplay().getGrid().sort("submitDate", SortDirection.DESCENDING);
}
}));
}
}
public class MyCompanyOrderPresenter extends OrderPresenter {
@Override
public void setup() {
getPresenterSequenceSetupManager().addOrReplaceItem(new PresenterSetupItem("orderDS",
new MyCompanyOrderListDataSourceFactory()
, new AsyncCallbackAdapter() {
@Override
public void onSetupSuccess(DataSource top) {
setupDisplayItems(top);
((ListGridDataSource) top).setupGridFields(new String[]{"customer.firstName", "customer.lastName",
"name", "orderNumber", "status", "submitDate", "getFulfillmentFees"});
getDisplay().getListDisplay().getGrid().sort("submitDate", SortDirection.DESCENDING);
}
}));
}
}
public class MyCompanyOrderListDataSourceFactory implements DataSourceFactory {
public static ListGridDataSource dataSource = null;
public void createDataSource(String name, OperationTypes operationTypes, Object[] additionalItems, AsyncCallback<DataSource> cb) {
System.out.println("createDataSource()" + name);
if (dataSource == null) {
// operationTypes = new OperationTypes(OperationType.ENTITY, OperationType.ENTITY, OperationType.ENTITY, OperationType.ENTITY, OperationType.ENTITY);
operationTypes = new OperationTypes();
//Add our custom getFulfillmentFees non-persistent property to the persistence perspective
PersistencePerspective persistencePerspective = new PersistencePerspective(operationTypes,
new String[]{"getFulfillmentFees"},
new ForeignKey[]{new ForeignKey("getFulfillmentFees", EntityImplementations.ORDER, "orderDS")});
DataSourceModule[] modules = new DataSourceModule[]{
new BasicClientEntityModule(CeilingEntities.ORDER, persistencePerspective, AppServices.DYNAMIC_ENTITY)
};
dataSource = new ListGridDataSource(name, persistencePerspective, AppServices.DYNAMIC_ENTITY, modules);
dataSource.buildFields(null, false, cb);
} else {
if (cb != null) {
cb.onSuccess(dataSource);
}
}
}
}
In this last class I have experienced other situation, when I import the OperationType enum in package org.broadleafcommerce.common.presentation.client, I have an error
that OperationType.ENTITY doesn't exist. Only exists NONDESTRUCTIVEREMOVE, BASIC, ADORNEDTARGETLIST, MAP. Am I doing something else wrong?
I hope this info can help.
Thank you very much!