1 files added
12 files modified
| | |
| | | * |
| | | */ |
| | | public class CLIClientConnectorServlet extends HttpServlet { |
| | | |
| | | private static final long serialVersionUID = 7150004719303750077L; |
| | | public static final String version = "1.0.9 (2010/Oct/05 18:34)"; |
| | | |
| | | private Map<String, Class<?>> componentmap; |
| | | private Map<String, String> componentDescriptions; |
| | | private ArgumentParser parser; |
| | |
| | | */ |
| | | public void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException { |
| | | try { |
| | | ModuleInterface module; |
| | | |
| | | ModuleInterface module = null; |
| | | Transaction tx = null; |
| | | // check login |
| | | String auth = req.getHeader("authorization"); |
| | | if (auth == null) { |
| | |
| | | // try to log in |
| | | String login = a[0]; |
| | | ticket = a[1]; |
| | | module = null; |
| | | try { |
| | | if (TicketAuthentication.getInstance().login(login, ticket)) { |
| | | |
| | | // login successful |
| | | module = new GenericModuleImpl(new Transaction(login)); |
| | | tx = new Transaction(login); |
| | | module = new GenericModuleImpl(tx); |
| | | |
| | | // read arguments |
| | | BufferedReader read = req.getReader(); |
| | |
| | | } catch (Exception e) { |
| | | resp.addHeader("X-hsadmin-error", "exception: " + e.getMessage()); |
| | | } finally { |
| | | if (module != null && module.getTransaction() != null) { |
| | | module.getTransaction().close(); |
| | | if (tx != null) { |
| | | tx.close(); |
| | | } |
| | | } |
| | | } |
| | |
| | | return stack.toString(); |
| | | } |
| | | |
| | | /** |
| | | * determines if the login user is a hostmaster. |
| | | * @return |
| | | */ |
| | | public boolean isHostmaster() { |
| | | // TODO: dummy |
| | | return false; |
| | | } |
| | | |
| | | public static void setQueryParameter(Query query, String queryString, |
| | | String argName, Object argValue) { |
| | | int argLen = argName.length(); |
| | |
| | | * @param entityClass |
| | | * @return |
| | | */ |
| | | public static AbstractModuleImpl createEntitySessionWrapper(Class<? extends AbstractEntity> entityClass) { |
| | | public static AbstractModuleImpl createEntitySessionWrapper(Class<? extends AbstractEntity> entityClass, Transaction tx) { |
| | | // get in instance |
| | | AbstractModuleImpl impl = null; |
| | | try { |
| | |
| | | } |
| | | // instantiate wrapper |
| | | impl = (AbstractModuleImpl) wrapperClass.newInstance(); |
| | | impl.construct(tx); |
| | | } catch (ClassNotFoundException exc) { |
| | | log.info("entity class '" |
| | | + entityClass.getCanonicalName() |
| | | + "' has no session wrapper => using restrictive default access rights"); |
| | | impl = new SecureDefaultModuleImpl(); |
| | | impl.construct(tx); |
| | | } catch (Exception exc) { |
| | | throw new RuntimeException(exc); |
| | | } |
| | |
| | | public AbstractEntity initialize(AbstractEntity newEntity) throws HSAdminException { |
| | | log.trace("initialize(" + newEntity + ")"); |
| | | AbstractModuleImpl wrapper = |
| | | EntitySessionHelper.createEntitySessionWrapper(newEntity.getClass()); |
| | | wrapper.construct(tx); |
| | | EntitySessionHelper.createEntitySessionWrapper(newEntity.getClass(), tx); |
| | | return wrapper.initialize(newEntity); |
| | | } |
| | | |
| | |
| | | throw new HSAdminException("cannot add an already persistent entity"); |
| | | log.trace("add(" + newEntity + ")"); |
| | | AbstractModuleImpl wrapper = |
| | | EntitySessionHelper.createEntitySessionWrapper(newEntity.getClass()); |
| | | wrapper.construct(tx); |
| | | AbstractEntity result = null; |
| | | result = wrapper.add(newEntity); |
| | | return result; |
| | | EntitySessionHelper.createEntitySessionWrapper(newEntity.getClass(), tx); |
| | | return wrapper.add(newEntity); |
| | | } |
| | | |
| | | @Override |
| | | public AbstractEntity find(Class<? extends AbstractEntity> entityClass, Object key) throws HSAdminException { |
| | | log.trace("find(" + entityClass + ", " + key + ")"); |
| | | AbstractModuleImpl wrapper = EntitySessionHelper.createEntitySessionWrapper(entityClass); |
| | | wrapper.construct(tx); |
| | | AbstractModuleImpl wrapper = EntitySessionHelper.createEntitySessionWrapper(entityClass, tx); |
| | | return wrapper.find(entityClass, key); |
| | | } |
| | | |
| | | @Override |
| | | public AbstractEntity findByString(Class<? extends AbstractEntity> entityClass, String key) throws HSAdminException { |
| | | log.trace("find(" + entityClass + ", " + key + ")"); |
| | | AbstractModuleImpl wrapper = EntitySessionHelper.createEntitySessionWrapper(entityClass); |
| | | wrapper.construct(tx); |
| | | AbstractModuleImpl wrapper = EntitySessionHelper.createEntitySessionWrapper(entityClass, tx); |
| | | return wrapper.findByString(entityClass, key); |
| | | } |
| | | |
| | | @Override |
| | | public List<AbstractEntity> search(Class<? extends AbstractEntity> entityClass, String condition, String orderBy) throws HSAdminException { |
| | | log.trace("search(" + entityClass + ", " + condition + ")"); |
| | | AbstractModuleImpl wrapper = EntitySessionHelper.createEntitySessionWrapper(entityClass); |
| | | wrapper.construct(tx); |
| | | AbstractModuleImpl wrapper = EntitySessionHelper.createEntitySessionWrapper(entityClass, tx); |
| | | return wrapper.search(entityClass, condition, orderBy); |
| | | } |
| | | |
| | |
| | | if (existingEntity.isNew()) |
| | | return add(existingEntity); |
| | | log.debug("update(" + existingEntity + ")"); |
| | | AbstractModuleImpl wrapper = EntitySessionHelper.createEntitySessionWrapper(existingEntity.getClass()); |
| | | wrapper.construct(tx); |
| | | AbstractModuleImpl wrapper = EntitySessionHelper.createEntitySessionWrapper(existingEntity.getClass(), tx); |
| | | return wrapper.update(existingEntity); |
| | | } |
| | | |
| | |
| | | public void delete(AbstractEntity existingEntity) throws HSAdminException { |
| | | log.trace("delete(" + existingEntity + ")"); |
| | | AbstractModuleImpl wrapper = |
| | | EntitySessionHelper.createEntitySessionWrapper(existingEntity.getClass()); |
| | | wrapper.construct(tx); |
| | | EntitySessionHelper.createEntitySessionWrapper(existingEntity.getClass(), tx); |
| | | wrapper.delete(existingEntity); |
| | | } |
| | | |
New file |
| | |
| | | package de.hsadmin.core.model; |
| | | |
| | | /** |
| | | * Transiente User-Klasse. Entkoppelt das core-Paket vom UnixUser-Modul. |
| | | * @author Peter Hormanns |
| | | */ |
| | | public class LoginUser { |
| | | |
| | | // TODO UnixUser Referenzen im Core-Paket ersetzen |
| | | private String login; |
| | | |
| | | public LoginUser(String loginName) { |
| | | login = loginName; |
| | | } |
| | | |
| | | public String getLogin() { |
| | | return login; |
| | | } |
| | | |
| | | public boolean hasHostmasterRole() { |
| | | // TODO Auto-generated method stub |
| | | return false; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | private String dnsServer; |
| | | |
| | | public DNSCheck(String dnsServer) { |
| | | public DNSCheck(String dnsServer) throws HSAdminException { |
| | | this.dnsServer = dnsServer; |
| | | InetAddress dnsInetAddress; |
| | | try { |
| | | dnsInetAddress = InetAddress.getByName(dnsServer); |
| | | DNSService.SetDNSAddress(dnsInetAddress); |
| | | } catch (UnknownHostException e) { |
| | | // TODO Auto-generated catch block |
| | | e.printStackTrace(); |
| | | throw new HSAdminException(e); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | import javax.persistence.Column; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.EntityManager; |
| | | import javax.persistence.GeneratedValue; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.SequenceGenerator; |
| | | import javax.persistence.Table; |
| | | |
| | | import de.hsadmin.mods.user.UnixUser; |
| | | |
| | | @javax.persistence.Entity(name = "BaseComponents") |
| | | @javax.persistence.Table(name = " basecomponent") |
| | | @javax.persistence.SequenceGenerator(name = "BaseComponentsSeqGen", sequenceName = "basecomponent_basecomponent_seq") |
| | | @Entity(name = "BaseComponents") |
| | | @Table(name = " basecomponent") |
| | | @SequenceGenerator(name = "BaseComponentsSeqGen", sequenceName = "basecomponent_basecomponent_seq") |
| | | public class BaseComponent extends de.hsadmin.core.model.AbstractEntity implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -8161827018235142603L; |
| | | |
| | | @javax.persistence.Id |
| | | @javax.persistence.GeneratedValue(strategy = SEQUENCE, generator = "BaseComponentsSeqGen") |
| | | @javax.persistence.Column(name = "basecomponent_id", columnDefinition = "integer") |
| | | @Id |
| | | @GeneratedValue(strategy = SEQUENCE, generator = "BaseComponentsSeqGen") |
| | | @Column(name = "basecomponent_id", columnDefinition = "integer") |
| | | private long id; |
| | | |
| | | @javax.persistence.Column(name = "basecomponent_code", columnDefinition = "character varying(10)") |
| | | @Column(name = "basecomponent_code", columnDefinition = "character varying(10)") |
| | | private String feature; |
| | | |
| | | @javax.persistence.Column(name = "description", columnDefinition = "character varying(100)") |
| | | @Column(name = "description", columnDefinition = "character varying(100)") |
| | | private String description; |
| | | |
| | | @javax.persistence.Column(name = "sorting", columnDefinition = "integer") |
| | | @Column(name = "sorting", columnDefinition = "integer") |
| | | private int sorting; |
| | | |
| | | @javax.persistence.Column(name = "valid", columnDefinition = "boolean") |
| | | @Column(name = "valid", columnDefinition = "boolean") |
| | | private boolean valid; |
| | | |
| | | public BaseComponent() { |
| | |
| | | import java.util.HashSet; |
| | | import java.util.Set; |
| | | |
| | | @javax.persistence.Entity(name = "BasePacs") |
| | | @javax.persistence.Table(name = "basepacket") |
| | | @javax.persistence.SequenceGenerator(name = "BasePacsSeqGen", sequenceName = "basepacket_basepacket_id_seq") |
| | | import javax.persistence.Column; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.GeneratedValue; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.JoinColumn; |
| | | import javax.persistence.JoinTable; |
| | | import javax.persistence.OneToMany; |
| | | import javax.persistence.SequenceGenerator; |
| | | import javax.persistence.Table; |
| | | |
| | | @Entity(name = "BasePacs") |
| | | @Table(name = "basepacket") |
| | | @SequenceGenerator(name = "BasePacsSeqGen", sequenceName = "basepacket_basepacket_id_seq") |
| | | public class BasePac implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1491121619195513435L; |
| | |
| | | this.valid = true; |
| | | } |
| | | |
| | | @javax.persistence.Id |
| | | @javax.persistence.GeneratedValue(strategy = SEQUENCE, generator = "BasePacsSeqGen") |
| | | @javax.persistence.Column(name = "basepacket_id", columnDefinition = "integer") |
| | | @Id |
| | | @GeneratedValue(strategy = SEQUENCE, generator = "BasePacsSeqGen") |
| | | @Column(name = "basepacket_id", columnDefinition = "integer") |
| | | private long id; |
| | | |
| | | @javax.persistence.Column(name = "basepacket_code", columnDefinition = "character varying(10)") |
| | | @Column(name = "basepacket_code", columnDefinition = "character varying(10)") |
| | | private String name; |
| | | |
| | | @javax.persistence.Column(name = "description", columnDefinition = "character varying(100)") |
| | | @Column(name = "description", columnDefinition = "character varying(100)") |
| | | private String description; |
| | | |
| | | @javax.persistence.Column(name = "sorting", columnDefinition = "integer") |
| | | @Column(name = "sorting", columnDefinition = "integer") |
| | | private int sorting; |
| | | |
| | | @javax.persistence.Column(name = "valid", columnDefinition = "boolean") |
| | | @Column(name = "valid", columnDefinition = "boolean") |
| | | private boolean valid; |
| | | |
| | | @javax.persistence.OneToMany(fetch = LAZY, cascade = ALL) |
| | | @OneToMany(fetch = LAZY, cascade = ALL) |
| | | private Set<Component> components; |
| | | |
| | | @javax.persistence.OneToMany(fetch = LAZY, cascade = ALL) |
| | | @javax.persistence.JoinTable(name = "packet_component", joinColumns = @javax.persistence.JoinColumn(name = "packet_id"), inverseJoinColumns = @javax.persistence.JoinColumn(name = "basepacket_id")) |
| | | @OneToMany(fetch = LAZY, cascade = ALL) |
| | | @JoinTable(name = "packet_component", joinColumns = @JoinColumn(name = "packet_id"), inverseJoinColumns = @JoinColumn(name = "basepacket_id")) |
| | | private Set<Pac> pacs; |
| | | |
| | | public long getId() { |
| | |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | import javax.persistence.Column; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.IdClass; |
| | | import javax.persistence.Table; |
| | | |
| | | @javax.persistence.Entity(name = "Components") |
| | | @javax.persistence.Table(name = "component") |
| | | @Entity(name = "Components") |
| | | @Table(name = "component") |
| | | @IdClass(ComponentId.class) |
| | | public class Component implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 970709621200712794L; |
| | | |
| | | @javax.persistence.Id |
| | | @Id |
| | | private BasePac basePac; |
| | | |
| | | @javax.persistence.Id |
| | | @Id |
| | | private BaseComponent baseComponent; |
| | | |
| | | @javax.persistence.Column(name = "min_quantity", columnDefinition = "integer") |
| | | @Column(name = "min_quantity", columnDefinition = "integer") |
| | | private int minimumQuantity; |
| | | |
| | | @javax.persistence.Column(name = "max_quantity", columnDefinition = "integer") |
| | | @Column(name = "max_quantity", columnDefinition = "integer") |
| | | private int maximimumQuantity; |
| | | |
| | | @javax.persistence.Column(name = "default_quantity", columnDefinition = "integer") |
| | | @Column(name = "default_quantity", columnDefinition = "integer") |
| | | private int defaultQuantity; |
| | | |
| | | @javax.persistence.Column(name = "increment_quantity", columnDefinition = "integer") |
| | | @Column(name = "increment_quantity", columnDefinition = "integer") |
| | | private int incrementQuantity; |
| | | |
| | | @javax.persistence.Column(name = "include_quantity", columnDefinition = "integer") |
| | | @Column(name = "include_quantity", columnDefinition = "integer") |
| | | private int includedQuantity; |
| | | |
| | | @javax.persistence.Column(name = "admin_only", columnDefinition = "boolean") |
| | | @Column(name = "admin_only", columnDefinition = "boolean") |
| | | private boolean adminOnly; |
| | | |
| | | public Component() { |
| | |
| | | import static javax.persistence.FetchType.LAZY; |
| | | import static javax.persistence.GenerationType.SEQUENCE; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Set; |
| | | |
| | | import javax.persistence.Column; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.EntityManager; |
| | | import javax.persistence.GeneratedValue; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.JoinColumn; |
| | | import javax.persistence.ManyToOne; |
| | | import javax.persistence.OneToMany; |
| | | import javax.persistence.OrderBy; |
| | | import javax.persistence.SequenceGenerator; |
| | | import javax.persistence.Table; |
| | | |
| | | import de.hsadmin.core.model.AbstractEntity; |
| | | import de.hsadmin.mods.user.UnixUser; |
| | | |
| | | @javax.persistence.Entity(name="Hives") |
| | | @javax.persistence.Table(name="hive") |
| | | @javax.persistence.SequenceGenerator(name="HivesSeqGen", sequenceName="hive_hive_id_seq") |
| | | public class Hive |
| | | extends de.hsadmin.core.model.AbstractEntity |
| | | implements java.io.Serializable |
| | | { |
| | | @Entity(name = "Hives") |
| | | @Table(name = "hive") |
| | | @SequenceGenerator(name = "HivesSeqGen", sequenceName = "hive_hive_id_seq") |
| | | public class Hive extends AbstractEntity implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -2270234313165009590L; |
| | | |
| | | /// bean ctor |
| | | public Hive() |
| | | { |
| | | @Id |
| | | @GeneratedValue(strategy = SEQUENCE, generator = "HivesSeqGen") |
| | | @Column(name = "hive_id") |
| | | private long id; |
| | | |
| | | @Column(name = "hive_name", columnDefinition = "character varying(3)", unique = true) |
| | | private String name; |
| | | |
| | | @JoinColumn(name = "inet_addr_id") |
| | | @ManyToOne(fetch = EAGER) |
| | | private INetAddress inetAddr; |
| | | |
| | | @Column(name = "description", columnDefinition = "character varying(100)") |
| | | private String description; |
| | | |
| | | @OneToMany(fetch = LAZY, cascade = ALL, mappedBy = "hive") |
| | | @OrderBy("name") |
| | | private Set<Pac> pacs; |
| | | |
| | | public Hive() { |
| | | } |
| | | |
| | | public Hive( String name, INetAddress inetAddr ) |
| | | { |
| | | |
| | | public Hive(String name, INetAddress inetAddr) { |
| | | this.name = name; |
| | | this.inetAddr = inetAddr; |
| | | } |
| | | |
| | | public Hive( String name, INetAddress inetAddr, String desc ) |
| | | { |
| | | public Hive(String name, INetAddress inetAddr, String desc) { |
| | | this(name, inetAddr); |
| | | this.description = desc; |
| | | } |
| | | |
| | | /// {@inheritDoc} |
| | | public static String createQueryFromStringKey(String humanKey) |
| | | { |
| | | public static String createQueryFromStringKey(String humanKey) { |
| | | return "hiveName='" + humanKey + "'"; |
| | | } |
| | | |
| | | /// {@inheritDoc} |
| | | @Override |
| | | public String createStringKey() |
| | | { |
| | | public String createStringKey() { |
| | | return getHiveName(); |
| | | } |
| | | |
| | | /// {@inheritDoc} |
| | | @Override |
| | | public long id() |
| | | { |
| | | return id; |
| | | public long id() { |
| | | return id; |
| | | } |
| | | |
| | | // attribute id |
| | | @javax.persistence.Id |
| | | @javax.persistence.GeneratedValue(strategy=SEQUENCE, generator="HivesSeqGen") |
| | | @javax.persistence.Column(name="hive_id") |
| | | private long id; |
| | | public long getId() { return id; } |
| | | public void setId( long id ) { this.id = id; } |
| | | public long getId() { |
| | | return id; |
| | | } |
| | | |
| | | // attribute hiveName |
| | | @javax.persistence.Column(name="hive_name", columnDefinition="character varying(3)", unique=true) |
| | | private String name; |
| | | public String getName() { return name; } |
| | | @Override |
| | | public String getHiveName() { return name; } |
| | | public void setName( String hiveName ) { this.name = hiveName; } |
| | | public void setId(long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | // attribute inetAddr |
| | | @javax.persistence.JoinColumn(name="inet_addr_id") |
| | | @javax.persistence.ManyToOne(fetch=EAGER) |
| | | private INetAddress inetAddr; |
| | | public INetAddress getInetAddr() { return inetAddr; } |
| | | public void setInetAddr( INetAddress inetAddr ) { this.inetAddr = inetAddr; } |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | // attribute description |
| | | @javax.persistence.Column(name="description", columnDefinition="character varying(100)") |
| | | private String description; |
| | | public String getDescription() { return description; } |
| | | public void setDescription( String description ) { this.description = description; } |
| | | |
| | | // virtual attribute pacs |
| | | @javax.persistence.OneToMany(fetch=LAZY, cascade=ALL, mappedBy="hive") |
| | | @javax.persistence.OrderBy("name") |
| | | private Set<Pac> pacs; |
| | | public Set<Pac> getPacs() { return pacs; } |
| | | public void setPacs( Set<Pac> pacs) { this.pacs = pacs; } |
| | | |
| | | /// {$inheritDoc} |
| | | @Override |
| | | public boolean isNew() |
| | | { |
| | | public String getHiveName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String hiveName) { |
| | | this.name = hiveName; |
| | | } |
| | | |
| | | public INetAddress getInetAddr() { |
| | | return inetAddr; |
| | | } |
| | | |
| | | public void setInetAddr(INetAddress inetAddr) { |
| | | this.inetAddr = inetAddr; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | public void setDescription(String description) { |
| | | this.description = description; |
| | | } |
| | | |
| | | public Set<Pac> getPacs() { |
| | | return pacs; |
| | | } |
| | | |
| | | public void setPacs(Set<Pac> pacs) { |
| | | this.pacs = pacs; |
| | | } |
| | | |
| | | @Override |
| | | public boolean isNew() { |
| | | return id == 0; |
| | | } |
| | | |
| | | /// {@inheritDoc} |
| | | |
| | | @Override |
| | | public UnixUser owningUser( EntityManager em ) |
| | | { |
| | | public UnixUser owningUser(EntityManager em) { |
| | | return null; // TODO: kinda somebody like root needed |
| | | } |
| | | } |
| | |
| | | |
| | | import static javax.persistence.GenerationType.SEQUENCE; |
| | | |
| | | import javax.persistence.EntityManager; |
| | | import java.io.Serializable; |
| | | |
| | | import javax.persistence.Column; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.EntityManager; |
| | | import javax.persistence.GeneratedValue; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.SequenceGenerator; |
| | | import javax.persistence.Table; |
| | | |
| | | import de.hsadmin.core.model.AbstractEntity; |
| | | import de.hsadmin.mods.user.UnixUser; |
| | | |
| | | @javax.persistence.Entity(name="INetAddresses") |
| | | @javax.persistence.Table(name="inet_addr") |
| | | @javax.persistence.SequenceGenerator(name="INetAddressesSeqGen", sequenceName="inet_addr_inet_addr_id_seq") |
| | | public class INetAddress |
| | | extends de.hsadmin.core.model.AbstractEntity |
| | | implements java.io.Serializable |
| | | { |
| | | private static final long serialVersionUID = -5792279453911426607L; |
| | | @Entity(name = "INetAddresses") |
| | | @Table(name = "inet_addr") |
| | | @SequenceGenerator(name = "INetAddressesSeqGen", sequenceName = "inet_addr_inet_addr_id_seq") |
| | | public class INetAddress extends AbstractEntity implements Serializable { |
| | | |
| | | /// bean ctor |
| | | public INetAddress() |
| | | { |
| | | private static final long serialVersionUID = -5792279453911426607L; |
| | | |
| | | @Id |
| | | @GeneratedValue(strategy = SEQUENCE, generator = "INetAddressesSeqGen") |
| | | @Column(name = "inet_addr_id") |
| | | private long id; |
| | | |
| | | @Column(name = "inet_addr", columnDefinition = "inet", unique = true) |
| | | private String inetAddr; |
| | | |
| | | @Column(name = "description", columnDefinition = "character varying(100)") |
| | | private String description; |
| | | |
| | | public INetAddress() { |
| | | } |
| | | |
| | | public INetAddress( String inetAddr ) |
| | | { |
| | | public INetAddress(String inetAddr) { |
| | | this.inetAddr = inetAddr; |
| | | } |
| | | |
| | | public INetAddress( String inetAddr, String desc ) |
| | | { |
| | | this(inetAddr); |
| | | description = desc; |
| | | public INetAddress(String inetAddr, String desc) { |
| | | this(inetAddr); |
| | | description = desc; |
| | | } |
| | | |
| | | /// {@inheritDoc} |
| | | public static String createQueryFromStringKey(String humanKey) |
| | | { |
| | | public static String createQueryFromStringKey(String humanKey) { |
| | | return "inetAddr='" + humanKey + "'"; |
| | | } |
| | | |
| | | /// {@inheritDoc} |
| | | @Override |
| | | public String createStringKey() |
| | | { |
| | | public String createStringKey() { |
| | | return getInetAddr(); |
| | | } |
| | | |
| | | /// {@inheritDoc} |
| | | |
| | | @Override |
| | | public long id() |
| | | { |
| | | return id; |
| | | public long id() { |
| | | return id; |
| | | } |
| | | |
| | | // attribute id |
| | | @javax.persistence.Id |
| | | @javax.persistence.GeneratedValue(strategy=SEQUENCE, generator="INetAddressesSeqGen") |
| | | @javax.persistence.Column(name="inet_addr_id") |
| | | private long id; |
| | | public long getId() { return id; } |
| | | public void setId( long id ) { this.id = id; } |
| | | public long getId() { |
| | | return id; |
| | | } |
| | | |
| | | // attribute inetAddr |
| | | @javax.persistence.Column(name="inet_addr", columnDefinition="inet", unique=true) |
| | | private String inetAddr; |
| | | public String getInetAddr() { return inetAddr; } |
| | | public void setInetAddr( String inetAddr ) { this.inetAddr = inetAddr; } |
| | | public void setId(long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | // attribute description |
| | | @javax.persistence.Column(name="description", columnDefinition="character varying(100)") |
| | | private String description; |
| | | public String getDescription() { return description; } |
| | | public void setDescription( String description ) { this.description = description; } |
| | | public String getInetAddr() { |
| | | return inetAddr; |
| | | } |
| | | |
| | | /// {$inheritDoc} |
| | | public void setInetAddr(String inetAddr) { |
| | | this.inetAddr = inetAddr; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | public void setDescription(String description) { |
| | | this.description = description; |
| | | } |
| | | |
| | | @Override |
| | | public boolean isNew() |
| | | { |
| | | public boolean isNew() { |
| | | return id == 0; |
| | | } |
| | | |
| | | /// {@inheritDoc} |
| | | |
| | | @Override |
| | | public UnixUser owningUser( EntityManager em ) |
| | | { |
| | | public UnixUser owningUser(EntityManager em) { |
| | | return null; // TODO: kinda somebody like root needed |
| | | } |
| | | } |
| | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import javax.persistence.Column; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.EntityManager; |
| | | import javax.persistence.GeneratedValue; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.JoinColumn; |
| | | import javax.persistence.ManyToOne; |
| | | import javax.persistence.OneToMany; |
| | | import javax.persistence.SequenceGenerator; |
| | | import javax.persistence.Table; |
| | | import javax.persistence.Temporal; |
| | | import javax.persistence.TemporalType; |
| | | import javax.persistence.Transient; |
| | | |
| | | import de.hsadmin.core.model.AbstractEntity; |
| | | import de.hsadmin.core.model.EntityInfo; |
| | | import de.hsadmin.mods.cust.Customer; |
| | | import de.hsadmin.mods.user.UnixUser; |
| | | |
| | | @javax.persistence.Entity(name = "Pacs") |
| | | @javax.persistence.Table(name = "packet") |
| | | @javax.persistence.SequenceGenerator(name = "PacsSeqGen", sequenceName = "packet_packet_id_seq") |
| | | @de.hsadmin.core.model.EntityInfo(name = "Paket") |
| | | public class Pac extends de.hsadmin.core.model.AbstractEntity implements Serializable { |
| | | @Entity(name = "Pacs") |
| | | @Table(name = "packet") |
| | | @SequenceGenerator(name = "PacsSeqGen", sequenceName = "packet_packet_id_seq") |
| | | @EntityInfo(name = "Paket") |
| | | public class Pac extends AbstractEntity implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1201899873300190132L; |
| | | |
| | | @javax.persistence.Id |
| | | @javax.persistence.GeneratedValue(strategy = SEQUENCE, generator = "PacsSeqGen") |
| | | @javax.persistence.Column(name = "packet_id") |
| | | @Id |
| | | @GeneratedValue(strategy = SEQUENCE, generator = "PacsSeqGen") |
| | | @Column(name = "packet_id") |
| | | private long id; |
| | | |
| | | @javax.persistence.Column(name = "packet_name", unique = true) |
| | | @Column(name = "packet_name", unique = true) |
| | | private String name; |
| | | |
| | | @javax.persistence.JoinColumn(name = "bp_id") |
| | | @javax.persistence.ManyToOne(fetch = EAGER) |
| | | @JoinColumn(name = "bp_id") |
| | | @ManyToOne(fetch = EAGER) |
| | | private Customer customer; |
| | | |
| | | @javax.persistence.JoinColumn(name = "hive_id") |
| | | @javax.persistence.ManyToOne(fetch = EAGER) |
| | | @JoinColumn(name = "hive_id") |
| | | @ManyToOne(fetch = EAGER) |
| | | private Hive hive; |
| | | |
| | | @javax.persistence.Column(name = "created") |
| | | @javax.persistence.Temporal(javax.persistence.TemporalType.DATE) |
| | | @Column(name = "created") |
| | | @Temporal(TemporalType.DATE) |
| | | private Date created; |
| | | |
| | | @javax.persistence.Column(name = "cancelled", nullable = true) |
| | | @javax.persistence.Temporal(javax.persistence.TemporalType.DATE) |
| | | @Column(name = "cancelled", nullable = true) |
| | | @Temporal(TemporalType.DATE) |
| | | private Date cancelled; |
| | | |
| | | @javax.persistence.Column(name = "order_number", nullable = true) |
| | | @Column(name = "order_number", nullable = true) |
| | | private String orderNo; |
| | | |
| | | @javax.persistence.Column(name = "webserver_group", nullable = true) |
| | | @Column(name = "webserver_group", nullable = true) |
| | | private String webserverGroup; |
| | | |
| | | @javax.persistence.JoinColumn(name = "cur_inet_addr_id", nullable = true) |
| | | @javax.persistence.ManyToOne(fetch = EAGER) |
| | | @JoinColumn(name = "cur_inet_addr_id", nullable = true) |
| | | @ManyToOne(fetch = EAGER) |
| | | private INetAddress curINetAddr; |
| | | |
| | | @javax.persistence.JoinColumn(name = "old_inet_addr_id", nullable = true) |
| | | @javax.persistence.ManyToOne(fetch = EAGER) |
| | | @JoinColumn(name = "old_inet_addr_id", nullable = true) |
| | | @ManyToOne(fetch = EAGER) |
| | | private INetAddress oldINetAddr; |
| | | |
| | | @javax.persistence.OneToMany(fetch = LAZY, cascade = ALL) |
| | | @OneToMany(fetch = LAZY, cascade = ALL) |
| | | private java.util.Set<PacComponent> pacComponents; |
| | | |
| | | @javax.persistence.OneToMany(fetch = LAZY, cascade = ALL, mappedBy = "pac") |
| | | @OneToMany(fetch = LAZY, cascade = ALL, mappedBy = "pac") |
| | | private java.util.Set<UnixUser> unixUser; |
| | | |
| | | public Pac() { |
| | |
| | | } |
| | | } |
| | | |
| | | // / {@inheritDoc} |
| | | public static String createQueryFromStringKey(String humanKey) { |
| | | return "obj.name='" + humanKey + "'"; |
| | | } |
| | | |
| | | // / {@inheritDoc} |
| | | @Override |
| | | public String createStringKey() { |
| | | return getName(); |
| | | } |
| | | |
| | | // / {@inheritDoc} |
| | | @Override |
| | | public long id() { |
| | | return id; |
| | |
| | | * This does not work, JPA/Hibernate always wants to create an invalid row |
| | | * in packet_component |
| | | * |
| | | * @javax.persistence.ManyToOne(fetch=EAGER, optional=true) // optional |
| | | * @ManyToOne(fetch=EAGER, optional=true) // optional |
| | | * should be default anyway |
| | | * |
| | | * @javax.persistence.JoinTable( name="packet_component", |
| | | * joinColumns=@javax.persistence.JoinColumn(name="packet_id"), |
| | | * inverseJoinColumns=@javax.persistence.JoinColumn(name="basepacket_id") ) |
| | | * @JoinTable( name="packet_component", |
| | | * joinColumns=@JoinColumn(name="packet_id"), |
| | | * inverseJoinColumns=@JoinColumn(name="basepacket_id") ) |
| | | */ |
| | | @javax.persistence.Transient |
| | | @Transient |
| | | public BasePac getBasePac() { |
| | | return getPacComponents().iterator().next().getBasePac(); |
| | | } |
| | |
| | | this.unixUser = unixUser; |
| | | } |
| | | |
| | | // generic |
| | | public String toString() { |
| | | return super.toString() + "{ name=" + name + " }"; |
| | | } |
| | | |
| | | // / {$inheritDoc} |
| | | @Override |
| | | public boolean isNew() { |
| | | return id == 0; |
| | | } |
| | | |
| | | // / {$inheritDoc} |
| | | @Override |
| | | public String getHiveName() { |
| | | if (isNew()) |
| | |
| | | return getHive().getHiveName(); |
| | | } |
| | | |
| | | // / {@inheritDoc} |
| | | @Override |
| | | public UnixUser owningUser(EntityManager em) { |
| | | return customer.owningUser(em); |
| | |
| | | return null; |
| | | } |
| | | |
| | | // / determines whether the given user has full read access on all merged |
| | | // fields of this entity |
| | | public boolean isReadAllowedFor(UnixUser loginUser) { |
| | | return getName().equals(loginUser.getName()) |
| | | || super.isReadAllowedFor(loginUser); |
| | | } |
| | | |
| | | // / query restriction for access control |
| | | public static String restriction() { |
| | | return |
| | | // all pacs of customer |
| | | "obj.customer.name=:loginUserName OR " + |
| | | |
| | | // pac of packet admin |
| | | "obj.name=:loginUserName"; |
| | | // all pacs of customer |
| | | "obj.customer.name=:loginUserName OR " + |
| | | // pac of packet admin |
| | | "obj.name=:loginUserName"; |
| | | } |
| | | } |
| | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | import javax.persistence.Column; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.IdClass; |
| | | import javax.persistence.JoinColumn; |
| | | import javax.persistence.ManyToOne; |
| | | import javax.persistence.Table; |
| | | import javax.persistence.Temporal; |
| | | import javax.persistence.TemporalType; |
| | | |
| | | @javax.persistence.Entity(name = "PacComponents") |
| | | @javax.persistence.Table(name = "packet_component") |
| | | @Entity(name = "PacComponents") |
| | | @Table(name = "packet_component") |
| | | @IdClass(PacComponentId.class) |
| | | public class PacComponent implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 5359873462163274873L; |
| | | |
| | | @javax.persistence.Id |
| | | @Id |
| | | private Pac pac; |
| | | |
| | | @javax.persistence.Id |
| | | @Id |
| | | private BaseComponent baseComponent; |
| | | |
| | | @javax.persistence.JoinColumn(name = "basepacket_id", columnDefinition = "integer", nullable = false) |
| | | @javax.persistence.ManyToOne(fetch = EAGER) |
| | | @JoinColumn(name = "basepacket_id", columnDefinition = "integer", nullable = false) |
| | | @ManyToOne(fetch = EAGER) |
| | | private BasePac basePac; |
| | | |
| | | @javax.persistence.Column(name = "quantity", columnDefinition = "integer") |
| | | @Column(name = "quantity", columnDefinition = "integer") |
| | | private int quantity; |
| | | |
| | | @javax.persistence.Column(name = "created", columnDefinition = "date", nullable = true) |
| | | @javax.persistence.Temporal(javax.persistence.TemporalType.DATE) |
| | | @Column(name = "created", columnDefinition = "date", nullable = true) |
| | | @Temporal(TemporalType.DATE) |
| | | private Date created; |
| | | |
| | | @javax.persistence.Column(name = "cancelled", columnDefinition = "date", nullable = true) |
| | | @javax.persistence.Temporal(javax.persistence.TemporalType.DATE) |
| | | @Column(name = "cancelled", columnDefinition = "date", nullable = true) |
| | | @Temporal(TemporalType.DATE) |
| | | private Date cancelled; |
| | | |
| | | public PacComponent() { |