Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [milo-dev] NumericRange

Question 1: Shouldn’t be the String a NumericRange by this day?

No, all the structures are generated from XML models that are also part of the spec. The structure itself is supposed to contain a String. NumericRange is a class I created to represent the parsed value, it's not part of the spec.

You can see in Part 4, 7.22, that NumericRange is basically an alias for a String. It's a String with certain expectations for its format.

Question 2: But we never use the indexRange?

You can use parse and use it later when answering the service call. I have to check for validity at the point you're seeing, though, to satisfy the service requirements.

Question 3: Why is NumericRange stored in org.eclipse.milo.opcua.sdk.core rather than putting it in org.eclipse.milo.opcua.stack.core.types.builtin ?

As I mentioned in 1, it's not actually built-in type.

Question 4: Why do we check the syntax of the indexRange so late? Why don’t we check it on creation? 

> I tried to “fix” HistoryReadValueId by typing NumericRange instead of String, but HistoryReadValueId can’t find the import.


Everything is as it should be, please don't change anything :)




On Tue, May 21, 2019 at 3:36 AM Gattinger. Michael <m.gattinger@xxxxxxxxxxxx> wrote:

Hello,

 

as of Spec 1.04 Part 4 Page 72 it says:

 

HistoryReadValueId: „… … . This structure is defined in-line with the following indented items.”

So a HistoryReadValueId should contain the Types NodeId, NumericRange, QualifiedName, ContinuationPoint.

 

As of Spec 1.03 Part 4 Page 68 it is defined as containing the Types NodeId, NumericRange, QualifiedName, ByteString.

ð  ContinuationPoint will not be added before Milo 2.0.

 

As of HistoryReadValueId.java it contains the Types NodeId, String, QualifiedName, ByteString

ð  Question 1: Shouldn’t be the String a NumericRange by this day?

 

Instead the String indexRange is passed, until somebody calls the static NumericRange.parse(indexRange)-method.

 

For instance in SubscriptionManager.java Line 479 – 481 it says:

 

479 - // Validate the requested index range by parsing it.

480 - String indexRange = request.getItemToMonitor().getIndexRange();

481 - if (indexRange != null) NumericRange.parse(indexRange);

 

But the result of the parse-method is never saved and the indexRange is never used again. So we actually check, if the indexRange has the right syntax and we would get a UaException(StatusCodes.Bad_IndexRangeInvalid) if not okay.

Question 2: But we never use the indexRange?

 

Question 3: Why is NumericRange stored in org.eclipse.milo.opcua.sdk.core rather than putting it in org.eclipse.milo.opcua.stack.core.types.builtin ?

 

Question 4: Why do we check the syntax of the indexRange so late? Why don’t we check it on creation?

 

I tried to “fix” HistoryReadValueId by typing NumericRange instead of String, but HistoryReadValueId can’t find the import.

 

Thanks - Michael

 

 

 






     


SEEBURGER AG   Vorstand/SEEBURGER Executive Board:
Sitz der Gesellschaft/Registered Office:   Axel Haas, Michael Kleeberg, Axel Otto, Dr. Martin Kuntz, Matthias Feßenbecker
Edisonstr. 1  
D-75015 Bretten Vorsitzende des Aufsichtsrats/Chairperson of the SEEBURGER Supervisory Board:
Tel.: 07252 / 96 - 0 Prof. Dr. Simone Zeuchner
Fax: 07252 / 96 - 2222
Internet: http://www.seeburger.de Registergericht/Commercial Register:
e-mail: info@xxxxxxxxxxxx HRB 240708 Mannheim


Dieses E-Mail ist nur für den Empfänger bestimmt, an den es gerichtet ist und kann vertrauliches bzw. unter das Berufsgeheimnis fallendes Material enthalten. Jegliche darin enthaltene Ansicht oder Meinungsäußerung ist die des Autors und stellt nicht notwendigerweise die Ansicht oder Meinung der SEEBURGER AG dar. Sind Sie nicht der Empfänger, so haben Sie diese E-Mail irrtümlich erhalten und jegliche Verwendung, Veröffentlichung, Weiterleitung, Abschrift oder jeglicher Druck dieser E-Mail ist strengstens untersagt. Weder die SEEBURGER AG noch der Absender (Gattinger. Michael) übernehmen die Haftung für Viren; es obliegt Ihrer Verantwortung, die E-Mail und deren Anhänge auf Viren zu prüfen.

This email is intended only for the recipient(s) to whom it is addressed. This email may contain confidential material that may be protected by professional secrecy. Any fact or opinion contained, or _expression_ of the material herein, does not necessarily reflect that of SEEBURGER AG. If you are not the addressee or if you have received this email in error, any use, publication or distribution including forwarding, copying or printing is strictly prohibited. Neither SEEBURGER AG, nor the sender (Gattinger. Michael) accept liability for viruses; it is your responsibility to check this email and its attachments for viruses.

_______________________________________________
milo-dev mailing list
milo-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/milo-dev

Back to the top