Search in sources :

Example 6 with EntityNotFoundException

use of de.metas.ui.web.exceptions.EntityNotFoundException in project metasfresh-webui-api by metasfresh.

the class WEBUI_PP_Order_IssueReceipt_BarcodeLauncher method doIt.

@Override
protected String doIt() throws Exception {
    final int orderLineId = OrderCheckupBarcode.fromBarcodeString(p_Barcode).getC_OrderLine_ID();
    final int ppOrderId = Services.get(IPPOrderDAO.class).retrievePPOrderIdByOrderLineId(orderLineId);
    if (ppOrderId <= 0) {
        throw new EntityNotFoundException("@NotFound@ @PP_Order_ID@");
    }
    final TableRecordReference ppOrderRef = TableRecordReference.of(org.eevolution.model.I_PP_Order.Table_Name, ppOrderId);
    getResult().setRecordToOpen(ppOrderRef, PPOrderConstants.AD_WINDOW_ID_IssueReceipt.toInt(), OpenTarget.GridView);
    return MSG_OK;
}
Also used : TableRecordReference(org.adempiere.util.lang.impl.TableRecordReference) IPPOrderDAO(org.eevolution.api.IPPOrderDAO) EntityNotFoundException(de.metas.ui.web.exceptions.EntityNotFoundException)

Example 7 with EntityNotFoundException

use of de.metas.ui.web.exceptions.EntityNotFoundException in project metasfresh-webui-api by metasfresh.

the class PickingSlotRowsCollection method getById.

public PickingSlotRow getById(@NonNull final PickingSlotRowId rowId) throws EntityNotFoundException {
    if (rowId.getPickingSlotId() <= 0) {
        return assertRowNotNull(rowId, getRowsIndex().getRow(rowId));
    }
    final PickingSlotRowId pickingSlotRowId = PickingSlotRowId.ofPickingSlotId(rowId.getPickingSlotId());
    final PickingSlotRow pickingSlotRow = getRowsIndex().getRow(pickingSlotRowId);
    if (java.util.Objects.equals(rowId, pickingSlotRowId)) {
        return assertRowNotNull(pickingSlotRowId, pickingSlotRow);
    }
    return pickingSlotRow.findIncludedRowById(rowId).orElseThrow(() -> new EntityNotFoundException("Row not found").setParameter("pickingSlotRow", pickingSlotRow).setParameter("rowId", rowId));
}
Also used : EntityNotFoundException(de.metas.ui.web.exceptions.EntityNotFoundException)

Example 8 with EntityNotFoundException

use of de.metas.ui.web.exceptions.EntityNotFoundException in project metasfresh-webui-api by metasfresh.

the class BoardDescriptorRepository method createBoardDescriptor.

