Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

promcode domain #410

Merged
merged 5 commits into from
Apr 13, 2024
Merged

promcode domain #410

merged 5 commits into from
Apr 13, 2024

Conversation

Jad-el-khoury
Copy link
Contributor

Description

Introducing the PROMCODE domain

Checklist

  • This PR adds an entry to the CHANGELOG. See https://keepachangelog.com/en/1.0.0/ for instructions. Minor edits are exempt.
  • This PR was tested on at least one Lyo OSLC server (e.g. manual workflow on Lyo Sample and OSLC RefImpl) or adds unit/integration tests.
  • This PR does NOT break the API

@Jad-el-khoury Jad-el-khoury marked this pull request as draft September 16, 2023 14:07
@Jad-el-khoury
Copy link
Contributor Author

PROMCODE

@Jad-el-khoury
Copy link
Contributor Author

The domain code builds. I want to first make sure a server can run before we commit.

@berezovskyi
Copy link
Contributor

berezovskyi commented Sep 18, 2023

I didn't have time to compare the diagram in detail to the spec HTML but I saw your note about decimal being replaced by an integer. Decimal is a high precision float, higher than double. Thus, double is a natural choice for a substitute. At the same time, properties mentioned by you like prom:sequenceNumber should not be denoted by a float, unless I misunderstand something.

@Jad-el-khoury
Copy link
Contributor Author

properties mentioned by you like prom:sequenceNumber should not be denoted by a float, unless I misunderstand something.

Not sure what you mean @berezovskyi . The spec states that they are decimal, They should not be float, nor integer. Currently LyoDesigner does not support decimal, but I wanted to put something, just to get started.

@berezovskyi
Copy link
Contributor

Not sure what you mean @berezovskyi .

There is no such thing as a sequence of decimal numbers. Cf. https://stackoverflow.com/questions/26909331/what-are-the-limits-of-the-decimal-type-in-xml-schema-xsd

@ShigeakiMatsumoto
Copy link

Hi, I am an editor of PROMCODE specification.
At first, thank you for your impressive work of domain modeling.

The following points are different from our intent. Could you consider our idea as follows?

  1. Lyo Designer doesn't provide 'Decimal' type, so we would like to assign other types as follows:

    • 'sequenceNumber' attribute in each resources are regarded as 'Integer' type in Lyo Designer
    • Other attributes with 'Decimal' type are regarded as 'float' type in Lyo Designer
      a) 'valueOfMeasure' attribute in Measure resource
      b) 'actualSize' attribute in ScopeItem resource
      c) 'plannedSize' attribute in ScopeItem resource

    For example,
    The 'sequenceNumber' is used to arrange resources in this order.
    Other attributes is used to show volume size of deliverables such as '1.2KL steps of code'.

  2. Attributes which is 'datetime' type would be better to regard as 'dateTime' type in Lyo Designer
    a) 'date' attribute in Measurement resource
    b) 'date' attribute in Report resource
    c) 'date' attribute in Plan resource
    d) 'date' attribute in RiskCollection resource
    e) 'date' attribute in ManagedItemCollection abstract resource
    f) 'date' attribute in in IssueCollection resource

  3. 'observe' attrbute should connect between 'Measure' and 'Measurement' resources

@hoy3
Copy link

hoy3 commented Oct 27, 2023

Thank you for the work, it looks great and I have few comments as below.

  • Arfitact, ScopeItem and WorkItem are sub-class of ManagedItem.
  • Plan, Report, IssueCollection and RiskCollection are sub-class of ManagedItemCollection

@berezovskyi
Copy link
Contributor

@ShigeakiMatsumoto what is the reason for using the Decimal type as a sequence number? You can't really use equality to check if two decimals are equal. Shouldn't it be a long? Or BigInteger (XSD integer)?

@mwakao
Copy link
Contributor

mwakao commented Nov 20, 2023

I think sequenceNumber is decimal because we just want to know the order of resources. For the purpose, integer is enough in most case. So, @ShigeakiMatsumoto mentioned, sequence number can be an integer in Lyo Designer.
The edge case might be

  • User created resources with sequence number 1 and 2
  • After that, the user wants to add another resource between them
  • Then user may want to have the sequence number 1.5.

@Jad-el-khoury
Copy link
Contributor Author

Hi all,

I hope I can do the suggested changes in coming couple of weeks. I will post something here to see if there are any other outstanding issues.

@berezovskyi berezovskyi marked this pull request as ready for review December 6, 2023 07:21
@berezovskyi
Copy link
Contributor

Sorry, didn't mean to do that, hit the wrong button on the phone.

Thanks Jad!

@Jad-el-khoury
Copy link
Contributor Author

I have now made the changes suggested by @ShigeakiMatsumoto & @hoy3!
Can you please check! Are we good?

@hoy3
Copy link

hoy3 commented Dec 18, 2023

Thank you for the update, Jad! Class hierarchy looks fine.

@mwakao
Copy link
Contributor

mwakao commented Feb 16, 2024

@Jad-el-khoury we have reviewed the model. It looks good to us. Thank you.

@berezovskyi berezovskyi merged commit 4c85b8e into master Apr 13, 2024
5 checks passed
@berezovskyi
Copy link
Contributor

@hoy3 @mwakao the domain model classes should appear in Lyo 6.0.0 release. They should be available now if you use a snapshot version:

<dependency>
  <groupId>org.eclipse.lyo</groupId>
  <artifactId>oslc-domains</artifactId>
  <version>6.0.0-SNAPSHOT</version>
</dependency>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants