Search in sources :

Example 66 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class InterfaceWrapperHelper method getValueByColumnId.

public static <T> T getValueByColumnId(Object model, int adColumnId) {
    Check.assumeNotNull(model, "model is not null");
    Check.assume(adColumnId > 0, "adColumnId > 0");
    if (GridTabWrapper.isHandled(model)) {
        final GridTab gridTab = GridTabWrapper.getGridTab(model);
        for (final GridField field : gridTab.getFields()) {
            if (field.getAD_Column_ID() == adColumnId) {
                @SuppressWarnings("unchecked") final T value = (T) field.getValue();
                return value;
            }
        }
        throw new AdempiereException("No field with AD_Column_ID=" + adColumnId + " found in " + gridTab + " for " + model);
    } else if (POWrapper.isHandled(model)) {
        PO po = POWrapper.getPO(model, false);
        @SuppressWarnings("unchecked") T value = (T) po.get_ValueOfColumn(adColumnId);
        return value;
    } else // else if (POJOWrapper.isHandled(model))
    // {
    // final POJOWrapper wrapper = POJOWrapper.getWrapper(model);
    // // MColumn.getColumnName(ctx, AD_Column_ID)
    // }
    {
        throw new AdempiereException("Model wrapping is not supported for " + model + " (class:" + model.getClass() + ")");
    }
}
Also used : GridTab(org.compiere.model.GridTab) AdempiereException(org.adempiere.exceptions.AdempiereException) GridField(org.compiere.model.GridField) PO(org.compiere.model.PO)

Example 67 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class POWrapper method getCtx.

/**
	 * Get context form model. If <code>useClientOrgFromModel</code> is true, then the returned context will contain the given <code>model</code>'s AD_Client_ID and AD_Org_ID in its
	 * <code>#AD_client_ID</code> and <code>#AD_Org_ID</code> properties.
	 * 
	 * @param model
	 * @param useClientOrgFromModel
	 * @return
	 */
public static Properties getCtx(final Object model, final boolean useClientOrgFromModel) {
    final PO po = getPO(model);
    if (po != null) {
        final Properties poCtx;
        if (useClientOrgFromModel) {
            // won't change the original. 
            poCtx = new Properties(po.getCtx());
            Env.setContext(poCtx, "#AD_Client_ID", po.getAD_Client_ID());
            Env.setContext(poCtx, "#AD_Org_ID", po.getAD_Org_ID());
        } else {
            poCtx = po.getCtx();
        }
        return poCtx;
    }
    return Env.getCtx();
}
Also used : Properties(java.util.Properties) PO(org.compiere.model.PO)

Example 68 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class POWrapper method create.

public static <T> T create(Properties ctx, Class<T> cl, String trxName) {
    String tableName = getTableName(cl);
    PO po = MTable.get(ctx, tableName).getPO(0, trxName);
    if (po == null) {
        // throw new AdempiereException("@PONotFound@ @" + tableName + "@ (ID=" + record_id + ")");
        return null;
    }
    return create(po, cl);
}
Also used : PO(org.compiere.model.PO)

Example 69 with PO

use of org.compiere.model.PO in project adempiere by adempiere.

the class POWrapper method translate.

public static <T> T translate(T model, Class<T> cl, String trlAdLanguage) {
    final PO po = getPO(model);
    if (trlAdLanguage == null) {
        final Properties ctx = getCtx(model);
        trlAdLanguage = Env.getAD_Language(ctx);
    }
    if (Env.isBaseLanguage(trlAdLanguage, po.get_TableName())) {
        // no need to translate because context language is same as base language
        trlAdLanguage = null;
    }
    final boolean useOldValues = false;
    return create(po, cl, useOldValues, trlAdLanguage);
}
Also used : Properties(java.util.Properties) PO(org.compiere.model.PO)

Example 70 with PO

use of org.compiere.model.PO in project metasfresh-webui-api by metasfresh.

the class SqlDocumentsRepository method retrieveOrCreatePO.

private PO retrieveOrCreatePO(final Document document) {
    final SqlDocumentEntityDataBindingDescriptor dataBinding = SqlDocumentEntityDataBindingDescriptor.cast(document.getEntityDescriptor().getDataBinding());
    final String sqlTableName = dataBinding.getTableName();
    // 
    // Load the PO / Create new PO instance
    final PO po;
    if (document.isNew()) {
        po = TableModelLoader.instance.newPO(document.getCtx(), sqlTableName, ITrx.TRXNAME_ThreadInherited);
    } else if (dataBinding.isSingleKey()) {
        final boolean checkCache = false;
        po = TableModelLoader.instance.getPO(document.getCtx(), sqlTableName, document.getDocumentIdAsInt(), checkCache, ITrx.TRXNAME_ThreadInherited);
    } else {
        po = toQueryBuilder(dataBinding, document.getDocumentId()).create().firstOnly(PO.class);
    }
    if (po == null) {
        throw new DBException("No PO found for " + document);
    }
    // 
    // 
    po.set_ManualUserAction(document.getWindowNo());
    // allow changing any columns
    InterfaceWrapperHelper.ATTR_ReadOnlyColumnCheckDisabled.setValue(po, true);
    return po;
}
Also used : DBException(org.adempiere.exceptions.DBException) SqlDocumentEntityDataBindingDescriptor(de.metas.ui.web.window.descriptor.sql.SqlDocumentEntityDataBindingDescriptor) PO(org.compiere.model.PO)

Aggregations

PO (org.compiere.model.PO)75 MTable (org.compiere.model.MTable)18 AdempiereException (org.adempiere.exceptions.AdempiereException)17 SQLException (java.sql.SQLException)16 Properties (java.util.Properties)13 BigDecimal (java.math.BigDecimal)11 Query (org.compiere.model.Query)8 Element (org.w3c.dom.Element)7 ArrayList (java.util.ArrayList)6 MEXPFormat (org.compiere.model.MEXPFormat)6 ADLoginRequest (pl.x3E.adInterface.ADLoginRequest)6 POInfo (org.compiere.model.POInfo)5 Trx (org.compiere.util.Trx)5 ModelCRUD (pl.x3E.adInterface.ModelCRUD)5 PreparedStatement (java.sql.PreparedStatement)4 ResultSet (java.sql.ResultSet)4 XFireFault (org.codehaus.xfire.fault.XFireFault)4 DataField (pl.x3E.adInterface.DataField)4 DataRow (pl.x3E.adInterface.DataRow)4 ParseException (java.text.ParseException)3