//
// 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.web.svclayer.support;

import org.opennms.web.svclayer.SurveillanceService;
import org.opennms.web.svclayer.SurveillanceTable;
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;

public class DefaultSurveillanceServiceIntegrationTest extends AbstractTransactionalDataSourceSpringContextTests {
    
    private SurveillanceService m_surveillanceService;
    
    
    /**
     * This parm gets autowired from the application context by TDSCT (the base class for this test)
     * pretty cool Spring Framework trickery
     * @param svc
     */
    public void setSurveillanceService(SurveillanceService svc) {
        m_surveillanceService = svc;
    }

    @Override
    protected String[] getConfigLocations() {
        return new String[] {
                "META-INF/opennms/applicationContext-dao.xml",
                "org/opennms/web/svclayer/applicationContext-svclayer.xml" };
    }
    
    public void testCreateSurveillanceServiceTableUsingViewName() {
        String viewName = "default";
        SurveillanceTable table = m_surveillanceService.createSurveillanceTable(viewName);
        
        assertEquals("default", table.getLabel());
    }

}

@@ -1414,16 +1414,315 @@
 pport;%0A%0A
+import java.io.FileReader;%0A%0Aimport org.opennms.netmgt.config.C3P0ConnectionFactory;%0Aimport org.opennms.netmgt.config.CategoryFactory;%0Aimport org.opennms.netmgt.config.DataSourceFactory;%0Aimport org.opennms.netmgt.config.SurveillanceViewsFactory;%0Aimport org.opennms.netmgt.config.ViewsDisplayFactory;%0A
 import o
@@ -2082,24 +2082,796 @@
 ;%0A    %0A    %0A
+    %0A    public DefaultSurveillanceServiceIntegrationTest() throws Exception %7B%0A        SurveillanceViewsFactory.setInstance(new SurveillanceViewsFactory(%22../opennms-daemon/src/main/filtered/etc/surveillance-views.xml%22));%0A        /*%0A         * Note: I'm using the opennms-database.xml file in target/classes/etc%0A         * so that it has been filtered first.%0A         */%0A        DataSourceFactory.setInstance(new C3P0ConnectionFactory(%22../opennms-daemon/target/classes/etc/opennms-database.xml%22));%0A        CategoryFactory.setInstance(new CategoryFactory(new FileReader(%22../opennms-daemon/src/main/filtered/etc/categories.xml%22)));%0A        ViewsDisplayFactory.setInstance(new ViewsDisplayFactory(%22../opennms-daemon/src/main/filtered/etc/viewsdisplay.xml%22));%0A%0A    %7D%0A    %0A    %0A
     /**%0A    

make sure the test runs