private BoardDescriptor createBoardDescriptor(final int boardId) {
    // 
    // Retrieve the board PO
    final IQueryBL queryBL = Services.get(IQueryBL.class);
    final I_WEBUI_Board boardPO = queryBL.createQueryBuilderOutOfTrx(I_WEBUI_Board.class).addEqualsFilter(I_WEBUI_Board.COLUMN_WEBUI_Board_ID, boardId).addOnlyActiveRecordsFilter().create().firstOnly(I_WEBUI_Board.class);
    if (boardPO == null) {
        throw new EntityNotFoundException("No board found for ID=" + boardId);
    }
    // 
    // Board document mappings
    final String tableName = Services.get(IADTableDAO.class).retrieveTableName(boardPO.getAD_Table_ID());
    final String keyColumnName = InterfaceWrapperHelper.getKeyColumnName(tableName);
    // TODO: hardcoded
    final String userIdColumnName = "UpdatedBy";
    // 
    // Board document info
    // TODO boardPO.getAD_Window_ID();
    int adWindowId = 0;
    if (adWindowId <= 0) {
        adWindowId = RecordZoomWindowFinder.findAD_Window_ID(tableName);
    }
    final WindowId documentWindowId = WindowId.of(adWindowId);
    final DocumentEntityDescriptor documentEntityDescriptor = documentDescriptors.getDocumentEntityDescriptor(documentWindowId);
    final SqlDocumentEntityDataBindingDescriptor documentBinding = documentEntityDescriptor.getDataBinding(SqlDocumentEntityDataBindingDescriptor.class);
    final String tableAlias = documentBinding.getTableAlias();
    // 
    // Board document lookup provider
    final int adValRuleId = boardPO.getAD_Val_Rule_ID();
    final LookupDescriptorProvider documentLookupDescriptorProvider = SqlLookupDescriptor.builder().setCtxTableName(null).setCtxColumnName(keyColumnName).setDisplayType(DisplayType.Search).setWidgetType(DocumentFieldWidgetType.Lookup).setAD_Val_Rule_ID(adValRuleId).buildProvider();
    // 
    // Board descriptor
    final IModelTranslationMap boardTrlMap = InterfaceWrapperHelper.getModelTranslationMap(boardPO);
    final BoardDescriptorBuilder boardDescriptor = BoardDescriptor.builder().boardId(boardPO.getWEBUI_Board_ID()).caption(boardTrlMap.getColumnTrl(I_WEBUI_Board.COLUMNNAME_Name, boardPO.getName())).documentWindowId(documentWindowId).documentLookupDescriptorProvider(documentLookupDescriptorProvider).tableName(tableName).tableAlias(tableAlias).keyColumnName(keyColumnName).userIdColumnName(userIdColumnName).websocketEndpoint(WebSocketConfig.buildBoardTopicName(boardId));
    // Source document filters: AD_Val_Rule_ID
    if (adValRuleId > 0) {
        final IValidationRule validationRule = Services.get(IValidationRuleFactory.class).create(tableName, adValRuleId, // ctx table name
        null, // ctx column name
        null);
        final String sqlWhereClause = validationRule.getPrefilterWhereClause().evaluate(Evaluatees.ofCtx(Env.getCtx()), OnVariableNotFound.Fail);
        final DocumentFilter adValRuleFilter = DocumentFilter.builder().setFilterId("AD_Val_Rule_" + adValRuleId).addParameter(DocumentFilterParam.ofSqlWhereClause(true, sqlWhereClause)).build();
        boardDescriptor.documentFilter(adValRuleFilter);
    }
    // 
    // Lanes
    {
        queryBL.createQueryBuilderOutOfTrx(I_WEBUI_Board_Lane.class).addEqualsFilter(I_WEBUI_Board_Lane.COLUMN_WEBUI_Board_ID, boardId).addOnlyActiveRecordsFilter().orderBy().addColumn(I_WEBUI_Board_Lane.COLUMN_SeqNo).addColumn(// just have a predictable order
        I_WEBUI_Board_Lane.COLUMN_WEBUI_Board_Lane_ID).endOrderBy().create().stream(I_WEBUI_Board_Lane.class).map(this::createBoardLaneDescriptor).forEach(lane -> boardDescriptor.lane(lane.getLaneId(), lane));
    }
    // 
    // Board card fields
    {
        queryBL.createQueryBuilderOutOfTrx(I_WEBUI_Board_CardField.class).addEqualsFilter(I_WEBUI_Board_CardField.COLUMN_WEBUI_Board_ID, boardId).addOnlyActiveRecordsFilter().orderBy().addColumn(I_WEBUI_Board_CardField.COLUMN_SeqNo).addColumn(I_WEBUI_Board_CardField.COLUMN_WEBUI_Board_CardField_ID).endOrderBy().create().stream(I_WEBUI_Board_CardField.class).map(cardFieldPO -> createBoardCardFieldDescriptor(cardFieldPO, documentEntityDescriptor)).forEach(cardField -> boardDescriptor.cardFieldByFieldName(cardField.getFieldName(), cardField));
    }
    // 
    return boardDescriptor.build();
}
Also used : CCache(org.compiere.util.CCache) DBUniqueConstraintException(org.adempiere.exceptions.DBUniqueConstraintException) I_WEBUI_Board_CardField(de.metas.ui.web.base.model.I_WEBUI_Board_CardField) JSONBoardChangedEventsList(de.metas.ui.web.board.json.events.JSONBoardChangedEventsList) ITrx(org.adempiere.ad.trx.api.ITrx) Env(org.compiere.util.Env) Autowired(org.springframework.beans.factory.annotation.Autowired) JSONBoardChangedEventsListBuilder(de.metas.ui.web.board.json.events.JSONBoardChangedEventsList.JSONBoardChangedEventsListBuilder) BigDecimal(java.math.BigDecimal) IStringExpression(org.adempiere.ad.expression.api.IStringExpression) InterfaceWrapperHelper(org.adempiere.model.InterfaceWrapperHelper) ResultSet(java.sql.ResultSet) Map(java.util.Map) ToString(lombok.ToString) Repository(org.springframework.stereotype.Repository) RecordZoomWindowFinder(org.adempiere.model.RecordZoomWindowFinder) ImmutableSet(com.google.common.collect.ImmutableSet) WindowConstants(de.metas.ui.web.window.WindowConstants) ITranslatableString(de.metas.i18n.ITranslatableString) NonNull(lombok.NonNull) Collection(java.util.Collection) Set(java.util.Set) PreparedStatement(java.sql.PreparedStatement) I_WEBUI_Board_RecordAssignment(de.metas.ui.web.base.model.I_WEBUI_Board_RecordAssignment) EqualsAndHashCode(lombok.EqualsAndHashCode) ITrxManager(org.adempiere.ad.trx.api.ITrxManager) DocumentFieldDescriptor(de.metas.ui.web.window.descriptor.DocumentFieldDescriptor) DBException(org.adempiere.exceptions.DBException) Services(org.adempiere.util.Services) EntityNotFoundException(de.metas.ui.web.exceptions.EntityNotFoundException) List(java.util.List) DateTimeTranslatableString(de.metas.i18n.DateTimeTranslatableString) WebsocketSender(de.metas.ui.web.websocket.WebsocketSender) NumberTranslatableString(de.metas.i18n.NumberTranslatableString) LookupScope(de.metas.ui.web.window.descriptor.LookupDescriptorProvider.LookupScope) DocumentFieldWidgetType(de.metas.ui.web.window.descriptor.DocumentFieldWidgetType) IMsgBL(de.metas.i18n.IMsgBL) IADTableDAO(org.adempiere.ad.table.api.IADTableDAO) Joiner(com.google.common.base.Joiner) ImmutableTranslatableString(de.metas.i18n.ImmutableTranslatableString) LogManager(de.metas.logging.LogManager) I_WEBUI_Board_Lane(de.metas.ui.web.base.model.I_WEBUI_Board_Lane) BoardDescriptorBuilder(de.metas.ui.web.board.BoardDescriptor.BoardDescriptorBuilder) DocumentPath(de.metas.ui.web.window.datatypes.DocumentPath) SqlDocumentFieldDataBindingDescriptor(de.metas.ui.web.window.descriptor.sql.SqlDocumentFieldDataBindingDescriptor) DocumentId(de.metas.ui.web.window.datatypes.DocumentId) LookupDescriptorProvider(de.metas.ui.web.window.descriptor.LookupDescriptorProvider) SqlLookupDescriptor(de.metas.ui.web.window.descriptor.sql.SqlLookupDescriptor) JSONBoardLaneChangedEvent(de.metas.ui.web.board.json.events.JSONBoardLaneChangedEvent) I_WEBUI_Board(de.metas.ui.web.base.model.I_WEBUI_Board) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) SQLException(java.sql.SQLException) DB(org.compiere.util.DB) ICurrencyDAO(de.metas.currency.ICurrencyDAO) LookupDescriptor(de.metas.ui.web.window.descriptor.LookupDescriptor) ImmutableList(com.google.common.collect.ImmutableList) SqlDocumentEntityDataBindingDescriptor(de.metas.ui.web.window.descriptor.sql.SqlDocumentEntityDataBindingDescriptor) DisplayType(org.compiere.util.DisplayType) DocumentEntityDescriptor(de.metas.ui.web.window.descriptor.DocumentEntityDescriptor) DocumentFilter(de.metas.ui.web.document.filter.DocumentFilter) I_AD_User(org.compiere.model.I_AD_User) DocumentFieldValueLoader(de.metas.ui.web.window.descriptor.sql.DocumentFieldValueLoader) LinkedHashSet(java.util.LinkedHashSet) OnVariableNotFound(org.adempiere.ad.expression.api.IExpressionEvaluator.OnVariableNotFound) JSONLookupValue(de.metas.ui.web.window.datatypes.json.JSONLookupValue) LookupValue(de.metas.ui.web.window.datatypes.LookupValue) Logger(org.slf4j.Logger) BoardFieldLoader(de.metas.ui.web.board.BoardCardFieldDescriptor.BoardFieldLoader) Evaluatees(org.compiere.util.Evaluatees) DocumentDescriptorFactory(de.metas.ui.web.window.descriptor.factory.DocumentDescriptorFactory) DocumentFilterParam(de.metas.ui.web.document.filter.DocumentFilterParam) IModelTranslationMap(de.metas.i18n.IModelTranslationMap) WindowId(de.metas.ui.web.window.datatypes.WindowId) IQueryBL(org.adempiere.ad.dao.IQueryBL) Amount(de.metas.currency.Amount) Consumer(java.util.function.Consumer) NumberUtils(org.adempiere.util.NumberUtils) AdempiereException(org.adempiere.exceptions.AdempiereException) ListUtils(org.adempiere.util.collections.ListUtils) IValidationRuleFactory(org.adempiere.ad.validationRule.IValidationRuleFactory) Preconditions(com.google.common.base.Preconditions) IValidationRule(org.adempiere.ad.validationRule.IValidationRule) WebSocketConfig(de.metas.ui.web.websocket.WebSocketConfig) CompositeStringExpression(org.adempiere.ad.expression.api.impl.CompositeStringExpression) IModelTranslationMap(de.metas.i18n.IModelTranslationMap) SqlDocumentEntityDataBindingDescriptor(de.metas.ui.web.window.descriptor.sql.SqlDocumentEntityDataBindingDescriptor) EntityNotFoundException(de.metas.ui.web.exceptions.EntityNotFoundException) ToString(lombok.ToString) ITranslatableString(de.metas.i18n.ITranslatableString) DateTimeTranslatableString(de.metas.i18n.DateTimeTranslatableString) NumberTranslatableString(de.metas.i18n.NumberTranslatableString) ImmutableTranslatableString(de.metas.i18n.ImmutableTranslatableString) DocumentFilter(de.metas.ui.web.document.filter.DocumentFilter) IValidationRuleFactory(org.adempiere.ad.validationRule.IValidationRuleFactory) LookupDescriptorProvider(de.metas.ui.web.window.descriptor.LookupDescriptorProvider) IQueryBL(org.adempiere.ad.dao.IQueryBL) BoardDescriptorBuilder(de.metas.ui.web.board.BoardDescriptor.BoardDescriptorBuilder) WindowId(de.metas.ui.web.window.datatypes.WindowId) IADTableDAO(org.adempiere.ad.table.api.IADTableDAO) IValidationRule(org.adempiere.ad.validationRule.IValidationRule) I_WEBUI_Board(de.metas.ui.web.base.model.I_WEBUI_Board) I_WEBUI_Board_Lane(de.metas.ui.web.base.model.I_WEBUI_Board_Lane) I_WEBUI_Board_CardField(de.metas.ui.web.base.model.I_WEBUI_Board_CardField) DocumentEntityDescriptor(de.metas.ui.web.window.descriptor.DocumentEntityDescriptor)

