コード例 #1
0
        public override IList <HistoricDetail> executeList(CommandContext commandContext, Page page)
        {
            checkQueryOk();
            IList <HistoricDetail> historicDetails = commandContext.HistoricDetailManager.findHistoricDetailsByQueryCriteria(this, page);

            if (historicDetails != null)
            {
                foreach (HistoricDetail historicDetail in historicDetails)
                {
                    if (historicDetail is HistoricDetailVariableInstanceUpdateEntity)
                    {
                        HistoricDetailVariableInstanceUpdateEntity entity = (HistoricDetailVariableInstanceUpdateEntity)historicDetail;
                        if (shouldFetchValue(entity))
                        {
                            try
                            {
                                entity.getTypedValue(isCustomObjectDeserializationEnabled);
                            }
                            catch (Exception t)
                            {
                                // do not fail if one of the variables fails to load
                                LOG.exceptionWhileGettingValueForVariable(t);
                            }
                        }
                    }
                }
            }
            return(historicDetails);
        }
コード例 #2
0
        protected internal virtual IList <string> getByteArrayIds(IList <HistoricVariableUpdate> variableUpdates)
        {
            IList <string> byteArrayIds = new List <string>();

            foreach (HistoricVariableUpdate variableUpdate in variableUpdates)
            {
                if (isHistoricDetailVariableInstanceUpdateEntity(variableUpdate))
                {
                    HistoricDetailVariableInstanceUpdateEntity entity = (HistoricDetailVariableInstanceUpdateEntity)variableUpdate;

                    if (isNotByteArrayVariableType(entity))
                    {
                        string byteArrayId = entity.ByteArrayValueId;
                        if (!string.ReferenceEquals(byteArrayId, null))
                        {
                            byteArrayIds.Add(byteArrayId);
                        }
                    }
                }
            }

            return(byteArrayIds);
        }
コード例 #3
0
        protected internal virtual void resolveTypedValues(IList <HistoricVariableUpdate> variableUpdates)
        {
            foreach (HistoricVariableUpdate variableUpdate in variableUpdates)
            {
                if (isHistoricDetailVariableInstanceUpdateEntity(variableUpdate))
                {
                    HistoricDetailVariableInstanceUpdateEntity entity = (HistoricDetailVariableInstanceUpdateEntity)variableUpdate;

                    if (isNotByteArrayVariableType(entity))
                    {
                        try
                        {
                            entity.getTypedValue(false);
                        }
                        catch (Exception t)
                        {
                            // do not fail if one of the variables fails to load
                            LOG.exceptionWhileGettingValueForVariable(t);
                        }
                    }
                }
            }
        }
コード例 #4
0
 protected internal virtual bool shouldFetchValue(HistoricDetailVariableInstanceUpdateEntity entity)
 {
     // do not fetch values for byte arrays eagerly (unless requested by the user)
     return(isByteArrayFetchingEnabled || !AbstractTypedValueSerializer.BINARY_VALUE_TYPES.Contains(entity.Serializer.Type.Name));
 }
コード例 #5
0
 protected internal virtual bool isNotByteArrayVariableType(HistoricDetailVariableInstanceUpdateEntity entity)
 {
     // do not fetch values for byte arrays/ blob variables (e.g. files or bytes)
     return(!AbstractTypedValueSerializer.BINARY_VALUE_TYPES.Contains(entity.Serializer.Type.Name));
 }