mirror of
https://github.com/theonedev/onedev.git
synced 2025-12-08 18:26:30 +00:00
Fix database schema errors.
This commit is contained in:
parent
63fc7c35d2
commit
389e502a53
@ -1,8 +1,11 @@
|
||||
package com.pmease.gitop.core;
|
||||
|
||||
import org.hibernate.cfg.NamingStrategy;
|
||||
|
||||
import com.pmease.commons.loader.AbstractPlugin;
|
||||
import com.pmease.commons.loader.AbstractPluginModule;
|
||||
import com.pmease.commons.loader.AppName;
|
||||
import com.pmease.commons.persistence.PrefixedNamingStrategy;
|
||||
import com.pmease.commons.security.AbstractRealm;
|
||||
import com.pmease.commons.web.AbstractWicketConfig;
|
||||
|
||||
@ -22,6 +25,7 @@ public class CoreModule extends AbstractPluginModule {
|
||||
bind(AbstractRealm.class).to(UserRealm.class);
|
||||
|
||||
bindConstant().annotatedWith(AppName.class).to(PRODUCT_NAME);
|
||||
bind(NamingStrategy.class).toInstance(new PrefixedNamingStrategy("G"));
|
||||
|
||||
bind(Gitop.class);
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ import com.pmease.commons.loader.AbstractPlugin;
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
import com.pmease.commons.persistence.extensionpoints.ModelContribution;
|
||||
import com.pmease.commons.util.ClassUtils;
|
||||
import com.pmease.gitop.core.model.User;
|
||||
import com.pmease.gitop.core.model.ModelLocator;
|
||||
import com.pmease.gitop.core.web.asset.AssetLocator;
|
||||
|
||||
public class CorePlugin extends AbstractPlugin {
|
||||
@ -43,7 +43,7 @@ public class CorePlugin extends AbstractPlugin {
|
||||
public Collection<Class<? extends AbstractEntity>> getModelClasses() {
|
||||
Collection<Class<? extends AbstractEntity>> modelClasses =
|
||||
new HashSet<Class<? extends AbstractEntity>>();
|
||||
modelClasses.addAll(ClassUtils.findSubClasses(AbstractEntity.class, User.class));
|
||||
modelClasses.addAll(ClassUtils.findSubClasses(AbstractEntity.class, ModelLocator.class));
|
||||
return modelClasses;
|
||||
}
|
||||
});
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.List;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public abstract class AbstractGateKeeper implements GateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.gatekeeper;
|
||||
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class AlwaysAccept extends AbstractGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -7,6 +7,7 @@ import com.pmease.commons.util.trimmable.AndOrConstruct;
|
||||
import com.pmease.commons.util.trimmable.TrimUtils;
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class AndGateKeeper extends AbstractGateKeeper {
|
||||
|
||||
private List<GateKeeper> gateKeepers = new ArrayList<GateKeeper>();
|
||||
|
||||
@ -6,6 +6,7 @@ import com.pmease.gitop.core.model.MergeRequest;
|
||||
import com.pmease.gitop.core.model.User;
|
||||
import com.pmease.gitop.core.permission.operation.Write;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class ApprovedByAuthorizedUsers extends AbstractGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.gatekeeper;
|
||||
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class ApprovedByMajoritiesOfSpecifiedTeam extends TeamAwareGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -5,6 +5,7 @@ import com.pmease.gitop.core.model.MergeRequest;
|
||||
import com.pmease.gitop.core.model.User;
|
||||
import com.pmease.gitop.core.model.Vote;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class ApprovedByRepositoryOwner extends AbstractGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -10,6 +10,7 @@ import com.pmease.gitop.core.model.TeamMembership;
|
||||
import com.pmease.gitop.core.model.User;
|
||||
import com.pmease.gitop.core.model.Vote;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class ApprovedBySpecifiedTeam extends TeamAwareGateKeeper {
|
||||
|
||||
private int leastApprovals = 1;
|
||||
|
||||
@ -7,6 +7,7 @@ import com.pmease.gitop.core.model.MergeRequest;
|
||||
import com.pmease.gitop.core.model.User;
|
||||
import com.pmease.gitop.core.model.Vote;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class ApprovedBySpecifiedUser extends AbstractGateKeeper {
|
||||
|
||||
private Long userId;
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
package com.pmease.gitop.core.gatekeeper;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.pmease.commons.util.trimmable.Trimmable;
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
public interface GateKeeper extends Trimmable {
|
||||
public interface GateKeeper extends Trimmable, Serializable {
|
||||
|
||||
CheckResult check(MergeRequest request);
|
||||
}
|
||||
|
||||
@ -10,6 +10,7 @@ import com.pmease.gitop.core.model.TeamMembership;
|
||||
import com.pmease.gitop.core.model.User;
|
||||
import com.pmease.gitop.core.model.Vote;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class GetMinScoreFromSpecifiedTeam extends TeamAwareGateKeeper {
|
||||
|
||||
private int minScore = 1;
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.gatekeeper;
|
||||
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class HasSourceBranch extends AbstractGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -4,6 +4,7 @@ import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class IfThenGateKeeper extends AbstractGateKeeper {
|
||||
|
||||
private GateKeeper ifGate;
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.gatekeeper;
|
||||
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class IsFastForward extends AbstractGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.gatekeeper;
|
||||
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class NeverAccept extends AbstractGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -4,6 +4,7 @@ import com.pmease.gitop.core.model.MergeRequest;
|
||||
import com.pmease.gitop.core.model.TeamMembership;
|
||||
import com.pmease.gitop.core.model.Vote;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class NoRejectionBySpecifiedTeam extends TeamAwareGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.gatekeeper;
|
||||
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class NotGateKeeper extends AbstractGateKeeper {
|
||||
|
||||
private GateKeeper gateKeeper;
|
||||
|
||||
@ -8,6 +8,7 @@ import com.pmease.commons.util.trimmable.TrimUtils;
|
||||
import com.pmease.commons.util.trimmable.Trimmable;
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class OrGateKeeper extends AbstractGateKeeper {
|
||||
|
||||
private List<GateKeeper> gateKeepers = new ArrayList<GateKeeper>();
|
||||
|
||||
@ -11,6 +11,7 @@ import com.pmease.gitop.core.manager.BranchManager;
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
import com.pmease.gitop.core.model.Repository;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class SubmittedToSpecifiedBranch extends AbstractGateKeeper {
|
||||
|
||||
private String branchPatterns;
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.gatekeeper;
|
||||
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class SubmittedViaPush extends AbstractGateKeeper {
|
||||
|
||||
@Override
|
||||
|
||||
@ -4,6 +4,7 @@ import com.pmease.gitop.core.Gitop;
|
||||
import com.pmease.gitop.core.manager.TeamManager;
|
||||
import com.pmease.gitop.core.model.Team;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public abstract class TeamAwareGateKeeper extends AbstractGateKeeper {
|
||||
|
||||
private Long teamId;
|
||||
|
||||
@ -13,6 +13,7 @@ import com.pmease.gitop.core.manager.RepositoryManager;
|
||||
import com.pmease.gitop.core.model.MergeRequest;
|
||||
import com.pmease.gitop.core.model.MergeRequestUpdate;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class TouchSpecifiedFiles extends AbstractGateKeeper {
|
||||
|
||||
private String filePaths;
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.manager.impl;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
@ -18,6 +19,7 @@ import com.pmease.gitop.core.model.Role;
|
||||
@Singleton
|
||||
public class DefaultRoleManager extends DefaultGenericDao<Role> implements RoleManager {
|
||||
|
||||
@Inject
|
||||
public DefaultRoleManager(GeneralDao generalDao, Provider<Session> sessionProvider) {
|
||||
super(generalDao, sessionProvider);
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.pmease.gitop.core.manager.impl;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
@ -21,6 +22,7 @@ import com.pmease.gitop.core.model.User;
|
||||
@Singleton
|
||||
public class DefaultTeamManager extends DefaultGenericDao<Team> implements TeamManager {
|
||||
|
||||
@Inject
|
||||
public DefaultTeamManager(GeneralDao generalDao, Provider<Session> sessionProvider) {
|
||||
super(generalDao, sessionProvider);
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.pmease.gitop.core.manager.impl;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
@ -23,6 +24,7 @@ public class DefaultUserManager extends DefaultGenericDao<User> implements UserM
|
||||
|
||||
private volatile User rootUser;
|
||||
|
||||
@Inject
|
||||
public DefaultUserManager(GeneralDao generalDao, Provider<Session> sessionProvider) {
|
||||
super(generalDao, sessionProvider);
|
||||
}
|
||||
|
||||
@ -1,14 +1,11 @@
|
||||
package com.pmease.gitop.core.model;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
import com.pmease.gitop.core.permission.operation.PrivilegedOperation;
|
||||
import com.pmease.gitop.core.permission.operation.Read;
|
||||
@ -16,19 +13,15 @@ import com.pmease.gitop.core.permission.operation.Read;
|
||||
@SuppressWarnings("serial")
|
||||
@Entity
|
||||
@Table(uniqueConstraints={
|
||||
@UniqueConstraint(columnNames={"subject", "object"})
|
||||
@UniqueConstraint(columnNames={"team", "repository"})
|
||||
})
|
||||
@org.hibernate.annotations.Cache(
|
||||
usage=org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
|
||||
public class Authorization extends AbstractEntity {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private Team team;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private Repository repository;
|
||||
|
||||
|
||||
@ -2,14 +2,11 @@ package com.pmease.gitop.core.model;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@ -19,8 +16,7 @@ import com.pmease.commons.persistence.AbstractEntity;
|
||||
})
|
||||
public class Branch extends AbstractEntity {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private Repository repository;
|
||||
|
||||
|
||||
@ -4,25 +4,20 @@ import java.util.Date;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@Entity
|
||||
public class CommitComment extends AbstractEntity {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User user;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private Commit commit;
|
||||
|
||||
|
||||
@ -4,25 +4,20 @@ import java.util.Date;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@Entity
|
||||
public class FileComment extends AbstractEntity {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User user;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private Commit commit;
|
||||
|
||||
|
||||
@ -12,13 +12,10 @@ import java.util.Set;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.OneToMany;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.pmease.commons.git.CalcMergeBaseCommand;
|
||||
@ -29,8 +26,8 @@ import com.pmease.commons.persistence.AbstractEntity;
|
||||
import com.pmease.gitop.core.Gitop;
|
||||
import com.pmease.gitop.core.gatekeeper.CheckResult;
|
||||
import com.pmease.gitop.core.gatekeeper.GateKeeper;
|
||||
import com.pmease.gitop.core.manager.VoteInvitationManager;
|
||||
import com.pmease.gitop.core.manager.RepositoryManager;
|
||||
import com.pmease.gitop.core.manager.VoteInvitationManager;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@Entity
|
||||
@ -40,18 +37,15 @@ public class MergeRequest extends AbstractEntity {
|
||||
|
||||
private String title;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User submitter;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private Branch destination;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=true)
|
||||
private Branch source;
|
||||
|
||||
|
||||
@ -7,26 +7,17 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@Entity
|
||||
@Table(uniqueConstraints={
|
||||
@UniqueConstraint(columnNames={"request", "commit"})
|
||||
})
|
||||
public class MergeRequestUpdate extends AbstractEntity {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private MergeRequest request;
|
||||
|
||||
|
||||
@ -0,0 +1,5 @@
|
||||
package com.pmease.gitop.core.model;
|
||||
|
||||
public class ModelLocator {
|
||||
|
||||
}
|
||||
@ -8,15 +8,12 @@ import java.util.Map;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
import com.pmease.gitop.core.gatekeeper.GateKeeper;
|
||||
import com.pmease.gitop.core.permission.object.ProtectedObject;
|
||||
@ -24,16 +21,13 @@ import com.pmease.gitop.core.permission.object.UserBelonging;
|
||||
import com.pmease.gitop.core.permission.operation.PrivilegedOperation;
|
||||
|
||||
@Entity
|
||||
@org.hibernate.annotations.Cache(
|
||||
usage=org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
|
||||
@Table(uniqueConstraints={
|
||||
@UniqueConstraint(columnNames={"owner", "name"})
|
||||
})
|
||||
@SuppressWarnings("serial")
|
||||
public class Repository extends AbstractEntity implements UserBelonging {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User owner;
|
||||
|
||||
|
||||
@ -2,7 +2,6 @@ package com.pmease.gitop.core.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
@ -16,8 +15,6 @@ import com.pmease.gitop.core.permission.object.SystemObject;
|
||||
import com.pmease.gitop.core.permission.operation.PrivilegedOperation;
|
||||
|
||||
@Entity
|
||||
@org.hibernate.annotations.Cache(
|
||||
usage=org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
|
||||
@SuppressWarnings("serial")
|
||||
public class Role extends AbstractEntity implements Permission {
|
||||
|
||||
@ -31,7 +28,7 @@ public class Role extends AbstractEntity implements Permission {
|
||||
private boolean register;
|
||||
|
||||
@Column(nullable=false)
|
||||
private List<PrivilegedOperation> operations = new ArrayList<PrivilegedOperation>();
|
||||
private ArrayList<PrivilegedOperation> operations = new ArrayList<PrivilegedOperation>();
|
||||
|
||||
@OneToMany(mappedBy="role")
|
||||
private Collection<RoleMembership> memberships = new ArrayList<RoleMembership>();
|
||||
@ -76,11 +73,11 @@ public class Role extends AbstractEntity implements Permission {
|
||||
this.memberships = memberships;
|
||||
}
|
||||
|
||||
public List<PrivilegedOperation> getOperations() {
|
||||
public ArrayList<PrivilegedOperation> getOperations() {
|
||||
return operations;
|
||||
}
|
||||
|
||||
public void setOperations(List<PrivilegedOperation> operations) {
|
||||
public void setOperations(ArrayList<PrivilegedOperation> operations) {
|
||||
this.operations = operations;
|
||||
}
|
||||
|
||||
|
||||
@ -1,14 +1,11 @@
|
||||
package com.pmease.gitop.core.model;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@ -16,17 +13,13 @@ import com.pmease.commons.persistence.AbstractEntity;
|
||||
@Table(uniqueConstraints={
|
||||
@UniqueConstraint(columnNames={"user", "role"})
|
||||
})
|
||||
@org.hibernate.annotations.Cache(
|
||||
usage=org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
|
||||
public class RoleMembership extends AbstractEntity {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User user;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private Role role;
|
||||
|
||||
|
||||
@ -5,6 +5,8 @@ import java.util.Collection;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
@ -17,17 +19,17 @@ import com.pmease.gitop.core.permission.operation.PrivilegedOperation;
|
||||
import com.pmease.gitop.core.permission.operation.Read;
|
||||
|
||||
@Entity
|
||||
@org.hibernate.annotations.Cache(
|
||||
usage=org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
|
||||
@Table(uniqueConstraints={
|
||||
@UniqueConstraint(columnNames={"owner", "name"})
|
||||
})
|
||||
@SuppressWarnings("serial")
|
||||
public class Team extends AbstractEntity implements Permission {
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User owner;
|
||||
|
||||
@Column(nullable=false, unique=true)
|
||||
@Column(nullable=false)
|
||||
private String name;
|
||||
|
||||
private String description;
|
||||
@ -35,7 +37,8 @@ public class Team extends AbstractEntity implements Permission {
|
||||
private boolean anonymous;
|
||||
|
||||
private boolean register;
|
||||
|
||||
|
||||
@Column(nullable=false)
|
||||
private PrivilegedOperation operation = new Read();
|
||||
|
||||
@OneToMany(mappedBy="team")
|
||||
|
||||
@ -1,14 +1,11 @@
|
||||
package com.pmease.gitop.core.model;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@ -16,17 +13,13 @@ import com.pmease.commons.persistence.AbstractEntity;
|
||||
@Table(uniqueConstraints={
|
||||
@UniqueConstraint(columnNames={"user", "team"})
|
||||
})
|
||||
@org.hibernate.annotations.Cache(
|
||||
usage=org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
|
||||
public class TeamMembership extends AbstractEntity {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User user;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private Team team;
|
||||
|
||||
|
||||
@ -22,8 +22,6 @@ import com.pmease.gitop.core.permission.object.UserBelonging;
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
@Entity
|
||||
@org.hibernate.annotations.Cache(
|
||||
usage=org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)
|
||||
public class User extends AbstractUser implements ProtectedObject {
|
||||
|
||||
private String description;
|
||||
@ -34,7 +32,7 @@ public class User extends AbstractUser implements ProtectedObject {
|
||||
@OneToMany(mappedBy="user")
|
||||
private Collection<RoleMembership> roleMemberships = new ArrayList<RoleMembership>();
|
||||
|
||||
@OneToMany(mappedBy="user")
|
||||
@OneToMany(mappedBy="submitter")
|
||||
private Collection<MergeRequest> mergeRequests = new ArrayList<MergeRequest>();
|
||||
|
||||
@OneToMany(mappedBy="owner")
|
||||
|
||||
@ -2,14 +2,11 @@ package com.pmease.gitop.core.model;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@ -48,13 +45,11 @@ public class Vote extends AbstractEntity {
|
||||
public abstract boolean isReject();
|
||||
};
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User reviewer;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private MergeRequestUpdate update;
|
||||
|
||||
|
||||
@ -1,14 +1,11 @@
|
||||
package com.pmease.gitop.core.model;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import org.hibernate.annotations.FetchMode;
|
||||
|
||||
import com.pmease.commons.persistence.AbstractEntity;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
@ -18,13 +15,11 @@ import com.pmease.commons.persistence.AbstractEntity;
|
||||
})
|
||||
public class VoteInvitation extends AbstractEntity {
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private User reviewer;
|
||||
|
||||
@ManyToOne(fetch=FetchType.EAGER)
|
||||
@org.hibernate.annotations.Fetch(FetchMode.SELECT)
|
||||
@ManyToOne
|
||||
@JoinColumn(nullable=false)
|
||||
private MergeRequest request;
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.pmease.gitop.core.permission.operation;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class Administration implements PrivilegedOperation {
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.pmease.gitop.core.permission.operation;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class CreateMergeRequest implements PrivilegedOperation {
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.pmease.gitop.core.permission.operation;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class CreateRepository implements PrivilegedOperation {
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.pmease.gitop.core.permission.operation;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class NoAccess implements PrivilegedOperation {
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.pmease.gitop.core.permission.operation;
|
||||
|
||||
public interface PrivilegedOperation {
|
||||
import java.io.Serializable;
|
||||
|
||||
public interface PrivilegedOperation extends Serializable {
|
||||
boolean can(PrivilegedOperation operation);
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.pmease.gitop.core.permission.operation;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class Read implements PrivilegedOperation {
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.pmease.gitop.core.permission.operation;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class Write implements PrivilegedOperation{
|
||||
|
||||
@Override
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
<logger name="org.apache.wicket" level="WARN" />
|
||||
<logger name="org.eclipse" level="WARN" />
|
||||
<logger name="org.hibernate" level="WARN" />
|
||||
<logger name="java.sql.DatabaseMetaData" level="WARN"></logger>
|
||||
<logger name="org.hibernate.cache.ehcache.AbstractEhcacheRegionFactory" level="ERROR"></logger>
|
||||
<logger name="com.jolbox.bonecp.BoneCPConfig" level="WARN" />
|
||||
<logger name="com.sun.jersey" level="WARN" />
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user