gemmellr commented on code in PR #85: URL: https://github.com/apache/activemq-artemis-console/pull/85#discussion_r2086843551
########## artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/queues/QueuesView.tsx: ########## @@ -99,6 +101,62 @@ export const QueuesView: React.FunctionComponent<Navigate> = navigate => { <MessageView currentMessage={currentMessage} back={back}/> </> } + <Modal aria-label='copy-message-modal' + variant={ModalVariant.medium} + isOpen={showHelpModal} + actions={[ + <Button key="cancel" variant="secondary" onClick={() => setShowHelpModal(false)}> + Close + </Button> + ]}> + <TextContent> + <Text component={TextVariants.h1}>Using Filter Expressions</Text> + <Text component={TextVariants.h2}>Apache ActiveMQ Artemis provides a powerful filter language based on a subset of the SQL 92 expression syntax.</Text> + <Text>It is the same as the syntax used for JMS & Jakarta Messaging selectors. + For documentation on JMS selector syntax please the JavaDoc for javax.jms.Message or jakarta.jms.Message</Text> + <Text>A Filter will search for messages that have a matching header.</Text> + <Text component={TextVariants.h3}>Filter Examples</Text> + <TextList component={TextListVariants.dl}> + <TextListItem component={TextListItemVariants.dt}>header = 'value'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the string value <b>value</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header = 1</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the int, short, long or double value <b>1</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header {'>'} 1</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has an int, short, long or double value greater than <b>1</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header {'<>'} 'value'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> exists and does not equal <b>value</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header in ('value1', 'value2')</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> equals either <b>value1</b> or <b>value2</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header1 = 'value1' AND header2 = 'value2'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header1</b> has the value <b>value1</b> and the message header <b>header2</b> has the value <b>value2</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header LIKE 'value%'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the pattern matching value <b>value%</b> such as <b>value1</b>, <b>value2345</b> etc</TextListItem> + <TextListItem component={TextListItemVariants.dt}>header LIKE 'value_'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the pattern matching value <b>value_</b> such as <b>value1</b> but not <b>value2345</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header is null</TextListItem> Review Comment: ```suggestion <TextListItem component={TextListItemVariants.dt}>header IS NULL</TextListItem> ``` ########## artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/queues/QueuesView.tsx: ########## @@ -99,6 +101,62 @@ export const QueuesView: React.FunctionComponent<Navigate> = navigate => { <MessageView currentMessage={currentMessage} back={back}/> </> } + <Modal aria-label='copy-message-modal' + variant={ModalVariant.medium} + isOpen={showHelpModal} + actions={[ + <Button key="cancel" variant="secondary" onClick={() => setShowHelpModal(false)}> + Close + </Button> + ]}> + <TextContent> + <Text component={TextVariants.h1}>Using Filter Expressions</Text> + <Text component={TextVariants.h2}>Apache ActiveMQ Artemis provides a powerful filter language based on a subset of the SQL 92 expression syntax.</Text> + <Text>It is the same as the syntax used for JMS & Jakarta Messaging selectors. + For documentation on JMS selector syntax please the JavaDoc for javax.jms.Message or jakarta.jms.Message</Text> + <Text>A Filter will search for messages that have a matching header.</Text> + <Text component={TextVariants.h3}>Filter Examples</Text> + <TextList component={TextListVariants.dl}> + <TextListItem component={TextListItemVariants.dt}>header = 'value'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the string value <b>value</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header = 1</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the int, short, long or double value <b>1</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header {'>'} 1</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has an int, short, long or double value greater than <b>1</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header {'<>'} 'value'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> exists and does not equal <b>value</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header in ('value1', 'value2')</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> equals either <b>value1</b> or <b>value2</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header1 = 'value1' AND header2 = 'value2'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header1</b> has the value <b>value1</b> and the message header <b>header2</b> has the value <b>value2</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header LIKE 'value%'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the pattern matching value <b>value%</b> such as <b>value1</b>, <b>value2345</b> etc</TextListItem> + <TextListItem component={TextListItemVariants.dt}>header LIKE 'value_'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the pattern matching value <b>value_</b> such as <b>value1</b> but not <b>value2345</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header is null</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has a null value or does not exist</TextListItem> + </TextList> + <Text> The following pre defined identifiers can also be used to filter messages </Text> + <TextList component={TextListVariants.dl}> + <TextListItem component={TextListItemVariants.dt}>AMQUserID</TextListItem> + <TextListItem component={TextListItemVariants.dd}>The ID set by the user when the message is sent. This is analogous to the <b>JMSMessageID</b> for JMS-based clients.</TextListItem> + <TextListItem component={TextListItemVariants.dt}>AMQAddress</TextListItem> + <TextListItem component={TextListItemVariants.dd}>The group ID used when sending the message.</TextListItem> Review Comment: Description mismatch ########## artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/queues/QueuesView.tsx: ########## @@ -99,6 +101,62 @@ export const QueuesView: React.FunctionComponent<Navigate> = navigate => { <MessageView currentMessage={currentMessage} back={back}/> </> } + <Modal aria-label='copy-message-modal' + variant={ModalVariant.medium} + isOpen={showHelpModal} + actions={[ + <Button key="cancel" variant="secondary" onClick={() => setShowHelpModal(false)}> + Close + </Button> + ]}> + <TextContent> + <Text component={TextVariants.h1}>Using Filter Expressions</Text> + <Text component={TextVariants.h2}>Apache ActiveMQ Artemis provides a powerful filter language based on a subset of the SQL 92 expression syntax.</Text> + <Text>It is the same as the syntax used for JMS & Jakarta Messaging selectors. + For documentation on JMS selector syntax please the JavaDoc for javax.jms.Message or jakarta.jms.Message</Text> + <Text>A Filter will search for messages that have a matching header.</Text> + <Text component={TextVariants.h3}>Filter Examples</Text> + <TextList component={TextListVariants.dl}> + <TextListItem component={TextListItemVariants.dt}>header = 'value'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the string value <b>value</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header = 1</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the int, short, long or double value <b>1</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header {'>'} 1</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has an int, short, long or double value greater than <b>1</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header {'<>'} 'value'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> exists and does not equal <b>value</b></TextListItem> + <TextListItem component={TextListItemVariants.dt}>header in ('value1', 'value2')</TextListItem> Review Comment: ```suggestion <TextListItem component={TextListItemVariants.dt}>header IN ('value1', 'value2')</TextListItem> ``` ########## artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/queues/QueuesView.tsx: ########## @@ -99,6 +101,62 @@ export const QueuesView: React.FunctionComponent<Navigate> = navigate => { <MessageView currentMessage={currentMessage} back={back}/> </> } + <Modal aria-label='copy-message-modal' + variant={ModalVariant.medium} + isOpen={showHelpModal} + actions={[ + <Button key="cancel" variant="secondary" onClick={() => setShowHelpModal(false)}> + Close + </Button> + ]}> + <TextContent> + <Text component={TextVariants.h1}>Using Filter Expressions</Text> + <Text component={TextVariants.h2}>Apache ActiveMQ Artemis provides a powerful filter language based on a subset of the SQL 92 expression syntax.</Text> + <Text>It is the same as the syntax used for JMS & Jakarta Messaging selectors. + For documentation on JMS selector syntax please the JavaDoc for javax.jms.Message or jakarta.jms.Message</Text> Review Comment: ```suggestion For documentation on JMS selector syntax please consult the JavaDoc for javax.jms.Message or jakarta.jms.Message</Text> ``` Might also be worth linking to it, e.g. currently for the latter: https://jakarta.ee/specifications/messaging/3.1/apidocs/jakarta.messaging/jakarta/jms/message ########## artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/queues/QueuesView.tsx: ########## @@ -99,6 +101,62 @@ export const QueuesView: React.FunctionComponent<Navigate> = navigate => { <MessageView currentMessage={currentMessage} back={back}/> </> } + <Modal aria-label='copy-message-modal' + variant={ModalVariant.medium} + isOpen={showHelpModal} + actions={[ + <Button key="cancel" variant="secondary" onClick={() => setShowHelpModal(false)}> + Close + </Button> + ]}> + <TextContent> + <Text component={TextVariants.h1}>Using Filter Expressions</Text> + <Text component={TextVariants.h2}>Apache ActiveMQ Artemis provides a powerful filter language based on a subset of the SQL 92 expression syntax.</Text> + <Text>It is the same as the syntax used for JMS & Jakarta Messaging selectors. + For documentation on JMS selector syntax please the JavaDoc for javax.jms.Message or jakarta.jms.Message</Text> + <Text>A Filter will search for messages that have a matching header.</Text> + <Text component={TextVariants.h3}>Filter Examples</Text> + <TextList component={TextListVariants.dl}> + <TextListItem component={TextListItemVariants.dt}>header = 'value'</TextListItem> + <TextListItem component={TextListItemVariants.dd}> This will return any message where the message header <b>header</b> has the string value <b>value</b></TextListItem> Review Comment: Saying the syntax is the same as (possibly say 'similar to', as it is not actually exactly the same?) JMS/Jakarta Messaging selectors and then immediately saying filters matches 'headers' possibly has potential to confuse given matching will as/more often be done against JMS _properties_; only a handful of JMS headers are allowed to be used in selectors, most of which arent mentioned here. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org For additional commands, e-mail: gitbox-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact