Skip to content

Commit

Permalink
annotations for Token
Browse files Browse the repository at this point in the history
  • Loading branch information
mbussolotto committed Feb 18, 2025
1 parent 07c1768 commit 550e86e
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 82 deletions.
4 changes: 3 additions & 1 deletion java/code/src/com/redhat/rhn/domain/Identifiable.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@
package com.redhat.rhn.domain;


import java.io.Serializable;

/**
* Simple interface that a domain object can implement if it wants to provide a
* common way to give back an id field.
*
*/
public interface Identifiable {
public interface Identifiable extends Serializable {

/**
* Get the database id of this Object.
Expand Down
105 changes: 94 additions & 11 deletions java/code/src/com/redhat/rhn/domain/token/Token.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,38 +27,121 @@
import com.redhat.rhn.domain.server.ServerGroup;
import com.redhat.rhn.domain.server.ServerGroupType;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.domain.user.legacy.UserImpl;

import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.hibernate.annotations.Type;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
* Token
*/
@Entity
@Table(name = "rhnRegToken")
public class Token implements Identifiable {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "token_seq")
@SequenceGenerator(name = "token_seq", sequenceName = "RHN_REG_TOKEN_SEQ", allocationSize = 1)
@Column(name = "id")
private Long id;

@Column(name = "note", length = 2048)
private String note;

@Column(name = "disabled")
private Long disabled;

@Column(name = "deploy_configs")
@Type(type = "yes_no")
private boolean deployConfigs;

@Column(name = "usage_limit")
private Long usageLimit;

@ManyToOne
@JoinColumn(name = "org_id")
private Org org;
private User creator;

@ManyToOne
@JoinColumn(name = "user_id")
private UserImpl creator;

@ManyToOne
@JoinColumn(name = "server_id")
private Server server;

@ManyToOne
@JoinColumn(name = "contact_method_id")
private ContactMethod contactMethod;
private Set<Server> activatedSystems = new HashSet<>();
private List<ConfigChannel> configChannels = new LinkedList<>();

@ManyToMany
@JoinTable(
name = "rhnRegTokenEntitlement",
joinColumns = @JoinColumn(name = "reg_token_id"),
inverseJoinColumns = @JoinColumn(name = "server_group_type_id")
)
private Set<ServerGroupType> entitlements = new HashSet<>();
private Set<Channel> channels = new HashSet<>();
private Set<ServerGroup> serverGroups = new HashSet<>();
private Set<TokenPackage> packages = new HashSet<>();
private Set<TokenChannelAppStream> appStreams = new HashSet<>();

@ManyToMany
@JoinTable(
name = "rhnRegTokenChannels",
joinColumns = @JoinColumn(name = "token_id"),
inverseJoinColumns = @JoinColumn(name = "channel_id")
)
private Set<Channel> channels = new HashSet<>();

@OneToMany(mappedBy = "token", cascade = CascadeType.ALL, orphanRemoval = true)
private Set<TokenChannelAppStream> appStreams = new HashSet<>();

@ManyToMany
@JoinTable(
name = "rhnRegTokenGroups",
joinColumns = @JoinColumn(name = "token_id"),
inverseJoinColumns = @JoinColumn(name = "server_group_id")
)
private Set<ServerGroup> serverGroups = new HashSet<>();

@OneToMany(mappedBy = "token", cascade = CascadeType.ALL, orphanRemoval = true)
private Set<TokenPackage> packages = new HashSet<>();

@ManyToMany
@JoinTable(
name = "rhnServerTokenRegs",
joinColumns = @JoinColumn(name = "token_id"),
inverseJoinColumns = @JoinColumn(name = "server_id")
)
private Set<Server> activatedServers = new HashSet<>();

@ManyToMany
@JoinTable(
name = "rhnRegTokenConfigChannels",
joinColumns = @JoinColumn(name = "token_id"),
inverseJoinColumns = @JoinColumn(name = "config_channel_id")
)
@OrderColumn(name = "position") // Handles list indexing.
private List<ConfigChannel> configChannels = new ArrayList<>();
/**
* @return Returns the entitlements.
*/
Expand Down Expand Up @@ -234,7 +317,7 @@ public User getCreator() {
* @param u The user to set.
*/
public void setCreator(User u) {
this.creator = u;
this.creator = (UserImpl) u;
}

/**
Expand Down Expand Up @@ -465,14 +548,14 @@ public void clearPackages() {
* @return Returns the activated systems
*/
public Set<Server> getActivatedServers() {
return activatedSystems;
return activatedServers;
}

/**
* @param servers the activated servers to set.
*/
protected void setActivatedServers(Set<Server> servers) {
this.activatedSystems = servers;
this.activatedServers = servers;
}

/**
Expand Down
70 changes: 0 additions & 70 deletions java/code/src/com/redhat/rhn/domain/token/Token_legacyUser.hbm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,76 +3,6 @@
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.redhat.rhn.domain.token.Token" table="rhnRegToken">
<id name="id" type="long" column="id">
<meta attribute="scope-set">protected</meta>
<generator class="org.hibernate.id.enhanced.SequenceStyleGenerator">
<param name="sequence_name">RHN_REG_TOKEN_SEQ</param>
<param name="increment_size">1</param>
</generator>
</id>
<property name="note" column="note" type="string" length="2048"/>
<property name="disabled" column="disabled" type="long"/>
<property name="deployConfigs" column="deploy_configs" type="yes_no"/>
<property name="usageLimit" column="usage_limit" type="long"/>

<many-to-one name="org" class="com.redhat.rhn.domain.org.Org"
column="org_id"/>

<many-to-one name="creator"
class="com.redhat.rhn.domain.user.legacy.UserImpl"
column="user_id"/>

<many-to-one name="server" class="com.redhat.rhn.domain.server.Server"
column="server_id"/>

<many-to-one name="contactMethod"
class="com.redhat.rhn.domain.server.ContactMethod"
column="contact_method_id"/>

<set name="entitlements" table="rhnRegTokenEntitlement">
<key column="reg_token_id"/>
<many-to-many class="com.redhat.rhn.domain.server.ServerGroupType"
column="server_group_type_id"/>
</set>

<set name="channels" table="rhnRegTokenChannels">
<key column="token_id"/>
<many-to-many class="com.redhat.rhn.domain.channel.Channel"
column="channel_id"/>
</set>
<set name="appStreams" table="suseRegTokenChannelAppStream" inverse="true" cascade="all-delete-orphan">
<key column="token_id"/>
<one-to-many class="com.redhat.rhn.domain.token.TokenChannelAppStream"/>
</set>

<set name="serverGroups" table="rhnRegTokenGroups">
<key column="token_id"/>
<many-to-many class="com.redhat.rhn.domain.server.ServerGroup"
column="server_group_id"/>
</set>

<set name="packages" inverse="true" cascade="all-delete-orphan">
<key column="token_id"/>
<one-to-many class="com.redhat.rhn.domain.token.TokenPackage"/>
</set>

<set name="activatedServers" table="rhnServerTokenRegs">
<key column="token_id"/>
<many-to-many class="com.redhat.rhn.domain.server.Server"
column="server_id"/>
</set>

<list name="configChannels" lazy="true" table="rhnRegTokenConfigChannels"
collection-type="com.redhat.rhn.common.hibernate.ForceRecreationListType">
<key column="token_id"/>
<list-index column="position" base="1"/>
<many-to-many class="com.redhat.rhn.domain.config.ConfigChannel"
column="config_channel_id"/>
</list>

</class>

<query name="Token.findById">
<![CDATA[from com.redhat.rhn.domain.token.Token as t where t.id = :id]]>
</query>
Expand Down

0 comments on commit 550e86e

Please sign in to comment.