//
// This file is part of the OpenNMS(R) Application.
//
// OpenNMS(R) is Copyright (C) 2006 The OpenNMS Group, Inc. All rights
// reserved.
// OpenNMS(R) is a derivative work, containing both original code, included
// code and modified
// code that was published under the GNU General Public License. Copyrights
// for modified
// and included code are below.
//
// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
//
// Original code base Copyright (C) 1999-2001 Oculan Corp. All rights
// reserved.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// For more information contact:
// OpenNMS Licensing <license@opennms.org>
// http://www.opennms.org/
// http://www.opennms.com/
//

package org.opennms.netmgt.model;

import java.util.Set;

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.ManyToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name = "applications")
public class OnmsApplication {

    private Integer m_id;

    private String m_name;

    private Set<OnmsMonitoredService> m_memberServices;
    
    @Id
    @SequenceGenerator(name = "opennmsSequence", sequenceName = "opennmsNxtId")
    @GeneratedValue(generator = "opennmsSequence")
    public Integer getId() {
        return m_id;
    }

    public void setId(Integer id) {
        m_id = id;
    }

    @Column(name = "name", length=32, nullable=false, unique=true)
    public String getName() {
        return m_name;
    }

    public void setName(String name) {
        m_name = name;
    }

    @ManyToMany
    @JoinTable(
    		name="application_service_map",
    		joinColumns={@JoinColumn(name="appId")},
    		inverseJoinColumns={@JoinColumn(name="ifserviceId")}
    )
    public Set<OnmsMonitoredService> getMemberServices() {
        return m_memberServices;
    }

    public void setMemberServices(Set<OnmsMonitoredService> memberServices) {
        m_memberServices = memberServices;
    }

}

@@ -1812,16 +1812,55 @@
 lication
+ implements Comparable%3COnmsApplication%3E
  %7B%0A%0A    
@@ -2834,10 +2834,122 @@
 %0A    %7D%0A%0A
+    public int compareTo(OnmsApplication o) %7B%0A        return getName().compareToIgnoreCase(o.getName());%0A    %7D%0A%0A
 %7D%0A

Implement Comparable interface