1 /*** 2 * Copyright (C) 2008 Jeremy Thomerson (jthomerson@users.sourceforge.net) 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package net.sf.vcaperture.web.models; 18 19 import java.util.ArrayList; 20 21 import net.sf.vcaperture.model.AbstractRepository; 22 import net.sf.vcaperture.model.IApplicationContext; 23 import net.sf.vcaperture.services.IRepositoryService; 24 import net.sf.vcaperture.util.spring.ApplicationContextFactory; 25 26 import org.apache.wicket.model.IModel; 27 import org.apache.wicket.model.LoadableDetachableModel; 28 29 public class RepositoryListModel extends LoadableDetachableModel implements IModel { 30 private static final long serialVersionUID = 1L; 31 32 @Override 33 protected Object load() { 34 ApplicationContextFactory factory = ApplicationContextFactory.getFactory(); 35 IApplicationContext context = factory.getContext(); 36 IRepositoryService svc = context.getBean(IRepositoryService.class); 37 return new ArrayList<AbstractRepository>(svc.getRepositories()); 38 } 39 40 }