IDEMPIERE-3925 Export button - zip doesn't work for tables without single primary key
This commit is contained in:
parent
cc3796e2b0
commit
760fd61bcc
|
@ -1026,7 +1026,7 @@ public class GridTable extends AbstractTableModel
|
|||
}
|
||||
}
|
||||
return null;
|
||||
} // getKeyID
|
||||
} // getUUID
|
||||
|
||||
/**
|
||||
* Get Key ColumnName
|
||||
|
|
|
@ -20,11 +20,12 @@ import java.util.List;
|
|||
|
||||
import javax.xml.transform.sax.TransformerHandler;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.adempiere.pipo2.AbstractElementHandler;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PIPOContext;
|
||||
import org.adempiere.pipo2.PackOut;
|
||||
import org.adempiere.pipo2.PoExporter;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PoFiller;
|
||||
import org.compiere.model.I_AD_Form_Access;
|
||||
import org.compiere.model.MFormAccess;
|
||||
|
@ -90,10 +91,28 @@ public class FormAccessElementHandler extends AbstractElementHandler {
|
|||
filler.export(excludes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId)
|
||||
throws Exception {
|
||||
throw new AdempiereException("AD_Form_Access doesn't have ID, use method with UUID");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler,
|
||||
TransformerHandler docHandler,
|
||||
int recordId) throws Exception {
|
||||
int recordId, String uuid) throws Exception {
|
||||
MFormAccess po = new Query(packout.getCtx().ctx, MFormAccess.Table_Name, "AD_Form_Access_UU=?", getTrxName(packout.getCtx()))
|
||||
.setParameters(uuid)
|
||||
.first();
|
||||
if (po != null) {
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Form.COLUMNNAME_AD_Form_ID, po.getAD_Form_ID());
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, po.getAD_Role_ID());
|
||||
this.create(packout.getCtx(), packoutHandler);
|
||||
packout.getCtx().ctx.remove(X_AD_Form.COLUMNNAME_AD_Form_ID);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
} else {
|
||||
throw new AdempiereException("AD_Form_Access_UU not found = " + uuid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ import java.util.List;
|
|||
|
||||
import javax.xml.transform.sax.TransformerHandler;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.adempiere.pipo2.AbstractElementHandler;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PIPOContext;
|
||||
|
@ -90,7 +91,24 @@ public class InfoWindowAccessElementHandler extends AbstractElementHandler {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId) throws Exception {
|
||||
create(packout.getCtx(), packoutHandler);
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId)
|
||||
throws Exception {
|
||||
throw new AdempiereException("AD_InfoWindow_Access doesn't have ID, use method with UUID");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId, String uuid) throws Exception {
|
||||
X_AD_InfoWindow_Access po = new Query(packout.getCtx().ctx, X_AD_InfoWindow_Access.Table_Name, "AD_InfoWindow_Access_UU=?", getTrxName(packout.getCtx()))
|
||||
.setParameters(uuid)
|
||||
.first();
|
||||
if (po != null) {
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_InfoWindow.COLUMNNAME_AD_InfoWindow_ID, po.getAD_InfoWindow_ID());
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, po.getAD_Role_ID());
|
||||
this.create(packout.getCtx(), packoutHandler);
|
||||
packout.getCtx().ctx.remove(X_AD_InfoWindow.COLUMNNAME_AD_InfoWindow_ID);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
} else {
|
||||
throw new AdempiereException("AD_InfoWindow_Access_UU not found = " + uuid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ import java.util.List;
|
|||
|
||||
import javax.xml.transform.sax.TransformerHandler;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.adempiere.pipo2.AbstractElementHandler;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PIPOContext;
|
||||
|
@ -59,7 +60,7 @@ public class OrgRoleElementHandler extends AbstractElementHandler {
|
|||
|
||||
public void create(PIPOContext ctx, TransformerHandler document)
|
||||
throws SAXException {
|
||||
int AD_Org_ID = Env.getContextAsInt(ctx.ctx, "AD_Org_ID");
|
||||
int AD_Org_ID = Env.getContextAsInt(ctx.ctx, X_AD_Role.COLUMNNAME_AD_Org_ID);
|
||||
int AD_Role_ID = Env.getContextAsInt(ctx.ctx, X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
|
||||
Query query = new Query(ctx.ctx, "AD_Role_OrgAccess", "AD_Role_ID=? and AD_Org_ID=?", getTrxName(ctx));
|
||||
|
@ -86,10 +87,27 @@ public class OrgRoleElementHandler extends AbstractElementHandler {
|
|||
filler.export(excludes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId)
|
||||
throws Exception {
|
||||
throw new AdempiereException("AD_Role_OrgAccess doesn't have ID, use method with UUID");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler,
|
||||
TransformerHandler docHandler,
|
||||
int recordId) throws Exception {
|
||||
create(packout.getCtx(), packoutHandler);
|
||||
int recordId, String uuid) throws Exception {
|
||||
X_AD_Role_OrgAccess po = new Query(packout.getCtx().ctx, X_AD_Role_OrgAccess.Table_Name, "AD_Role_OrgAccess_UU=?", getTrxName(packout.getCtx()))
|
||||
.setParameters(uuid)
|
||||
.first();
|
||||
if (po != null) {
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Org_ID, po.getAD_Org_ID());
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, po.getAD_Role_ID());
|
||||
this.create(packout.getCtx(), packoutHandler);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Org_ID);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
} else {
|
||||
throw new AdempiereException("AD_Role_OrgAccess_UU not found = " + uuid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,13 +20,15 @@ import java.util.List;
|
|||
|
||||
import javax.xml.transform.sax.TransformerHandler;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.adempiere.pipo2.AbstractElementHandler;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PIPOContext;
|
||||
import org.adempiere.pipo2.PackOut;
|
||||
import org.adempiere.pipo2.PoExporter;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PoFiller;
|
||||
import org.compiere.model.I_AD_Process_Access;
|
||||
import org.compiere.model.MProcessAccess;
|
||||
import org.compiere.model.Query;
|
||||
import org.compiere.model.X_AD_Process;
|
||||
import org.compiere.model.X_AD_Process_Access;
|
||||
|
@ -88,10 +90,28 @@ public class ProcessAccessElementHandler extends AbstractElementHandler {
|
|||
filler.export(excludes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId)
|
||||
throws Exception {
|
||||
throw new AdempiereException("AD_Process_Access doesn't have ID, use method with UUID");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler,
|
||||
TransformerHandler docHandler,
|
||||
int recordId) throws Exception {
|
||||
create(packout.getCtx(), packoutHandler);
|
||||
int recordId, String uuid) throws Exception {
|
||||
MProcessAccess po = new Query(packout.getCtx().ctx, MProcessAccess.Table_Name, "AD_Process_Access_UU=?", getTrxName(packout.getCtx()))
|
||||
.setParameters(uuid)
|
||||
.first();
|
||||
if (po != null) {
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Process.COLUMNNAME_AD_Process_ID, po.getAD_Process_ID());
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, po.getAD_Role_ID());
|
||||
this.create(packout.getCtx(), packoutHandler);
|
||||
packout.getCtx().ctx.remove(X_AD_Process.COLUMNNAME_AD_Process_ID);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
} else {
|
||||
throw new AdempiereException("AD_Process_Access_UU not found = " + uuid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,11 +20,12 @@ import java.util.List;
|
|||
|
||||
import javax.xml.transform.sax.TransformerHandler;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.adempiere.pipo2.AbstractElementHandler;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PIPOContext;
|
||||
import org.adempiere.pipo2.PackOut;
|
||||
import org.adempiere.pipo2.PoExporter;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PoFiller;
|
||||
import org.compiere.model.I_AD_Task_Access;
|
||||
import org.compiere.model.Query;
|
||||
|
@ -82,10 +83,28 @@ public class TaskAccessElementHandler extends AbstractElementHandler {
|
|||
filler.export(excludes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId)
|
||||
throws Exception {
|
||||
throw new AdempiereException("AD_Task_Access doesn't have ID, use method with UUID");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler,
|
||||
TransformerHandler docHandler,
|
||||
int recordId) throws Exception {
|
||||
create(packout.getCtx(), packoutHandler);
|
||||
int recordId, String uuid) throws Exception {
|
||||
X_AD_Task_Access po = new Query(packout.getCtx().ctx, X_AD_Task_Access.Table_Name, "AD_Task_Access_UU=?", getTrxName(packout.getCtx()))
|
||||
.setParameters(uuid)
|
||||
.first();
|
||||
if (po != null) {
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Task.COLUMNNAME_AD_Task_ID, po.getAD_Task_ID());
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, po.getAD_Role_ID());
|
||||
this.create(packout.getCtx(), packoutHandler);
|
||||
packout.getCtx().ctx.remove(X_AD_Task.COLUMNNAME_AD_Task_ID);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
} else {
|
||||
throw new AdempiereException("AD_Task_Access_UU not found = " + uuid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,11 +20,12 @@ import java.util.List;
|
|||
|
||||
import javax.xml.transform.sax.TransformerHandler;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.adempiere.pipo2.AbstractElementHandler;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PIPOContext;
|
||||
import org.adempiere.pipo2.PackOut;
|
||||
import org.adempiere.pipo2.PoExporter;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PoFiller;
|
||||
import org.compiere.model.I_AD_User_Roles;
|
||||
import org.compiere.model.Query;
|
||||
|
@ -63,11 +64,10 @@ public class UserRoleElementHandler extends AbstractElementHandler {
|
|||
throws SAXException {
|
||||
int AD_User_ID = Env.getContextAsInt(ctx.ctx, X_AD_User.COLUMNNAME_AD_User_ID);
|
||||
int AD_Role_ID = Env.getContextAsInt(ctx.ctx, X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
int AD_Org_ID = Env.getContextAsInt(ctx.ctx, "AD_Org_ID");
|
||||
Query query = new Query(ctx.ctx, "AD_User_Roles",
|
||||
"AD_User_ID = ? AND AD_Role_ID = ? AND AD_Org_ID = ?", getTrxName(ctx));
|
||||
"AD_User_ID = ? AND AD_Role_ID = ?", getTrxName(ctx));
|
||||
X_AD_User_Roles po = query.setParameters(
|
||||
new Object[] { AD_User_ID, AD_Role_ID, AD_Org_ID }).first();
|
||||
new Object[] { AD_User_ID, AD_Role_ID}).first();
|
||||
if (po != null) {
|
||||
if (!isPackOutElement(ctx, po))
|
||||
return;
|
||||
|
@ -90,10 +90,28 @@ public class UserRoleElementHandler extends AbstractElementHandler {
|
|||
filler.export(excludes, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId)
|
||||
throws Exception {
|
||||
throw new AdempiereException("AD_User_Roles doesn't have ID, use method with UUID");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler,
|
||||
TransformerHandler docHandler,
|
||||
int recordId) throws Exception {
|
||||
create(packout.getCtx(), packoutHandler);
|
||||
int recordId, String uuid) throws Exception {
|
||||
X_AD_User_Roles po = new Query(packout.getCtx().ctx, X_AD_User_Roles.Table_Name, "AD_User_Roles_UU=?", getTrxName(packout.getCtx()))
|
||||
.setParameters(uuid)
|
||||
.first();
|
||||
if (po != null) {
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_User.COLUMNNAME_AD_User_ID, po.getAD_User_ID());
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, po.getAD_Role_ID());
|
||||
this.create(packout.getCtx(), packoutHandler);
|
||||
packout.getCtx().ctx.remove(X_AD_User.COLUMNNAME_AD_User_ID);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
} else {
|
||||
throw new AdempiereException("AD_User_Roles_UU not found = " + uuid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,13 +20,15 @@ import java.util.List;
|
|||
|
||||
import javax.xml.transform.sax.TransformerHandler;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.adempiere.pipo2.AbstractElementHandler;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PIPOContext;
|
||||
import org.adempiere.pipo2.PackOut;
|
||||
import org.adempiere.pipo2.PoExporter;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PoFiller;
|
||||
import org.compiere.model.I_AD_Window_Access;
|
||||
import org.compiere.model.MWindowAccess;
|
||||
import org.compiere.model.Query;
|
||||
import org.compiere.model.X_AD_Role;
|
||||
import org.compiere.model.X_AD_Window;
|
||||
|
@ -83,10 +85,28 @@ public class WindowAccessElementHandler extends AbstractElementHandler {
|
|||
filler.export(excludes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId)
|
||||
throws Exception {
|
||||
throw new AdempiereException("AD_Window_Access doesn't have ID, use method with UUID");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler,
|
||||
TransformerHandler docHandler,
|
||||
int recordId) throws Exception {
|
||||
create(packout.getCtx(), packoutHandler);
|
||||
int recordId, String uuid) throws Exception {
|
||||
MWindowAccess po = new Query(packout.getCtx().ctx, MWindowAccess.Table_Name, "AD_Window_Access_UU=?", getTrxName(packout.getCtx()))
|
||||
.setParameters(uuid)
|
||||
.first();
|
||||
if (po != null) {
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Window.COLUMNNAME_AD_Window_ID, po.getAD_Window_ID());
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, po.getAD_Role_ID());
|
||||
this.create(packout.getCtx(), packoutHandler);
|
||||
packout.getCtx().ctx.remove(X_AD_Window.COLUMNNAME_AD_Window_ID);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
} else {
|
||||
throw new AdempiereException("AD_Window_Access_UU not found = " + uuid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,11 +20,12 @@ import java.util.List;
|
|||
|
||||
import javax.xml.transform.sax.TransformerHandler;
|
||||
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
import org.adempiere.pipo2.AbstractElementHandler;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PIPOContext;
|
||||
import org.adempiere.pipo2.PackOut;
|
||||
import org.adempiere.pipo2.PoExporter;
|
||||
import org.adempiere.pipo2.Element;
|
||||
import org.adempiere.pipo2.PoFiller;
|
||||
import org.compiere.model.I_AD_Workflow_Access;
|
||||
import org.compiere.model.Query;
|
||||
|
@ -86,10 +87,28 @@ public class WorkflowAccessElementHandler extends AbstractElementHandler {
|
|||
filler.export(excludes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler, int recordId)
|
||||
throws Exception {
|
||||
throw new AdempiereException("AD_Workflow_Access doesn't have ID, use method with UUID");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler,
|
||||
TransformerHandler docHandler,
|
||||
int recordId) throws Exception {
|
||||
create(packout.getCtx(), packoutHandler);
|
||||
int recordId, String uuid) throws Exception {
|
||||
MWorkflowAccess po = new Query(packout.getCtx().ctx, MWorkflowAccess.Table_Name, "AD_Workflow_Access_UU=?", getTrxName(packout.getCtx()))
|
||||
.setParameters(uuid)
|
||||
.first();
|
||||
if (po != null) {
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Workflow.COLUMNNAME_AD_Workflow_ID, po.getAD_Workflow_ID());
|
||||
Env.setContext(packout.getCtx().ctx, X_AD_Role.COLUMNNAME_AD_Role_ID, po.getAD_Role_ID());
|
||||
this.create(packout.getCtx(), packoutHandler);
|
||||
packout.getCtx().ctx.remove(X_AD_Workflow.COLUMNNAME_AD_Workflow_ID);
|
||||
packout.getCtx().ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||
} else {
|
||||
throw new AdempiereException("AD_Workflow_Access_UU not found = " + uuid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -52,4 +52,18 @@ public interface ElementHandler {
|
|||
* @throws Exception
|
||||
*/
|
||||
public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler,int recordId) throws Exception;
|
||||
|
||||
/**
|
||||
* @param packout
|
||||
* @param packoutHandler
|
||||
* @param docHandler
|
||||
* @param recordId
|
||||
* @param uuid
|
||||
* @throws Exception
|
||||
*/
|
||||
default public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler,int recordId, String uuid) throws Exception {
|
||||
// element handlers for tables without ID must implement this method
|
||||
packOut(packout, packoutHandler, docHandler, recordId); // defaults to calling the method without uuid
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ import java.util.Date;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.adempiere.base.IGridTabExporter;
|
||||
import org.adempiere.exceptions.AdempiereException;
|
||||
|
@ -87,13 +88,27 @@ public class GridTab2PackExporter implements IGridTabExporter {
|
|||
packoutItems.add(packoutItem);
|
||||
} else {
|
||||
if (currentRowOnly) {
|
||||
PackoutItem packoutItem = new PackoutItem(tableName, gridTab.getRecord_ID(),
|
||||
properties);
|
||||
int recordID = gridTab.getRecord_ID();
|
||||
String uuid = null;
|
||||
if (recordID == -1) {
|
||||
UUID uuidObj = gridTab.getTableModel().getUUID(gridTab.getCurrentRow());
|
||||
if (uuidObj != null) {
|
||||
uuid = uuidObj.toString();
|
||||
}
|
||||
}
|
||||
PackoutItem packoutItem = new PackoutItem(tableName, recordID, uuid, properties);
|
||||
packoutItems.add(packoutItem);
|
||||
} else {
|
||||
for(int i = 0; i < gridTab.getRowCount(); i++) {
|
||||
PackoutItem packoutItem = new PackoutItem(tableName, gridTab.getKeyID(i),
|
||||
properties);
|
||||
int recordID = gridTab.getKeyID(i);
|
||||
String uuid = null;
|
||||
if (recordID == -1) {
|
||||
UUID uuidObj = gridTab.getTableModel().getUUID(i);
|
||||
if (uuidObj != null) {
|
||||
uuid = uuidObj.toString();
|
||||
}
|
||||
}
|
||||
PackoutItem packoutItem = new PackoutItem(tableName, recordID, uuid, properties);
|
||||
packoutItems.add(packoutItem);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -141,7 +141,7 @@ public class PackOut
|
|||
|
||||
ElementHandler handler = handlerRegistry.getHandler(type);
|
||||
if (handler != null)
|
||||
handler.packOut(this,packoutHandler,docHandler,packoutItem.getRecordId());
|
||||
handler.packOut(this,packoutHandler,docHandler,packoutItem.getRecordId(),packoutItem.getUUID());
|
||||
else
|
||||
throw new IllegalArgumentException("Packout handler not found for type " + type);
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ public class PackoutItem {
|
|||
|
||||
private String type;
|
||||
private int recordId;
|
||||
private String uuid;
|
||||
private Map<String, Object> properties;
|
||||
|
||||
/**
|
||||
|
@ -31,9 +32,18 @@ public class PackoutItem {
|
|||
* @param recordId
|
||||
*/
|
||||
public PackoutItem(String type, int recordId, Map<String, Object> properties) {
|
||||
this(type, recordId, null, properties);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param type
|
||||
* @param recordId
|
||||
*/
|
||||
public PackoutItem(String type, int recordId, String uuid, Map<String, Object> properties) {
|
||||
super();
|
||||
this.type = type;
|
||||
this.recordId = recordId;
|
||||
this.uuid = uuid;
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
|
@ -51,6 +61,13 @@ public class PackoutItem {
|
|||
return recordId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the uuid
|
||||
*/
|
||||
public String getUUID() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param key
|
||||
|
|
Loading…
Reference in New Issue