Example 9 with EntityNotFoundException

use of de.metas.ui.web.exceptions.EntityNotFoundException in project metasfresh-webui-api by metasfresh.

the class WEBUI_KPI_TestQuery method doIt.

@Override
protected String doIt() throws JsonProcessingException {
    final int kpiId = getRecord_ID();
    if (kpiId <= 0) {
        throw new EntityNotFoundException("@NotFound@ @" + I_WEBUI_KPI.COLUMNNAME_WEBUI_KPI_ID + "@");
    }
    kpisRepo.invalidateKPI(kpiId);
    final KPI kpi = kpisRepo.getKPI(kpiId);
    final TimeRange timeRange = kpi.getTimeRangeDefaults().createTimeRange(p_DateFrom, p_DateTo);
    final KPIDataResult kpiData = KPIDataLoader.newInstance(elasticsearchClient, kpi).setTimeRange(timeRange).setFormatValues(true).assertESTypesExists().retrieveData();
    final String jsonData = jsonObjectMapper.writeValueAsString(kpiData);
    log.info("jsonData:\n {}", jsonData);
    return jsonData;
}
Also used : TimeRange(de.metas.ui.web.dashboard.TimeRange) I_WEBUI_KPI(de.metas.ui.web.base.model.I_WEBUI_KPI) KPI(de.metas.ui.web.dashboard.KPI) EntityNotFoundException(de.metas.ui.web.exceptions.EntityNotFoundException) KPIDataResult(de.metas.ui.web.dashboard.KPIDataResult)

