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

SYSMOAS_-8: Record#alias and Record#name #124

Merged
merged 1 commit into from
Feb 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions app/org/omg/sysml/internal/CommitDataVersionIndex.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,15 @@
package org.omg.sysml.internal;

import org.omg.sysml.lifecycle.Commit;
import org.omg.sysml.lifecycle.DataVersion;
import org.omg.sysml.record.Record;
import org.omg.sysml.record.impl.RecordImpl;

import java.util.Set;
import java.util.UUID;

public interface CommitDataVersionIndex extends Record {
public interface CommitDataVersionIndex {

UUID getId();

void setId(UUID id);

Commit getCommit();

Expand Down
7 changes: 5 additions & 2 deletions app/org/omg/sysml/internal/CommitNamedElementIndex.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@

import org.omg.sysml.lifecycle.Commit;
import org.omg.sysml.metamodel.Element;
import org.omg.sysml.record.Record;

import java.util.Map;
import java.util.UUID;

public interface CommitNamedElementIndex extends Record {
public interface CommitNamedElementIndex {

UUID getId();

void setId(UUID id);

Commit getCommit();

Expand Down
6 changes: 5 additions & 1 deletion app/org/omg/sysml/lifecycle/CommitReference.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,17 @@

import org.omg.sysml.record.Record;

import javax.validation.constraints.NotNull;
import java.time.ZonedDateTime;

public interface CommitReference extends Record {

@Override
@NotNull
String getName();

void setName(String name);
@Override
void setName(@NotNull String name);

Project getOwningProject();

Expand Down
6 changes: 5 additions & 1 deletion app/org/omg/sysml/lifecycle/Project.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

import org.omg.sysml.record.Record;

import javax.validation.constraints.NotNull;
import java.time.ZonedDateTime;

public interface Project extends Record {
Expand All @@ -43,7 +44,10 @@ public interface Project extends Record {

void setDefaultBranch(Branch defaultBranch);

@Override
@NotNull
String getName();

void setName(String name);
@Override
void setName(@NotNull String name);
}
31 changes: 13 additions & 18 deletions app/org/omg/sysml/lifecycle/impl/BranchImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@

package org.omg.sysml.lifecycle.impl;

import com.fasterxml.jackson.annotation.JsonGetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import jackson.RecordSerialization;
Expand All @@ -34,15 +32,27 @@
import org.omg.sysml.record.impl.RecordImpl;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.time.ZonedDateTime;

@Entity(name = "Branch")
public class BranchImpl extends RecordImpl implements Branch {
private Project owningProject;
private Commit head;
private String name;
private ZonedDateTime created;

@Override
@JsonProperty(required = true)
public @NotNull String getName() {
return super.getName();
}

@Override
@JsonProperty(required = true)
public void setName(@NotNull String name) {
super.setName(name);
}

@Override
@ManyToOne(targetEntity = ProjectImpl.class, fetch = FetchType.LAZY)
@JsonSerialize(as = ProjectImpl.class, using = RecordSerialization.RecordSerializer.class)
Expand Down Expand Up @@ -74,21 +84,6 @@ public Commit getReferencedCommit() {
return Branch.super.getReferencedCommit();
}

@JsonProperty(required = true)
@JsonGetter
@Lob
@org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
@javax.persistence.Column(name = "name", table = "Branch")
public String getName() {
return name;
}

@JsonProperty(required = true)
@JsonSetter
public void setName(String name) {
this.name = name;
}

@Override
@Column
public ZonedDateTime getCreated() {
Expand Down
18 changes: 7 additions & 11 deletions app/org/omg/sysml/lifecycle/impl/ProjectImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import org.omg.sysml.record.impl.RecordImpl;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.time.ZonedDateTime;

@Entity(name = "Project")
Expand All @@ -50,21 +51,16 @@ public void setCreated(ZonedDateTime created) {
this.created = created;
}

private String name;

@Override
@JsonProperty(required = true)
@JsonGetter
@Lob
@org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
@javax.persistence.Column(name = "name", table = "Project")
public String getName() {
return name;
public @NotNull String getName() {
return super.getName();
}

@Override
@JsonProperty(required = true)
@JsonSetter
public void setName(String name) {
this.name = name;
public void setName(@NotNull String name) {
super.setName(name);
}

private Branch defaultBranch;
Expand Down
31 changes: 13 additions & 18 deletions app/org/omg/sysml/lifecycle/impl/TagImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@

package org.omg.sysml.lifecycle.impl;

import com.fasterxml.jackson.annotation.JsonGetter;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import jackson.RecordSerialization;
Expand All @@ -32,15 +30,27 @@
import org.omg.sysml.record.impl.RecordImpl;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.time.ZonedDateTime;

@Entity(name = "Tag")
public class TagImpl extends RecordImpl implements Tag {
private Project owningProject;
private Commit taggedCommit;
private String name;
private ZonedDateTime created;

@Override
@JsonProperty(required = true)
public @NotNull String getName() {
return super.getName();
}

@Override
@JsonProperty(required = true)
public void setName(@NotNull String name) {
super.setName(name);
}

@Override
@ManyToOne(targetEntity = ProjectImpl.class, fetch = FetchType.LAZY)
@JsonSerialize(as = ProjectImpl.class, using = RecordSerialization.RecordSerializer.class)
Expand Down Expand Up @@ -71,21 +81,6 @@ public Commit getReferencedCommit() {
return Tag.super.getReferencedCommit();
}

@JsonProperty(required = true)
@JsonGetter
@Lob
@org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
@Column(name = "name", table = "Tag")
public String getName() {
return name;
}

@JsonProperty(required = true)
@JsonSetter
public void setName(String name) {
this.name = name;
}

@Override
@Column
public ZonedDateTime getCreated() {
Expand Down
9 changes: 9 additions & 0 deletions app/org/omg/sysml/query/Query.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,18 @@
import org.omg.sysml.lifecycle.Project;
import org.omg.sysml.record.Record;

import javax.validation.constraints.NotNull;
import java.util.Set;

public interface Query extends Record {

@Override
@NotNull
String getName();

@Override
void setName(@NotNull String name);

Project getOwningProject();

void setOwningProject(Project owningProject);
Expand Down
20 changes: 15 additions & 5 deletions app/org/omg/sysml/query/impl/QueryImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,30 +29,40 @@
import jackson.RecordSerialization;
import org.hibernate.annotations.Any;
import org.hibernate.annotations.Cascade;
import org.omg.sysml.lifecycle.DataIdentity;
import org.omg.sysml.lifecycle.Project;
import org.omg.sysml.lifecycle.impl.DataIdentityImpl;
import org.omg.sysml.lifecycle.impl.ProjectImpl;
import org.omg.sysml.query.Constraint;
import org.omg.sysml.query.Query;
import org.omg.sysml.record.impl.RecordImpl;

import javax.persistence.*;
import java.util.ArrayList;
import javax.validation.constraints.NotNull;
import java.util.HashSet;
import java.util.Set;

@Entity(name = "Query")
public class QueryImpl extends RecordImpl implements Query {
private Project owningProject;
private Set<String> select;
/*
/*
private Set<DataIdentity> scope;
private Boolean recursiveInScope;
private List<String> orderBy;
*/
*/
private Constraint where;

@Override
@JsonProperty(required = true)
public @NotNull String getName() {
return super.getName();
}

@Override
@JsonProperty(required = true)
public void setName(@NotNull String name) {
super.setName(name);
}

@Override
@ManyToOne(targetEntity = ProjectImpl.class, fetch = FetchType.LAZY)
@JsonSerialize(as = ProjectImpl.class, using = RecordSerialization.RecordSerializer.class)
Expand Down
11 changes: 11 additions & 0 deletions app/org/omg/sysml/record/Record.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,21 @@

package org.omg.sysml.record;

import javax.annotation.Nullable;
import java.util.Set;
import java.util.UUID;

public interface Record {
UUID getId();

void setId(UUID id);

@Nullable
String getName();

void setName(@Nullable String name);

Set<String> getAlias();

void setAlias(Set<String> alias);
}
47 changes: 43 additions & 4 deletions app/org/omg/sysml/record/impl/RecordImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,19 @@
import com.fasterxml.jackson.annotation.JsonSetter;
import org.omg.sysml.record.Record;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.annotation.Nullable;
import javax.persistence.*;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.UUID;

import static jackson.RecordSerialization.IDENTITY_FIELD;

@MappedSuperclass
public abstract class RecordImpl implements Record {
private UUID id;
private String name;
private Set<String> alias = new LinkedHashSet<>();

@Override
@Id
Expand All @@ -51,4 +53,41 @@ public UUID getId() {
public void setId(UUID id) {
this.id = id;
}

@Override
@JsonGetter
@Lob
@org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
@Column(name = "name")
public @Nullable String getName() {
return name;
}

@Override
@JsonSetter
public void setName(@Nullable String name) {
this.name = name;
if (name != null) {
this.alias.add(name);
}
}

@Override
@JsonGetter
@Lob
@org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
@ElementCollection(targetClass = String.class)
@CollectionTable
public Set<String> getAlias() {
return alias;
}

@Override
@JsonSetter
public void setAlias(Set<String> alias) {
this.alias = alias;
if (name != null) {
this.alias.add(name);
}
}
}
Loading