You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2011/04/01 18:42:42 UTC

svn commit: r1087796 [5/37] - in /incubator/rave/donations/mitre-osec: ./ conf/ db/ db/data/ db/sequences/ db/tables/ lib/ lib/apache-commons/ lib/apache-taglibs/ lib/build/ lib/build/cobertura/ lib/eclipselink/ lib/freemarker/ lib/google-collections/ ...

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAudience.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAudience.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAudience.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAudience.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,150 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Basic;
+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.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OrderBy;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "GADGET_AUDIENCE")
+@SequenceGenerator(name="GadgetAudienceSeq", sequenceName="GADGET_AUDIENCE_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "GadgetAudience.findAll", query = "SELECT g FROM GadgetAudience g ORDER BY g.description"),
+    @NamedQuery(name = "GadgetAudience.findAllAssignedToGadgets", query = "SELECT g FROM GadgetAudience g WHERE SIZE(g.gadgetList) > 0 ORDER BY g.description"),
+    @NamedQuery(name = "GadgetAudience.findByGadgetAudienceId", query = "SELECT g FROM GadgetAudience g WHERE g.gadgetAudienceId = :gadgetAudienceId"),
+    @NamedQuery(name = "GadgetAudience.findByCode", query = "SELECT g FROM GadgetAudience g WHERE g.code = :code")
+})
+public class GadgetAudience implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_AUDIENCE_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetAudienceSeq")
+    private Long gadgetAudienceId;
+
+    @Basic(optional = false)
+    @Column(name = "CODE")
+    private String code;
+
+    @Basic(optional = false)
+    @Column(name = "DESCRIPTION")
+    private String description;
+
+    @ManyToMany
+    @JoinTable(name="GADGET_AUDIENCE_MAP",
+               joinColumns=@JoinColumn(name="GADGET_AUDIENCE_ID"),
+               inverseJoinColumns=@JoinColumn(name="GADGET_ID")
+    )
+    @OrderBy("title")
+    private List<Gadget> gadgetList;
+
+    public GadgetAudience() {
+    }
+
+    public GadgetAudience(Long gadgetAudienceId) {
+        this.gadgetAudienceId = gadgetAudienceId;
+    }
+
+    public GadgetAudience(Long gadgetAudienceId, String code, String description) {
+        this.gadgetAudienceId = gadgetAudienceId;
+        this.code = code;
+        this.description = description;
+    }
+
+    public Long getGadgetAudienceId() {
+        return gadgetAudienceId;
+    }
+
+    public void setGadgetAudienceId(Long gadgetAudienceId) {
+        this.gadgetAudienceId = gadgetAudienceId;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public List<Gadget> getGadgetList() {
+        return gadgetList;
+    }
+
+    public void setGadgetList(List<Gadget> gadgetList) {
+        this.gadgetList = gadgetList;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (gadgetAudienceId != null ? gadgetAudienceId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof GadgetAudience)) {
+            return false;
+        }
+        GadgetAudience other = (GadgetAudience) object;
+
+        if (this.gadgetAudienceId == null ||
+            other.getGadgetAudienceId() == null ||
+            !this.gadgetAudienceId.equals(other.getGadgetAudienceId()))
+        {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.GadgetAudience[gadgetAudienceId=" + gadgetAudienceId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAudience.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAuthorType.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAuthorType.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAuthorType.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAuthorType.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Basic;
+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.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "GADGET_AUTHOR_TYPE")
+@SequenceGenerator(name="GadgetAuthorSeq", sequenceName="GADGET_AUTHOR_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "GadgetAuthorType.findAll", query = "SELECT g FROM GadgetAuthorType g ORDER BY g.description"),
+    @NamedQuery(name = "GadgetAuthorType.findByGadgetAuthorTypeId", query = "SELECT g FROM GadgetAuthorType g WHERE g.gadgetAuthorTypeId = :gadgetAuthorTypeId"),
+    @NamedQuery(name = "GadgetAuthorType.findByCode", query = "SELECT g FROM GadgetAuthorType g WHERE g.code = :code")
+})
+public class GadgetAuthorType implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_AUTHOR_TYPE_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetAuthorSeq")
+    private Long gadgetAuthorTypeId;
+
+    @Basic(optional = false)
+    @Column(name = "CODE")
+    private String code;
+
+    @Basic(optional = false)
+    @Column(name = "DESCRIPTION")
+    private String description;
+
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "gadgetAuthorType")
+    @OrderBy("title")
+    private List<Gadget> gadgetList;
+
+    public GadgetAuthorType() {
+    }
+
+    public GadgetAuthorType(Long gadgetAuthorTypeId) {
+        this.gadgetAuthorTypeId = gadgetAuthorTypeId;
+    }
+
+    public GadgetAuthorType(Long gadgetAuthorTypeId, String code, String description) {
+        this.gadgetAuthorTypeId = gadgetAuthorTypeId;
+        this.code = code;
+        this.description = description;
+    }
+
+    public Long getGadgetAuthorTypeId() {
+        return gadgetAuthorTypeId;
+    }
+
+    public void setGadgetAuthorTypeId(Long gadgetAuthorTypeId) {
+        this.gadgetAuthorTypeId = gadgetAuthorTypeId;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public List<Gadget> getGadgetList() {
+        return gadgetList;
+    }
+
+    public void setGadgetList(List<Gadget> gadgetList) {
+        this.gadgetList = gadgetList;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (gadgetAuthorTypeId != null ? gadgetAuthorTypeId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof GadgetAuthorType)) {
+            return false;
+        }
+        GadgetAuthorType other = (GadgetAuthorType) object;
+
+        if (this.gadgetAuthorTypeId == null ||
+            other.getGadgetAuthorTypeId() == null ||
+            !this.gadgetAuthorTypeId.equals(other.getGadgetAuthorTypeId()))
+        {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.GadgetAuthorType[gadgetAuthorTypeId=" + gadgetAuthorTypeId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetAuthorType.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetComment.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetComment.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetComment.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetComment.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,244 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.util.Date;
+import javax.persistence.Basic;
+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.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import org.eclipse.persistence.annotations.Convert;
+import org.eclipse.persistence.annotations.Converter;
+import org.mitre.portal.model.util.BooleanConverter;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "GADGET_COMMENT")
+@SequenceGenerator(name="GadgetCommentSeq", sequenceName="GADGET_COMMENT_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "GadgetComment.findByGadgetCommentId", query = "SELECT gc FROM GadgetComment gc WHERE gc.gadgetCommentId = :gadgetCommentId"),
+    @NamedQuery(name = "GadgetComment.findAllByGadget", query = "SELECT gc FROM GadgetComment gc WHERE gc.gadget = :gadget ORDER BY gc.createdDate DESC")
+})
+@Converter (
+     name="BooleanConverter",
+     converterClass=BooleanConverter.class
+)
+public class GadgetComment implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_COMMENT_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetCommentSeq")
+    private Long gadgetCommentId;
+
+    @Basic(optional = false)
+    @Column(name = "USER_ID")
+    private String userId;
+
+    @Basic(optional = false)
+    @Column(name = "COMMENT_TEXT")
+    private String commentText;
+
+    @Basic(optional = false)
+    @Column(name = "CREATED_DATE")
+    @Temporal(TemporalType.TIMESTAMP)
+    private Date createdDate;
+
+    @Basic(optional = false)
+    @Column(name = "CREATED_BY_ADMIN")
+    @Convert("BooleanConverter")
+    private boolean createdByAdmin;
+
+    @Basic(optional = false)
+    @Column(name = "GADGET_VERSION")
+    private String gadgetVersion;
+
+    @Column(name = "GADGET_RATING")
+    private Long gadgetRating;
+
+    @Basic(optional = false)
+    @Column(name = "LAST_MODIFIED_USER_ID")
+    private String lastModifiedUserId;
+
+    @Basic(optional = false)
+    @Column(name = "LAST_MODIFIED_DATE")
+    @Temporal(TemporalType.TIMESTAMP)
+    private Date lastModifiedDate;
+
+    @Basic(optional = false)
+    @Column(name = "LAST_MODIFIED_BY_ADMIN")
+    @Convert("BooleanConverter")
+    private boolean lastModifiedByAdmin;
+
+    @JoinColumn(name = "GADGET_ID", referencedColumnName = "GADGET_ID")
+    @ManyToOne(optional = false)
+    private Gadget gadget;
+
+    public GadgetComment() {
+    }
+
+    public GadgetComment(Long gadgetCommentId) {
+        this.gadgetCommentId = gadgetCommentId;
+    }
+
+    public GadgetComment(Long gadgetCommentId, String userId, String commentText, Date createdDate, String gadgetVersion, boolean lastModifiedByAdmin) {
+        this.gadgetCommentId = gadgetCommentId;
+        this.userId = userId;
+        this.commentText = commentText;
+        this.createdDate = createdDate;
+        this.gadgetVersion = gadgetVersion;
+        this.lastModifiedByAdmin = lastModifiedByAdmin;
+    }
+
+    public Long getGadgetCommentId() {
+        return gadgetCommentId;
+    }
+
+    public void setGadgetCommentId(Long gadgetCommentId) {
+        this.gadgetCommentId = gadgetCommentId;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getCommentText() {
+        return commentText;
+    }
+
+    public void setCommentText(String commentText) {
+        this.commentText = commentText;
+    }
+
+    public Date getCreatedDate() {
+        return createdDate;
+    }
+
+    public void setCreatedDate(Date createdDate) {
+        this.createdDate = createdDate;
+    }
+
+    public String getGadgetVersion() {
+        return gadgetVersion;
+    }
+
+    public void setGadgetVersion(String gadgetVersion) {
+        this.gadgetVersion = gadgetVersion;
+    }
+
+    public Long getGadgetRating() {
+        return gadgetRating;
+    }
+
+    public void setGadgetRating(Long gadgetRating) {
+        this.gadgetRating = gadgetRating;
+    }
+
+    public String getLastModifiedUserId() {
+        return lastModifiedUserId;
+    }
+
+    public void setLastModifiedUserId(String lastModifiedUserId) {
+        this.lastModifiedUserId = lastModifiedUserId;
+    }
+
+    public Date getLastModifiedDate() {
+        return lastModifiedDate;
+    }
+
+    public void setLastModifiedDate(Date lastModifiedDate) {
+        this.lastModifiedDate = lastModifiedDate;
+    }
+
+    public boolean isLastModifiedByAdmin() {
+        return lastModifiedByAdmin;
+    }
+
+    public void setLastModifiedByAdmin(boolean lastModifiedByAdmin) {
+        this.lastModifiedByAdmin = lastModifiedByAdmin;
+    }
+
+    public Gadget getGadget() {
+        return gadget;
+    }
+
+    public void setGadget(Gadget gadget) {
+        this.gadget = gadget;
+    }
+
+    public boolean isCreatedByAdmin() {
+        return createdByAdmin;
+    }
+
+    public void setCreatedByAdmin(boolean createdByAdmin) {
+        this.createdByAdmin = createdByAdmin;
+    }
+
+    public boolean isCommentModified() {
+        return !lastModifiedDate.equals(createdDate);
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (gadgetCommentId != null ? gadgetCommentId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof GadgetComment)) {
+            return false;
+        }
+        GadgetComment other = (GadgetComment) object;
+        if (this.gadgetCommentId == null ||
+            other.getGadgetCommentId() == null ||
+            !this.gadgetCommentId.equals(other.getGadgetCommentId()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.GadgetComment[gadgetCommentId=" + gadgetCommentId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetComment.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetRating.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetRating.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetRating.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetRating.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,143 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import javax.persistence.Basic;
+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.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author Sean Cooper <se...@mitre.org>
+ */
+@Entity
+@Table(name = "GADGET_RATING")
+@SequenceGenerator(name="GadgetRatingSeq", sequenceName="GADGET_RATING_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "GadgetRating.findById", query = "SELECT g FROM GadgetRating g WHERE g.gadgetRatingId = :gadgetRatingId"),
+    @NamedQuery(name = "GadgetRating.findByGadgetAndUser", query = "SELECT g FROM GadgetRating g WHERE g.gadget = :gadget AND g.userId = :userId"),
+    @NamedQuery(name = "GadgetRating.findAllByGadget", query = "SELECT g FROM GadgetRating g WHERE g.gadget = :gadget"),
+    @NamedQuery(name = "GadgetRating.findAllByUser", query = "SELECT g FROM GadgetRating g WHERE g.userId = :userId")
+})
+public class GadgetRating implements Serializable {
+
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_RATING_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetRatingSeq")
+    private Long gadgetRatingId;
+
+    @JoinColumn(name = "GADGET_ID", referencedColumnName = "GADGET_ID")
+    @ManyToOne(optional = false)
+    private Gadget gadget;
+
+    @Basic(optional = false)
+    @Column(name = "RATING")
+    private Long rating;
+
+    @Basic(optional = false)
+    @Column(name = "USER_ID")
+    private String userId;
+
+    public GadgetRating() {
+
+    }
+
+    public GadgetRating(final Long id, final Gadget gadget, final Long rating, final String userId) {
+        this.gadgetRatingId = id;
+        this.gadget = gadget;
+        this.rating = rating;
+        this.userId = userId;
+    }
+
+    public void setGadgetRatingId(final Long id) {
+        gadgetRatingId = id;
+    }
+    public Long getGadgetRatingId() {
+        return gadgetRatingId;
+    }
+
+    public void setGadget(final Gadget gadget) {
+        this.gadget = gadget;
+    }
+    public Gadget getGadget() {
+        return gadget;
+    }
+
+    public void setRating(final Long rating) {
+        this.rating = rating;
+    }
+    public Long getRating() {
+        return rating;
+    }
+
+    public void setUserId(final String userId) {
+        this.userId = userId;
+    }
+    public String getUserId() {
+        return userId;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if ( ! (object instanceof GadgetRating))
+            return false;
+
+        GadgetRating objectRating = (GadgetRating) object;
+        
+        return ( ((this.getGadget()==null && objectRating.getGadget()==null) || (this.getGadget())!=null && this.getGadget().equals(objectRating.getGadget()))
+                && ((this.getGadgetRatingId()==null && objectRating.getGadgetRatingId()==null) || (this.getGadgetRatingId()!=null && this.getGadgetRatingId().equals(objectRating.getGadgetRatingId())))
+                && ((this.getRating()==null && objectRating.getRating()==null)) || (this.getRating()!=null && this.getRating().equals(objectRating.getRating()))
+                && ((this.getUserId()==null && objectRating.getUserId()==null) || (this.getUserId()!=null && this.getUserId().equals(objectRating.getUserId()))));
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 7;
+        hash = 41 * hash + (this.gadgetRatingId != null ? this.gadgetRatingId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public String toString() {
+        StringBuffer buffer = new StringBuffer();
+
+        buffer.append("{gadget:");
+        buffer.append(getGadget());
+        buffer.append(", gadgetRatingId:");
+        buffer.append(getGadgetRatingId());
+        buffer.append(", rating:");
+        buffer.append(getRating());
+        buffer.append(", userId:");
+        buffer.append(getUserId());
+
+        return buffer.toString();
+    }
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetRating.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetSupportLinkType.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetSupportLinkType.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetSupportLinkType.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetSupportLinkType.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Basic;
+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.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "GADGET_SUPPORT_LINK_TYPE")
+@SequenceGenerator(name="GadgetSupportLinkTypeSeq", sequenceName="GADGET_SPPRT_LINK_TYPE_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "GadgetSupportLinkType.findAll", query = "SELECT g FROM GadgetSupportLinkType g ORDER BY g.description"),
+    @NamedQuery(name = "GadgetSupportLinkType.findByGadgetSupportLinkTypeId", query = "SELECT g FROM GadgetSupportLinkType g WHERE g.gadgetSupportLinkTypeId = :gadgetSupportLinkTypeId"),
+    @NamedQuery(name = "GadgetSupportLinkType.findByCode", query = "SELECT g FROM GadgetSupportLinkType g WHERE g.code = :code")
+})
+public class GadgetSupportLinkType implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_SUPPORT_LINK_TYPE_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetSupportLinkTypeSeq")
+    private Long gadgetSupportLinkTypeId;
+
+    @Basic(optional = false)
+    @Column(name = "CODE")
+    private String code;
+
+    @Basic(optional = false)
+    @Column(name = "DESCRIPTION")
+    private String description;
+
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "gadgetSupportLinkType")
+    @OrderBy("title")
+    private List<Gadget> gadgetList;
+
+    public GadgetSupportLinkType() {
+    }
+
+    public GadgetSupportLinkType(Long gadgetSupportLinkTypeId) {
+        this.gadgetSupportLinkTypeId = gadgetSupportLinkTypeId;
+    }
+
+    public GadgetSupportLinkType(Long gadgetSupportLinkTypeId, String code, String description) {
+        this.gadgetSupportLinkTypeId = gadgetSupportLinkTypeId;
+        this.code = code;
+        this.description = description;
+    }
+
+    public Long getGadgetSupportLinkTypeId() {
+        return gadgetSupportLinkTypeId;
+    }
+
+    public void setGadgetSupportLinkTypeId(Long gadgetSupportLinkTypeId) {
+        this.gadgetSupportLinkTypeId = gadgetSupportLinkTypeId;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public List<Gadget> getGadgetList() {
+        return gadgetList;
+    }
+
+    public void setGadgetList(List<Gadget> gadgetList) {
+        this.gadgetList = gadgetList;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (gadgetSupportLinkTypeId != null ? gadgetSupportLinkTypeId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof GadgetSupportLinkType)) {
+            return false;
+        }
+        GadgetSupportLinkType other = (GadgetSupportLinkType) object;
+
+        if (this.gadgetSupportLinkTypeId == null ||
+            other.getGadgetSupportLinkTypeId() == null ||
+            !this.gadgetSupportLinkTypeId.equals(other.getGadgetSupportLinkTypeId()))
+        {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.GadgetSupportLinkType[gadgetSupportLinkTypeId=" + gadgetSupportLinkTypeId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetSupportLinkType.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetTag.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetTag.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetTag.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetTag.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import javax.persistence.Basic;
+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.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "GADGET_TAG")
+@SequenceGenerator(name="GadgetTagSeq", sequenceName="GADGET_TAG_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "GadgetTag.findAll", query = "SELECT distinct g.tagName FROM GadgetTag g ORDER BY g.tagName"),
+    @NamedQuery(name = "GadgetTag.findByGadgetTagId", query = "SELECT g FROM GadgetTag g WHERE g.gadgetTagId = :gadgetTagId"),
+    @NamedQuery(name = "GadgetTag.findByTagName", query = "SELECT g FROM GadgetTag g WHERE g.tagName = :tagName")
+})
+public class GadgetTag implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_TAG_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetTagSeq")
+    private Long gadgetTagId;
+
+    @Basic(optional = false)
+    @Column(name = "TAG_NAME")
+    private String tagName;
+
+    @JoinColumn(name = "GADGET_ID", referencedColumnName = "GADGET_ID")
+    @ManyToOne(optional = false)
+    private Gadget gadget;
+
+    public GadgetTag() {
+    }
+
+    public GadgetTag(Long gadgetTagId) {
+        this.gadgetTagId = gadgetTagId;
+    }
+
+    public GadgetTag(Long gadgetTagId, String tagName) {
+        this.gadgetTagId = gadgetTagId;
+        this.tagName = tagName;
+    }
+
+    public Long getGadgetTagId() {
+        return gadgetTagId;
+    }
+
+    public void setGadgetTagId(Long gadgetTagId) {
+        this.gadgetTagId = gadgetTagId;
+    }
+
+    public String getTagName() {
+        return tagName;
+    }
+
+    public void setTagName(String tagName) {
+        this.tagName = tagName;
+    }
+
+    public Gadget getGadget() {
+        return gadget;
+    }
+
+    public void setGadget(Gadget gadget) {
+        this.gadget = gadget;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (gadgetTagId != null ? gadgetTagId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof GadgetTag)) {
+            return false;
+        }
+        GadgetTag other = (GadgetTag) object;
+
+        if (this.gadgetTagId == null ||
+            other.getGadgetTagId() == null ||
+            !this.gadgetTagId.equals(other.getGadgetTagId()))
+        {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.GadgetTag[gadgetTagId=" + gadgetTagId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetTag.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPref.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPref.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPref.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPref.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,247 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Basic;
+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.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import org.eclipse.persistence.annotations.Convert;
+import org.eclipse.persistence.annotations.Converter;
+import org.eclipse.persistence.annotations.PrivateOwned;
+import org.mitre.portal.model.util.BooleanConverter;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "GADGET_USER_PREF")
+@SequenceGenerator(name="GadgetUserPrefSeq", sequenceName="GADGET_USER_PREF_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "GadgetUserPref.findById", query = "SELECT g FROM GadgetUserPref g WHERE g.gadgetUserPrefId = :gadgetUserPrefId"),
+    @NamedQuery(name = "GadgetUserPref.findAllByGadget", query = "SELECT g FROM GadgetUserPref g WHERE g.gadget = :gadget")
+
+})
+@Converter (
+     name="BooleanConverter",
+     converterClass= BooleanConverter.class
+)
+public class GadgetUserPref implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_USER_PREF_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetUserPrefSeq")
+    private Long gadgetUserPrefId;
+
+    @Basic(optional = false)
+    @Column(name = "NAME")
+    private String name;
+
+    @Basic(optional = false)
+    @Column(name = "DISPLAY_NAME")
+    private String displayName;
+
+    @Basic(optional = false)
+    @Column(name = "DATATYPE")
+    private String dataType;
+
+    @Basic(optional = false)
+    @Column(name = "REQUIRED")
+    @Convert("BooleanConverter")
+    private boolean required;
+
+    @Basic(optional = true)
+    @Column(name = "DEFAULT_VALUE")
+    private String defaultValue;
+
+    @JoinColumn(name = "GADGET_ID", referencedColumnName = "GADGET_ID")
+    @ManyToOne(optional = false)
+    private Gadget gadget;
+
+    @PrivateOwned
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "gadgetUserPref")
+    private List<PersonGadgetUserPref> personGadgetUserPrefList;
+
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "gadgetUserPref")
+    @OrderBy("sortValue")
+    private List<GadgetUserPrefEnumType> gadgetUserPrefEnumTypeList;
+
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "gadgetUserPref")
+    @OrderBy("sortValue")
+    private List<GadgetUserPrefListType> gadgetUserPrefListTypeList;
+
+    // enum for all the possible Gadget UserPref data types
+    public static enum UserPrefDataType {
+        STRING("string"),
+        BOOL("bool"),
+        HIDDEN("hidden"),
+        LIST("list"),
+        ENUM("enum");
+
+        private final String dataType;
+        private UserPrefDataType(String dataType) {
+            this.dataType = dataType;
+        }
+        
+        @Override
+        public String toString() {
+            return dataType;
+        }
+    }
+
+    public GadgetUserPref() {
+    }
+
+    public GadgetUserPref(Long gadgetUserPrefId) {
+        this.gadgetUserPrefId = gadgetUserPrefId;
+    }
+
+    public GadgetUserPref(Long gadgetUserPrefId, String name, String displayName, String dataType, boolean required) {
+        this.gadgetUserPrefId = gadgetUserPrefId;
+        this.name = name;
+        this.displayName = displayName;
+        this.dataType = dataType;
+        this.required = required;
+    }
+
+    public Long getGadgetUserPrefId() {
+        return gadgetUserPrefId;
+    }
+
+    public void setGadgetUserPrefId(Long gadgetUserPrefId) {
+        this.gadgetUserPrefId = gadgetUserPrefId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDisplayName() {
+        return displayName;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public String getDataType() {
+        return dataType;
+    }
+
+    public void setDataType(String dataType) {
+        this.dataType = dataType;
+    }
+
+    public boolean getRequired() {
+        return required;
+    }
+
+    public void setRequired(boolean required) {
+        this.required = required;
+    }
+
+    public String getDefaultValue() {
+        return defaultValue;
+    }
+
+    public void setDefaultValue(String defaultValue) {
+        this.defaultValue = defaultValue;
+    }
+
+    public Gadget getGadget() {
+        return gadget;
+    }
+
+    public void setGadget(Gadget gadget) {
+        this.gadget = gadget;
+    }
+
+    public List<PersonGadgetUserPref> getPersonGadgetUserPrefList() {
+        return personGadgetUserPrefList;
+    }
+
+    public void setPersonGadgetUserPrefList(List<PersonGadgetUserPref> personGadgetUserPrefList) {
+        this.personGadgetUserPrefList = personGadgetUserPrefList;
+    }
+
+    public List<GadgetUserPrefEnumType> getGadgetUserPrefEnumTypeList() {
+        return gadgetUserPrefEnumTypeList;
+    }
+
+    public void setGadgetUserPrefEnumTypeList(List<GadgetUserPrefEnumType> gadgetUserPrefEnumTypeList) {
+        this.gadgetUserPrefEnumTypeList = gadgetUserPrefEnumTypeList;
+    }
+
+    public List<GadgetUserPrefListType> getGadgetUserPrefListTypeList() {
+        return gadgetUserPrefListTypeList;
+    }
+
+    public void setGadgetUserPrefListTypeList(List<GadgetUserPrefListType> gadgetUserPrefListTypeList) {
+        this.gadgetUserPrefListTypeList = gadgetUserPrefListTypeList;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (gadgetUserPrefId != null ? gadgetUserPrefId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof GadgetUserPref)) {
+            return false;
+        }
+        GadgetUserPref other = (GadgetUserPref) object;
+        if (this.gadgetUserPrefId == null ||
+            other.getGadgetUserPrefId() == null ||
+            !this.gadgetUserPrefId.equals(other.getGadgetUserPrefId()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.GadgetUserPref[gadgetUserPrefId=" + gadgetUserPrefId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPref.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefEnumType.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefEnumType.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefEnumType.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefEnumType.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,152 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import javax.persistence.Basic;
+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.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "GADGET_USER_PREF_ENUM_TYPE")
+@SequenceGenerator(name="GadgetUserPrefEnumTypeSeq", sequenceName="GUPET_ID_SEQ", allocationSize=1)
+@NamedQueries({    
+    @NamedQuery(name = "GadgetUserPrefEnumType.findByGadgetUserPrefEnumType", query = "SELECT g FROM GadgetUserPrefEnumType g WHERE g.gadgetUserPrefEnumTypeId = :gadgetUserPrefEnumTypeId"),
+    @NamedQuery(name = "GadgetUserPrefEnumType.findAllByGadgetUserPref", query = "SELECT g FROM GadgetUserPrefEnumType g WHERE g.gadgetUserPref = :gadgetUserPref ORDER BY g.sortValue")
+})
+public class GadgetUserPrefEnumType implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_USER_PREF_ENUM_TYPE_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetUserPrefEnumTypeSeq")
+    private Long gadgetUserPrefEnumTypeId;
+
+    @Basic(optional = false)
+    @Column(name = "ENUM_VALUE")
+    private String enumValue;
+
+    @Basic(optional = false)
+    @Column(name = "ENUM_DISPLAY_VALUE")
+    private String enumDisplayValue;
+
+    @JoinColumn(name = "GADGET_USER_PREF_ID", referencedColumnName = "GADGET_USER_PREF_ID")
+    @ManyToOne(optional = false)
+    private GadgetUserPref gadgetUserPref;
+
+    @Basic(optional = false)
+    @Column(name = "SORT_VALUE")
+    private Integer sortValue;
+
+    public GadgetUserPrefEnumType() {
+    }
+
+    public GadgetUserPrefEnumType(Long gadgetUserPrefEnumTypeId) {
+        this.gadgetUserPrefEnumTypeId = gadgetUserPrefEnumTypeId;
+    }
+
+    public GadgetUserPrefEnumType(Long gadgetUserPrefEnumTypeId, String enumValue) {
+        this.gadgetUserPrefEnumTypeId = gadgetUserPrefEnumTypeId;
+        this.enumValue = enumValue;
+    }
+
+    public Long getGadgetUserPrefEnumTypeId() {
+        return gadgetUserPrefEnumTypeId;
+    }
+
+    public void setGadgetUserPrefEnumTypeId(Long gadgetUserPrefEnumTypeId) {
+        this.gadgetUserPrefEnumTypeId = gadgetUserPrefEnumTypeId;
+    }
+
+    public String getEnumValue() {
+        return enumValue;
+    }
+
+    public void setEnumValue(String enumValue) {
+        this.enumValue = enumValue;
+    }
+
+    public String getEnumDisplayValue() {
+        return enumDisplayValue;
+    }
+
+    public void setEnumDisplayValue(String enumDisplayValue) {
+        this.enumDisplayValue = enumDisplayValue;
+    }
+
+    public GadgetUserPref getGadgetUserPref() {
+        return gadgetUserPref;
+    }
+
+    public void setGadgetUserPref(GadgetUserPref gadgetUserPref) {
+        this.gadgetUserPref = gadgetUserPref;
+    }
+
+    public Integer getSortValue() {
+        return sortValue;
+    }
+
+    public void setSortValue(Integer sortValue) {
+        this.sortValue = sortValue;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (gadgetUserPrefEnumTypeId != null ? gadgetUserPrefEnumTypeId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof GadgetUserPrefEnumType)) {
+            return false;
+        }
+        GadgetUserPrefEnumType other = (GadgetUserPrefEnumType) object;
+        if (this.gadgetUserPrefEnumTypeId == null ||
+            other.getGadgetUserPrefEnumTypeId() == null ||
+            !this.gadgetUserPrefEnumTypeId.equals(other.getGadgetUserPrefEnumTypeId()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.GadgetUserPrefEnumType[GadgetUserPrefEnumTypeId=" + gadgetUserPrefEnumTypeId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefEnumType.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefListType.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefListType.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefListType.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefListType.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import javax.persistence.Basic;
+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.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "GADGET_USER_PREF_LIST_TYPE")
+@SequenceGenerator(name="GadgetUserPrefListTypeSeq", sequenceName="GUPLT_ID_SEQ", allocationSize=1)
+@NamedQueries({    
+    @NamedQuery(name = "GadgetUserPrefListType.findByGadgetUserPrefListTypeId", query = "SELECT g FROM GadgetUserPrefListType g WHERE g.gadgetUserPrefListTypeId = :gadgetUserPrefListTypeId"),
+    @NamedQuery(name = "GadgetUserPrefListType.findAllByGadgetUserPref", query = "SELECT g FROM GadgetUserPrefListType g WHERE g.gadgetUserPref = :gadgetUserPref ORDER BY g.sortValue")
+})
+public class GadgetUserPrefListType implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "GADGET_USER_PREF_LIST_TYPE_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GadgetUserPrefListTypeSeq")
+    private Long gadgetUserPrefListTypeId;
+
+    @Basic(optional = false)
+    @Column(name = "LIST_VALUE")
+    private String listValue;
+
+    @Basic(optional = false)
+    @Column(name = "SORT_VALUE")
+    private Integer sortValue;
+
+    @JoinColumn(name = "GADGET_USER_PREF_ID", referencedColumnName = "GADGET_USER_PREF_ID")
+    @ManyToOne(optional = false)
+    private GadgetUserPref gadgetUserPref;
+
+    public GadgetUserPrefListType() {
+    }
+
+    public GadgetUserPrefListType(Long gadgetUserPrefListTypeId) {
+        this.gadgetUserPrefListTypeId = gadgetUserPrefListTypeId;
+    }
+
+    public GadgetUserPrefListType(Long gadgetUserPrefListTypeId, String listValue, Integer sortValue) {
+        this.gadgetUserPrefListTypeId = gadgetUserPrefListTypeId;
+        this.listValue = listValue;
+        this.sortValue = sortValue;
+    }
+
+    public Long getGadgetUserPrefListTypeId() {
+        return gadgetUserPrefListTypeId;
+    }
+
+    public void setGadgetUserPrefListTypeId(Long gadgetUserPrefListTypeId) {
+        this.gadgetUserPrefListTypeId = gadgetUserPrefListTypeId;
+    }
+
+    public String getListValue() {
+        return listValue;
+    }
+
+    public void setListValue(String listValue) {
+        this.listValue = listValue;
+    }
+
+    public Integer getSortValue() {
+        return sortValue;
+    }
+
+    public void setSortValue(Integer sortValue) {
+        this.sortValue = sortValue;
+    }
+
+    public GadgetUserPref getGadgetUserPref() {
+        return gadgetUserPref;
+    }
+
+    public void setGadgetUserPref(GadgetUserPref gadgetUserPref) {
+        this.gadgetUserPref = gadgetUserPref;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (gadgetUserPrefListTypeId != null ? gadgetUserPrefListTypeId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof GadgetUserPrefListType)) {
+            return false;
+        }
+        GadgetUserPrefListType other = (GadgetUserPrefListType) object;
+        if (this.gadgetUserPrefListTypeId == null ||
+            other.getGadgetUserPrefListTypeId() == null ||
+            !this.gadgetUserPrefListTypeId.equals(other.getGadgetUserPrefListTypeId()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.GadgetUserPrefListType[gadgetUserPrefListTypeId=" + gadgetUserPrefListTypeId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/GadgetUserPrefListType.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/Page.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/Page.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/Page.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/Page.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,230 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.*;
+import org.eclipse.persistence.annotations.Convert;
+import org.eclipse.persistence.annotations.Converter;
+import org.eclipse.persistence.annotations.PrivateOwned;
+import org.mitre.portal.model.util.BooleanConverter;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "PAGE")
+@SequenceGenerator(name="PageSeq", sequenceName="PAGE_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "Page.findById", query = "SELECT p FROM Page p WHERE p.pageId = :pageId"),
+    @NamedQuery(name = "Page.findByName", query = "SELECT p FROM Page p WHERE p.name = :name AND p.userId = :userId AND p.container = :container"),
+    @NamedQuery(name = "Page.findAllByContainerAndUser", query = "SELECT p FROM Page p WHERE p.container = :container AND p.userId = :userId ORDER BY p.renderSeq")
+
+})
+@Converter (
+     name="BooleanConverter",
+     converterClass=BooleanConverter.class
+)
+public class Page implements Serializable 
+{
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "PAGE_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "PageSeq")
+    private Long pageId;
+
+    @Basic(optional = false)
+    @Column(name = "NAME")
+    private String name;
+
+    @Basic(optional = false)
+    @Column(name = "RENDER_SEQ")
+    private long renderSeq;
+
+    @JoinColumn(name = "CONTAINER_ID", referencedColumnName = "CONTAINER_ID")
+    @ManyToOne(optional = false)
+    private Container container;
+
+    @Basic(optional = false)
+    @Column(name = "USER_ID")
+    private String userId;
+
+    @JoinColumn(name = "PAGE_LAYOUT_ID", referencedColumnName = "PAGE_LAYOUT_ID")
+    @ManyToOne(optional = false)
+    private PageLayout pageLayout;
+
+    @PrivateOwned
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "page")
+    @OrderBy("name")
+    private List<Region> regionList;
+
+    @Basic(optional = false)
+    @Column(name = "FIXED_LAYOUT")
+    @Convert("BooleanConverter")
+    private boolean fixedLayout;
+
+    public Page() {
+    }
+
+    public Page(Long pageId) {
+        this.pageId = pageId;
+    }
+
+    public Page(Long pageId, String name, long renderSeq) {
+        this.pageId = pageId;
+        this.name = name;
+        this.renderSeq = renderSeq;
+    }
+
+    public Long getPageId() {
+        return pageId;
+    }
+
+    public void setPageId(Long pageId) {
+        this.pageId = pageId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public long getRenderSeq() {
+        return renderSeq;
+    }
+
+    public void setRenderSeq(long renderSeq) {
+        this.renderSeq = renderSeq;
+    }
+
+    public Container getContainer() {
+        return container;
+    }
+
+    public void setContainer(Container container) {
+        this.container = container;
+    }
+
+    public String getUserId()
+    {
+        return userId;
+    }
+
+    public void setUserId(String userId)
+    {
+        this.userId = userId;
+    }
+
+    public PageLayout getPageLayout()
+    {
+        return pageLayout;
+    }
+
+    public void setPageLayout(PageLayout pageLayout)
+    {
+        this.pageLayout = pageLayout;
+    }
+
+    public List<Region> getRegionList() {
+        return regionList;
+    }
+
+    public void setRegionList(List<Region> regionList) {
+        this.regionList = regionList;
+    }
+
+    public boolean isFixedLayout() {
+        return fixedLayout;
+    }
+
+    public void setFixedLayout(boolean fixedLayout) {
+        this.fixedLayout = fixedLayout;
+    }
+
+    public Region getRegion(Long regionId) {
+        for (Region r : regionList)
+        {
+            if (regionId.equals(r.getRegionId()))            
+                return r;            
+        }
+
+        return null;
+    }
+
+    public Region getRegion(String regionName) {
+        for (Region r : regionList)
+        {
+            if (regionName.equals(r.getName()))            
+                return r;            
+        }
+
+        return null;
+    }
+
+
+    /**
+     * Returns a boolean indicating whether or not this page has any gadgets
+     *
+     * @return <li>true - if it has no gadgets
+     *         <li>false - if this page has one or more gadgets on it
+     */
+    public boolean isEmpty() {
+        for (Region r : regionList) {
+            if (r.getRegionGadgetList() != null && !r.getRegionGadgetList().isEmpty())
+                return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (pageId != null ? pageId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {        
+        if (!(object instanceof Page)) {
+            return false;
+        }
+        Page other = (Page) object;
+        if (this.pageId == null ||
+            other.getPageId() == null ||
+            !this.pageId.equals(other.getPageId()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.Page[pageId=" + pageId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/Page.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageLayout.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageLayout.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageLayout.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageLayout.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,195 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Basic;
+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.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import org.eclipse.persistence.annotations.Convert;
+import org.eclipse.persistence.annotations.Converter;
+import org.mitre.portal.model.util.BooleanConverter;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "PAGE_LAYOUT")
+@SequenceGenerator(name="PageLayoutSeq", sequenceName="PAGE_LAYOUT_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "PageLayout.findAll", query = "SELECT p FROM PageLayout p ORDER BY p.renderSeq"),
+    @NamedQuery(name = "PageLayout.findByPageLayoutId", query = "SELECT p FROM PageLayout p WHERE p.pageLayoutId = :pageLayoutId"),
+    @NamedQuery(name = "PageLayout.findByLayoutName", query = "SELECT p FROM PageLayout p WHERE p.layoutName = :layoutName")
+})
+@Converter (
+     name="BooleanConverter",
+     converterClass=BooleanConverter.class
+)
+public class PageLayout implements Serializable 
+{
+    // database fields
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "PAGE_LAYOUT_ID")
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "PageLayoutSeq")
+    private Long pageLayoutId;
+
+    @Basic(optional = false)
+    @Column(name = "LAYOUT_NAME")
+    private String layoutName;
+
+    @Basic(optional = false)
+    @Column(name = "DISPLAY_NAME")
+    private String displayName;
+
+    @Basic(optional = false)
+    @Column(name = "RENDER_SEQ")
+    private long renderSeq;
+
+    @Basic(optional = false)
+    @Column(name = "NUM_REGIONS")
+    private long numRegions;
+
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "pageLayout")
+    private List<Page> pageList;
+
+    @Basic(optional = false)
+    @Column(name = "USER_SELECTABLE")
+    @Convert("BooleanConverter")
+    private boolean userSelectable;
+
+    public PageLayout() {
+    }
+
+    public PageLayout(Long pageLayoutId) {
+        this.pageLayoutId = pageLayoutId;
+    }
+
+    public PageLayout(Long pageLayoutId, String layoutName, String displayName, long renderSeq, long numRegions) {
+        this.pageLayoutId = pageLayoutId;
+        this.layoutName = layoutName;
+        this.displayName = displayName;
+        this.renderSeq = renderSeq;
+        this.numRegions = numRegions;
+    }
+
+    public Long getPageLayoutId() {
+        return pageLayoutId;
+    }
+
+    public void setPageLayoutId(Long pageLayoutId) {
+        this.pageLayoutId = pageLayoutId;
+    }
+
+    public String getLayoutName() {
+        return layoutName;
+    }
+
+    public void setLayoutName(String layoutName) {
+        this.layoutName = layoutName;
+    }
+
+    public String getDisplayName() {
+        return displayName;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public long getRenderSeq() {
+        return renderSeq;
+    }
+
+    public void setRenderSeq(long renderSeq) {
+        this.renderSeq = renderSeq;
+    }
+
+    public long getNumRegions() {
+        return numRegions;
+    }
+
+    public void setNumRegions(long numRegions) {
+        this.numRegions = numRegions;
+    }
+
+    public List<Page> getPageList() {
+        return pageList;
+    }
+
+    public void setPageList(List<Page> pageList) {
+        this.pageList = pageList;
+    }
+
+    public boolean isUserSelectable() {
+        return userSelectable;
+    }
+
+    public void setUserSelectable(boolean userSelectable) {
+        this.userSelectable = userSelectable;
+    }
+
+    public String getImageName() {
+        if (layoutName == null || layoutName.isEmpty())
+            return null;
+        else
+            return layoutName + ".jpg";
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (pageLayoutId != null ? pageLayoutId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof PageLayout)) {
+            return false;
+        }
+        PageLayout other = (PageLayout) object;
+        if (this.pageLayoutId == null ||
+            other.getPageLayoutId() == null ||
+            !this.pageLayoutId.equals(other.getPageLayoutId()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.PageLayout[pageLayoutId=" + pageLayoutId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageLayout.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplate.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplate.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplate.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplate.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,284 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import javax.persistence.*;
+import org.eclipse.persistence.annotations.Convert;
+import org.eclipse.persistence.annotations.Converter;
+import org.mitre.portal.model.util.BooleanConverter;
+import org.mitre.portal.model.util.URLConverter;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "PAGE_TEMPLATE")
+@SequenceGenerator(name="PageTemplateSeq", sequenceName="PAGE_TEMPLATE_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "PageTemplate.findAllByPageTemplateOwnerType", query = "SELECT p FROM PageTemplate p WHERE p.pageTemplateOwnerType = :pageTemplateOwnerType AND p.container = :container ORDER BY p.name"),
+    @NamedQuery(name = "PageTemplate.findByPageTemplateId", query = "SELECT p FROM PageTemplate p WHERE p.pageTemplateId = :pageTemplateId"),    
+    @NamedQuery(name = "PageTemplate.findDefault", query = "SELECT p FROM PageTemplate p WHERE p.defaultTemplate = true"),
+    @NamedQuery(name = "PageTemplate.findAll", query = "SELECT p FROM PageTemplate p ORDER BY p.renderSeq, p.name"),
+    @NamedQuery(name = "PageTemplate.findByContainerAndName", query = "SELECT p FROM PageTemplate p WHERE p.container = :container and p.name = :name")
+})
+@Converter (
+     name="BooleanConverter",
+     converterClass=BooleanConverter.class
+)
+public class PageTemplate implements Serializable 
+{
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "PageTemplateSeq")
+    @Column(name = "PAGE_TEMPLATE_ID")
+    private Long pageTemplateId;
+
+    @JoinColumn(name = "CONTAINER_ID", referencedColumnName = "CONTAINER_ID")
+    @ManyToOne(optional = false)
+    private Container container;
+
+    @Basic(optional = false)
+    @Column(name = "NAME")
+    private String name;
+
+    @Basic(optional = false)
+    @Column(name = "DESCRIPTION")
+    private String description;
+
+    @JoinColumn(name = "PAGE_LAYOUT_ID", referencedColumnName = "PAGE_LAYOUT_ID")
+    @ManyToOne
+    private PageLayout pageLayout;
+
+    @JoinColumn(name = "OWNER_TYPE_CODE", referencedColumnName = "CODE")
+    @ManyToOne(optional = false)
+    private PageTemplateOwnerType pageTemplateOwnerType;
+
+    @Basic(optional = false)
+    @Column(name = "OWNER_TYPE_VALUE")
+    private String ownerTypeValue;
+
+    @Basic(optional = true)
+    @Column(name = "OWNER_TYPE_URL")
+    @Converter (
+        name="URLConverter",
+        converterClass=URLConverter.class
+    )
+    @Convert("URLConverter")
+    private URL ownerTypeUrl;
+
+    @Basic(optional = true)
+    @Column(name = "OWNER_TYPE_LOGO")
+    @Converter (
+        name="URLConverter",
+        converterClass=URLConverter.class
+    )
+    @Convert("URLConverter")
+    private URL ownerTypeLogo;
+
+    @OneToMany(mappedBy = "pageTemplate")
+    private List<PageTemplateRegion> pageTemplateRegionList;
+
+    @Basic(optional = false)
+    @Column(name = "DEFAULT_TEMPLATE")
+    @Convert("BooleanConverter")
+    private boolean defaultTemplate;
+
+    @Basic(optional = false)
+    @Column(name = "FIXED_LAYOUT")
+    @Convert("BooleanConverter")
+    private boolean fixedLayout;
+
+    @Basic(optional = false)
+    @Column(name = "FIXED_NAME")
+    @Convert("BooleanConverter")
+    private boolean fixedName;
+
+
+    @Basic(optional = false)
+    @Column(name = "RENDER_SEQ")
+    private long renderSeq;
+
+    public PageTemplate() {
+    }
+
+    public PageTemplate(Long pageTemplateId) {
+        this.pageTemplateId = pageTemplateId;
+    }
+
+    public Long getPageTemplateId() {
+        return pageTemplateId;
+    }
+
+    public void setPageTemplateId(Long pageTemplateId) {
+        this.pageTemplateId = pageTemplateId;
+    }
+
+    public Container getContainer() {
+        return container;
+    }
+
+    public void setContainer(Container container) {
+        this.container = container;
+    }    
+
+    public PageLayout getPageLayout() {
+        return pageLayout;
+    }
+
+    public void setPageLayout(PageLayout pageLayout) {
+        this.pageLayout = pageLayout;
+    }
+
+    public PageTemplateOwnerType getPageTemplateOwnerType() {
+        return pageTemplateOwnerType;
+    }
+
+    public void setPageTemplateOwnerType(PageTemplateOwnerType pageTemplateOwnerType) {
+        this.pageTemplateOwnerType = pageTemplateOwnerType;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public long getRenderSeq() {
+        return renderSeq;
+    }
+
+    public void setRenderSeq(long renderSeq) {
+        this.renderSeq = renderSeq;
+    }
+
+    public List<PageTemplateRegion> getPageTemplateRegionList() {
+        return pageTemplateRegionList;
+    }
+
+    public void setPageTemplateRegionList(List<PageTemplateRegion> PageTemplateRegionList) {
+        this.pageTemplateRegionList = PageTemplateRegionList;
+    }
+
+    public boolean isDefaultTemplate() {
+        return defaultTemplate;
+    }
+
+    public void setDefaultTemplate(boolean defaultTemplate) {
+        this.defaultTemplate = defaultTemplate;
+    }
+
+    public boolean isFixedLayout() {
+        return fixedLayout;
+    }
+
+    public void setFixedLayout(boolean fixedLayout) {
+        this.fixedLayout = fixedLayout;
+    }
+
+    public boolean isFixedName() {
+        return fixedName;
+    }
+
+    public void setFixedName(boolean fixedName) {
+        this.fixedName = fixedName;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getOwnerTypeValue() {
+        return ownerTypeValue;
+    }
+
+    public void setOwnerTypeValue(String ownerTypeValue) {
+        this.ownerTypeValue = ownerTypeValue;
+    }
+
+    public URL getOwnerTypeUrl() {
+        return ownerTypeUrl;
+    }
+
+    public void setOwnerTypeUrl(URL ownerTypeUrl) {
+        this.ownerTypeUrl = ownerTypeUrl;
+    }
+
+    public URL getOwnerTypeLogo() {
+        return ownerTypeLogo;
+    }
+
+    public void setOwnerTypeLogo(URL ownerTypeLogo) {
+        this.ownerTypeLogo = ownerTypeLogo;
+    }
+
+    public List<PageTemplateGadget> getAllPageTemplateGadgets() {
+        ArrayList<PageTemplateGadget> list = new ArrayList<PageTemplateGadget>();
+
+        for (PageTemplateRegion ptr : pageTemplateRegionList) {
+            for (PageTemplateGadget ptg : ptr.getPageTemplateGadgetList()) {
+                list.add(ptg);
+            }
+        }
+        // sort the list alphabetically using PageTemplateGadget's compareTo function
+        Collections.sort(list);
+        return list;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (pageTemplateId != null ? pageTemplateId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof PageTemplate)) {
+            return false;
+        }
+        PageTemplate other = (PageTemplate) object;
+        if (this.pageTemplateId == null ||
+            other.getPageTemplateId() == null ||
+            !this.pageTemplateId.equals(other.getPageTemplateId()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.PageTemplate[pageTemplateId=" + pageTemplateId + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplate.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateGadget.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateGadget.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateGadget.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateGadget.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import javax.persistence.*;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "PAGE_TEMPLATE_GADGET")
+@SequenceGenerator(name="PageTemplateGadgetSeq", sequenceName="PAGE_TEMPLATE_GADGET_ID_SEQ", allocationSize=1)
+@NamedQueries({
+    @NamedQuery(name = "PageTemplateGadget.findAll", query = "SELECT p FROM PageTemplateGadget p"),
+    @NamedQuery(name = "PageTemplateGadget.findByPageTemplateGadgetId", query = "SELECT p FROM PageTemplateGadget p WHERE p.pageTemplateGadgetId = :pageTemplateGadgetId")
+})
+public class PageTemplateGadget implements Serializable, Comparable<PageTemplateGadget>
+{
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "PageTemplateGadgetSeq")
+    @Column(name = "PAGE_TEMPLATE_GADGET_ID")
+    private Long pageTemplateGadgetId;
+
+    @JoinColumn(name = "PAGE_TEMPLATE_REGION_ID", referencedColumnName = "PAGE_TEMPLATE_REGION_ID")
+    @ManyToOne(optional = false)
+    private PageTemplateRegion pageTemplateRegion;
+
+    @Basic(optional = false)
+    @Column(name = "RENDER_SEQ")
+    private long renderSeq;
+
+    @JoinColumn(name = "GADGET_ID", referencedColumnName = "GADGET_ID")
+    @ManyToOne(optional = false)
+    private Gadget gadget;    
+
+    public PageTemplateGadget() {
+    }
+
+    public PageTemplateGadget(Long pageTemplateGadgetId) {
+        this.pageTemplateGadgetId = pageTemplateGadgetId;
+    }    
+
+    public Long getPageTemplateGadgetId() {
+        return pageTemplateGadgetId;
+    }
+
+    public void setPageTemplateGadgetId(Long pageTemplateGadgetId) {
+        this.pageTemplateGadgetId = pageTemplateGadgetId;
+    }   
+
+    public long getRenderSeq() {
+        return renderSeq;
+    }
+
+    public void setRenderSeq(long renderSeq) {
+        this.renderSeq = renderSeq;
+    }
+
+    public Gadget getGadget() {
+        return gadget;
+    }
+
+    public void setGadget(Gadget gadget) {
+        this.gadget = gadget;
+    }
+
+    public PageTemplateRegion getPageTemplateRegion() {
+        return pageTemplateRegion;
+    }
+
+    public void setPageTemplateRegion(PageTemplateRegion pageTemplateRegion) {
+        this.pageTemplateRegion = pageTemplateRegion;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (pageTemplateGadgetId != null ? pageTemplateGadgetId.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof PageTemplateGadget)) {
+            return false;
+        }
+        PageTemplateGadget other = (PageTemplateGadget) object;
+        if (this.pageTemplateGadgetId == null ||
+            other.getPageTemplateGadgetId() == null ||
+            !this.pageTemplateGadgetId.equals(other.getPageTemplateGadgetId()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.PageTemplateGadget[pageTemplateGadgetId=" + pageTemplateGadgetId + "]";
+    }
+
+    // compareTo uses the gadget title to sort alphabetically
+    @Override
+    public int compareTo(PageTemplateGadget o) {
+        String thisTitle = (this != null && this.gadget != null) ? this.gadget.getTitle() : "";
+        String otherTitle = (o != null && o.gadget != null) ? o.gadget.getTitle() : "";
+        return thisTitle.compareTo(otherTitle);
+    }
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateGadget.java
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateOwnerType.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateOwnerType.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateOwnerType.java (added)
+++ incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateOwnerType.java Fri Apr  1 16:42:22 2011
@@ -0,0 +1,124 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.model;
+
+import java.io.Serializable;
+import java.util.List;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@Entity
+@Table(name = "PAGE_TEMPLATE_OWNER_TYPE")
+@NamedQueries({
+    @NamedQuery(name = "PageTemplateOwnerType.findAll", query = "SELECT p FROM PageTemplateOwnerType p ORDER BY p.name"),
+    @NamedQuery(name = "PageTemplateOwnerType.findByCode", query = "SELECT p FROM PageTemplateOwnerType p WHERE p.code = :code")
+})
+public class PageTemplateOwnerType implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+    @Id
+    @Basic(optional = false)
+    @Column(name = "CODE")
+    private String code;
+
+    @Basic(optional = false)
+    @Column(name = "NAME")
+    private String name;    
+
+    @OneToMany(cascade = CascadeType.ALL, mappedBy = "pageTemplateOwnerType")
+    @OrderBy("renderSeq, name")
+    private List<PageTemplate> pageTemplateList;
+
+    public PageTemplateOwnerType() {
+    }
+
+    public PageTemplateOwnerType(String code) {
+        this.code = code;
+    }
+
+    public PageTemplateOwnerType(String code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List<PageTemplate> getPageTemplateList() {
+        return pageTemplateList;
+    }
+
+    public void setPageTemplateList(List<PageTemplate> pageTemplateList) {
+        this.pageTemplateList = pageTemplateList;
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 0;
+        hash += (code != null ? code.hashCode() : 0);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(Object object) {
+        if (!(object instanceof PageTemplateOwnerType)) {
+            return false;
+        }
+        PageTemplateOwnerType other = (PageTemplateOwnerType) object;
+        if (this.code == null ||
+            other.getCode() == null ||
+            !this.code.equals(other.getCode()))
+        {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "org.mitre.portal.model.PageTemplateOwnerType[code=" + code + "]";
+    }
+
+}

Propchange: incubator/rave/donations/mitre-osec/src/org/mitre/portal/model/PageTemplateOwnerType.java
------------------------------------------------------------------------------
    svn:executable = *