Example 10 with EntityNotFoundException

use of de.metas.ui.web.exceptions.EntityNotFoundException in project metasfresh-webui-api by metasfresh.

the class DebugRestController method setLoggerLevel.

@GetMapping("/logger/_setLevel/{level}")
public Set<String> setLoggerLevel(// 
@RequestParam(name = "module", required = false) final LoggingModule module, // 
@RequestParam(name = "loggerName", required = false) final String loggerName, // 
@PathVariable("level") final String levelStr) {
    // 
    // Get Level to set
    final Level level;
    if (Check.isEmpty(levelStr, true)) {
        level = null;
    } else {
        level = LogManager.asLogbackLevel(levelStr);
        if (level == null) {
            throw new IllegalArgumentException("level is not valid");
        }
    }
    // 
    // Get logger names
    final Set<String> loggerNamesEffective = new LinkedHashSet<>();
    if (module != null) {
        loggerNamesEffective.addAll(module.getLoggerNames());
    }
    if (!Check.isEmpty(loggerName, true)) {
        loggerNamesEffective.add(loggerName.trim());
    }
    // Set level to effective logger names
    for (final String loggerNameEffective : loggerNamesEffective) {
        final Logger logger = LogManager.getLogger(loggerNameEffective);
        if (logger == null) {
            throw new EntityNotFoundException("No logger found for " + loggerNameEffective);
        }
        final boolean set = LogManager.setLoggerLevel(logger, level);
        if (!set) {
            throw new IllegalStateException("For some reason " + logger + " could not be set to level " + level);
        }
    }
    return loggerNamesEffective;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) Level(ch.qos.logback.classic.Level) EntityNotFoundException(de.metas.ui.web.exceptions.EntityNotFoundException) Logger(org.slf4j.Logger) IQueryStatisticsLogger(org.adempiere.ad.dao.IQueryStatisticsLogger) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Aggregations

EntityNotFoundException (de.metas.ui.web.exceptions.EntityNotFoundException)19 Logger (org.slf4j.Logger)4 ImmutableList (com.google.common.collect.ImmutableList)3 Level (ch.qos.logback.classic.Level)2 Preconditions (com.google.common.base.Preconditions)2 ImmutableSet (com.google.common.collect.ImmutableSet)2 IModelTranslationMap (de.metas.i18n.IModelTranslationMap)2 LogManager (de.metas.logging.LogManager)2 DocumentPath (de.metas.ui.web.window.datatypes.DocumentPath)2 DocumentType (de.metas.ui.web.window.datatypes.DocumentType)2 WindowId (de.metas.ui.web.window.datatypes.WindowId)2 DocumentEntityDescriptor (de.metas.ui.web.window.descriptor.DocumentEntityDescriptor)2 PreparedStatement (java.sql.PreparedStatement)2 ResultSet (java.sql.ResultSet)2 SQLException (java.sql.SQLException)2 LinkedHashSet (java.util.LinkedHashSet)2 List (java.util.List)2 Builder (lombok.Builder)2 NonNull (lombok.NonNull)2 ILogicExpression (org.adempiere.ad.expression.api.ILogicExpression)2