Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mdmbl-dev] MDM 5 API Updated

Hi all,

 

thanks for your feedback, see our comments below:

 

== Connect to an ODS Server
- Does this allow to connect simultaneously to multiple data sources ?

> No, isn’t this target of the MDM connector service?!

== Data Provider
=== Retrieve Context data
- Extracting characteristics to interfaces (e.g. Sortable, Describable, Deletable) makes sense and looks good.

> 


=== Create
- How to avoid invalid references ? E.g. a Project with a Quantity as linked entity

> Currently the BaseDataProvider will throw an exception. This API is still under development and will be definately improved to avoid such a behavior.


- Several DataItems are missing e.g. Project or StructureLevel (will come later, so it's ok)

> Project and Pool (formerly StructureLevel) will be introduced in another project (org.eclipse.mdm.api.default).


=== Write
- ChannelValue hides flags in an array; there is no information about what each boolean value in the flag array stands for
- Lots of arguments for ChannelValuesWriteRequest#create()
-- Maybe transform ChannelValuesWriteRequest into a builder with default values already set
- Why parameters (last argument) as double array ?


>>> This API is still under development and will be improved.

=== Read
- Similar as in Write i.e. lots of arguments for ChannelValuesReadRequest#create()
-- Maybe use builder pattern here as well
- It should be explicitely expressed that data from all related channels are requested, not only by providing a special kind of list. My thought behind this is, that the source code is way more often read than written.

> Will be done this way.
- MatrixMode argument (which is provided in the source code) is not explained here

>It is possible to access the measured da points by generating a value matrix on top of the measurement or each of its channel groups (which is called SubMatrix in ODS) [see the ASAM ODS specification chapter 2 Architecture].

  In most cases the meaurement data is acessed via the channel group.

 

>>> This API is still under development and will be improved.

== Custom queries
- Why do the results contain measurements and not test steps or tests ?

> The query returnes a list of results, where each result contains the records for Test, TestStep and Measurement:

 

Result(records = [

Record(entity = MeaResult, values = [Id = 498425, Name = MINILINK.SIZE]),

Record(entity = Test, values = [Id = 4418, Name = SC1]),

Record(entity = TestStep, values = [Sortindex = 20, Description = , MDMLinks = , Optional = true,     DateCreated = 2014-11-10T15:26:56, Id = 30088, MimeType = application/x-asam.aosubtest.teststep, Name = Altium])

])

 

- How can I define which type of items shall be retrieved ?
> The Query API is the low level acces to the stored data on top of the ASAM OO API. To retrieve data items either the SearchService or the BaseDataProvider have to be used.


== Search Service
=== Use the service
- Uncomfortable to use; developer has to remember in which order he placed the entities in the relatedEntities list to retrieve them afterwards.

> This is just an example. The SearchService returns all data items mapped to the related records. So there is no need to remember the ordering. Instead one can simply iterate over the related records where each record knows the related entity.

 

 

Mit freundlichen Grüßen
 
Dipl.-Informatiker
Viktor Stöhr

Technischer Sachbearbeiter
Diagnose und Datenmanagementsysteme
DD-1
 

 

GIGATRONIK Ingolstadt GmbH | Ein Unternehmen der GIGATRONIK-Gruppe

Dr.-Ludwig-Kraus-Str. 6
D-85080 Gaimersheim 

Mobil:    +49 162 2844927
E-Mail: viktor.stoehr@xxxxxxxxxxxxxx

www.gigatronik.com
 
----------------------------------------------------------------------------------------------------------

GIGATRONIK Ingolstadt GmbH | Geschäftsführer: Dr.-Ing. Edwin Tscheschlok, Ralf Gaiser

Sitz und Registergericht: Gaimersheim, Ingolstadt HRB 3322

----------------------------------------------------------------------------------------------------------

 

Diese E-Mail kann vertrauliche Informationen enthalten. Wenn Sie nicht der rechtmäßige Empfänger sind, informieren Sie den Absender bitte unverzüglich durch Rücksendung der E-Mail und löschen Sie sie auf Ihrem System. Die unberechtigte Nutzung oder Weitergabe von vertraulichen Informationen kann straf- und zivilrechtlich verfolgt werden. Vielen Dank!

 

This e-mail may contain confidential information and may also be privileged. lf you are not the intended recipient please notify the sender immediately by sending back the e-mail and delete it on your system. Any unauthorized use or transfer of confidential information may have legal consequences. Thanks!

 

Sparen Sie pro Seite ca. 400 ml Wasser, 2 g CO2 und 21 g Holz:
Drucken Sie daher bitte nur, wenn es wirklich notwendig ist.

 

Von: mdmweb-dev-bounces@xxxxxxxxxxx [mailto:mdmweb-dev-bounces@xxxxxxxxxxx] Im Auftrag von Franz-Josef Basler
Gesendet: Donnerstag, 14. Januar 2016 16:41
An: mdmweb developer discussions
Betreff: Re: [mdmweb-dev] MDM 5 API Updated

 

Hi all,

 

I had a look at the documentation (examples.html) and the source code of both projects.

Thank you for your work.

These are my thoughts and the questions that came up during the analysis:

 

There is a lots of functionality implemented in the org.eclipse.mdm.api.odsadapter project. Where can I find the corresponding tests?

 

The following notes refer directly to the provided examples.html.

 

== Connect to an ODS Server
- Does this allow to connect simultaneously to multiple data sources ?

== Data Provider
=== Retrieve Context data
- Extracting characteristics to interfaces (e.g. Sortable, Describable, Deletable) makes sense and looks good.

=== Create
- How to avoid invalid references ? E.g. a Project with a Quantity as linked entity
- Several DataItems are missing e.g. Project or StructureLevel (will come later, so it's ok)

=== Write
- ChannelValue hides flags in an array; there is no information about what each boolean value in the flag array stands for
- Lots of arguments for ChannelValuesWriteRequest#create()
-- Maybe transform ChannelValuesWriteRequest into a builder with default values already set
- Why parameters (last argument) as double array ?

=== Read
- Similar as in Write i.e. lots of arguments for ChannelValuesReadRequest#create()
-- Maybe use builder pattern here as well
- It should be explicitely expressed that data from all related channels are requested, not only by providing a special kind of list. My thought behind this is, that the source code is way more often read than written.
- MatrixMode argument (which is provided in the source code) is not explained here

== Custom queries
- Why do the results contain measurements and not test steps or tests ? How can I define which type of items shall be retrieved ?

== Search Service
=== Use the service
- Uncomfortable to use; developer has to remember in which order he placed the entities in the relatedEntities list to retrieve them afterwards.

 

Kind regards,

Franz-Josef Basler

 

 


Von: "Stöhr, Viktor" <Viktor.Stoehr@xxxxxxxxxxxxxx>
An: mdmweb-dev@xxxxxxxxxxx
Gesendet: Mittwoch, 23. Dezember 2015 09:12:07
Betreff: [mdmweb-dev] MDM 5 API Updated

 

Hi,

 

a new version of the mdm api code is available at git.eclipse.org:

-          http://git.eclipse.org/c/mdmbl/org.eclipse.mdm.api.base.git/

-          http://git.eclipse.org/c/mdmbl/org.eclipse.mdm.api.odsadapter.git/

 

Changes:

-          org.eclipse.mdm.api.base is now docomented

-          migration to java 8

-          search service – find data items (Test, TestStep, Measurement, Channel) and related records

-          basic create / update and delete of data items

-          basic read / write of mass data (channel values)

 

Examples are given in the attached Main.java and described in examples.html.

 

 

Mit freundlichen Grüßen
 
Dipl.-Informatiker
Viktor Stöhr

Technischer Sachbearbeiter
Diagnose und Datenmanagementsysteme
DD-1
 

 

GIGATRONIK Ingolstadt GmbH | Ein Unternehmen der GIGATRONIK-Gruppe

Dr.-Ludwig-Kraus-Str. 6
D-85080 Gaimersheim 

Mobil:    +49 162 2844927
E-Mail: viktor.stoehr@xxxxxxxxxxxxxx

www.gigatronik.com
 
----------------------------------------------------------------------------------------------------------

GIGATRONIK Ingolstadt GmbH | Geschäftsführer: Dr.-Ing. Edwin Tscheschlok, Ralf Gaiser

Sitz und Registergericht: Gaimersheim, Ingolstadt HRB 3322

----------------------------------------------------------------------------------------------------------

 

Diese E-Mail kann vertrauliche Informationen enthalten. Wenn Sie nicht der rechtmäßige Empfänger sind, informieren Sie den Absender bitte unverzüglich durch Rücksendung der E-Mail und löschen Sie sie auf Ihrem System. Die unberechtigte Nutzung oder Weitergabe von vertraulichen Informationen kann straf- und zivilrechtlich verfolgt werden. Vielen Dank!

 

This e-mail may contain confidential information and may also be privileged. lf you are not the intended recipient please notify the sender immediately by sending back the e-mail and delete it on your system. Any unauthorized use or transfer of confidential information may have legal consequences. Thanks!

 

Sparen Sie pro Seite ca. 400 ml Wasser, 2 g CO2 und 21 g Holz:
Drucken Sie daher bitte nur, wenn es wirklich notwendig ist.

 


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


Back to the top