
hudson.scm.RepositoryBrowsers Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hudson-core Show documentation
Show all versions of hudson-core Show documentation
Contains the core Hudson code and view files to render HTML.
The newest version!
/*******************************************************************************
*
* Copyright (c) 2004-2009 Oracle Corporation.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*
* Kohsuke Kawaguchi, Daniel Dyer, Stephen Connolly
*
*
*******************************************************************************/
package hudson.scm;
import hudson.model.Descriptor;
import hudson.model.Descriptor.FormException;
import hudson.util.DescriptorList;
import hudson.Extension;
import org.kohsuke.stapler.StaplerRequest;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONObject;
/**
* List of all installed {@link RepositoryBrowsers}.
*
* @author Kohsuke Kawaguchi
*/
public class RepositoryBrowsers {
/**
* List of all installed {@link RepositoryBrowsers}.
*
* @deprecated as of 1.286.
* Use {@link RepositoryBrowser#all()} for read access and {@link Extension} for registration.
*/
public static final List>> LIST = new DescriptorList>((Class)RepositoryBrowser.class);
/**
* Only returns those {@link RepositoryBrowser} descriptors that extend from the given type.
*/
public static List>> filter(Class extends RepositoryBrowser> t) {
List>> r = new ArrayList>>();
for (Descriptor> d : RepositoryBrowser.all())
if(d.isSubTypeOf(t))
r.add(d);
return r;
}
/**
* Creates an instance of {@link RepositoryBrowser} from a form submission.
*
* @deprecated since 2008-06-19.
* Use {@link #createInstance(Class, StaplerRequest, JSONObject, String)}.
*/
public static
T createInstance(Class type, StaplerRequest req, String fieldName) throws FormException {
List>> list = filter(type);
String value = req.getParameter(fieldName);
if(value==null || value.equals("auto"))
return null;
return type.cast(list.get(Integer.parseInt(value)).newInstance(req,null/*TODO*/));
}
/**
* Creates an instance of {@link RepositoryBrowser} from a form submission.
*
* @since 1.227
*/
public static
T createInstance(Class type, StaplerRequest req, JSONObject parent, String fieldName) throws FormException {
JSONObject o = (JSONObject)parent.get(fieldName);
if(o==null) return null;
return req.bindJSON(type,o);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy