当前位置: 首页>>代码示例>>Java>>正文


Java UriBuilder.path方法代码示例

本文整理汇总了Java中javax.ws.rs.core.UriBuilder.path方法的典型用法代码示例。如果您正苦于以下问题:Java UriBuilder.path方法的具体用法?Java UriBuilder.path怎么用?Java UriBuilder.path使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.ws.rs.core.UriBuilder的用法示例。


在下文中一共展示了UriBuilder.path方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: save

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
@Consumes(MediaType.APPLICATION_JSON)
@Path("/{projectName}/statuses/{commit}")
   @POST
   public Response save(@PathParam("projectName") String projectName, @PathParam("commit") String commit, 
   		Map<String, String> commitStatus, @Context UriInfo uriInfo) {

	Project project = getProject(projectName);
   	if (!SecurityUtils.canWrite(project))
   		throw new UnauthorizedException();
   	
   	String state = commitStatus.get("state").toUpperCase();
   	if (state.equals("PENDING"))
   		state = "RUNNING";
   	Verification verification = new Verification(Verification.Status.valueOf(state), 
   			new Date(), commitStatus.get("description"), commitStatus.get("target_url"));
   	String context = commitStatus.get("context");
   	if (context == null)
   		context = "default";
   	verificationManager.saveVerification(project, commit, context, verification);
   	UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder();
   	uriBuilder.path(context);
   	commitStatus.put("id", "1");
   	
   	return Response.created(uriBuilder.build()).entity(commitStatus).type(RestConstants.JSON_UTF8).build();
   }
 
开发者ID:jmfgdev,项目名称:gitplex-mit,代码行数:26,代码来源:CommitStatusResource.java

示例2: findURI

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
private static URI findURI(MethodFinder method, Object... params) {
	Method m = method.method();
	
	UriInfo uriInfo = ResteasyProviderFactory.getContextData(UriInfo.class);
	
	UriBuilder builder = uriInfo.getBaseUriBuilder().path(m.getDeclaringClass());
	if(m.isAnnotationPresent(Path.class))
		builder.path(m);
	return builder.build(params);
}
 
开发者ID:FroMage,项目名称:redpipe,代码行数:11,代码来源:Router.java

示例3: exec

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
@Override
public Object exec(List arguments) throws TemplateModelException {
	if(arguments == null || arguments.size() < 1)
		throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
	Object arg0 = arguments.get(0);
	if(arg0 instanceof SimpleScalar != true)
		throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
	String arg1 = ((SimpleScalar)arg0).getAsString();
	int dot = arg1.indexOf('.');
	if(dot == -1)
		throw new TemplateModelException("Syntax: route('Class.method', arg1, arg2…)");
	String klass = arg1.substring(0, dot);
	String method = arg1.substring(dot+1);
	
	for (Class resource : AppGlobals.get().getDeployment().getActualResourceClasses()) {
		dot = resource.getName().lastIndexOf('.');
		String shortName = dot == -1 ? resource.getName() : resource.getName().substring(dot+1);
		if(shortName.equals(klass)) {
			for (Method m : resource.getMethods()) {
				// FIXME: overloading?
				if(m.getName().equals(method)
						&& Modifier.isPublic(m.getModifiers())) {
					UriInfo uriInfo = ResteasyProviderFactory.getContextData(UriInfo.class);
					UriBuilder builder = uriInfo.getBaseUriBuilder().path(resource);
					if(m.isAnnotationPresent(Path.class))
						builder.path(m);
					Object[] params = arguments.subList(1, arguments.size()).toArray();
					return builder.build(params).toString();
				}
			}
			throw new TemplateModelException("Could not find method named "+method+" in resource class "+resource.getName());
		}
	}
	throw new TemplateModelException("Could not find resource class named "+klass);
}
 
开发者ID:FroMage,项目名称:redpipe,代码行数:36,代码来源:RouterFunction.java

示例4: getMethodUriBuilder

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
@Override
public UriBuilder getMethodUriBuilder(Class<?> resource, String method)
{
	try
	{
		UriBuilder builder = UriBuilder.fromUri(institutionService.getInstitutionUrl().toURI());
		builder.path("api");
		return builder.path(resource).path(resource, method);
	}
	catch( URISyntaxException e )
	{
		throw new RuntimeException(e);
	}
}
 
开发者ID:equella,项目名称:Equella,代码行数:15,代码来源:UrlLinkServiceImpl.java

示例5: getPageUrl

import javax.ws.rs.core.UriBuilder; //导入方法依赖的package包/类
/**
 * Get the URL defined by the specified {@link PageUrl} annotation.
 * <p>
 * <b>NOTES</b>: <ul>
 *     <li>If the {@code pageUrl} argument is {@code null} or the {@code value} element of the specified
 *         {@link PageUrl} annotation is unspecified, this method returns {@code null}.
 *     <li>If {@code scheme} of the specified {@code pageUrl} argument is unspecified or set to {@code http/https},
 *         the specified {@code targetUri} is overlaid by the elements of the {@link PageUrl} annotation to
 *         produce the fully-qualified <b>HTTP</b> target page URL.</li>
 *     <li>For <b>HTTP</b> URLs that require query parameters, these parameters must be included in the
 *         {@code value} element of the specified {@link PageUrl} annotation. The {@code params} element of the
 *         annotation is only used for pattern-based landing page verification.</li>
 *     <li>If {@code scheme} of the specified {@code pageUrl} is set to {@code file}, the value of the
 *         {@code targetUri} argument is ignored. The only element of the {@link PageUrl} annotation that
 *         is used to produce the fully-qualified <b>FILE</b> target page URL is {@code value}. The value of the
 *         {@code value} element specifies the relative path of a file within your project's resources, which is
 *         resolved via {@link ClassLoader#getResource}.</li>
 * </ul>
 * 
 * @param pageUrl page URL annotation
 * @param targetUri target URI
 * @return defined page URL as a string (may be 'null')
 */
public static String getPageUrl(PageUrl pageUrl, URI targetUri) {
    if (pageUrl == null || PLACEHOLDER.equals(pageUrl.value())) {
        return null;
    }
    
    String result = null;
    String scheme = pageUrl.scheme();
    String path = pageUrl.value();
    
    if ("file".equals(scheme)) {
        result = Thread.currentThread().getContextClassLoader().getResource(path).toString();
    } else {
        String userInfo = pageUrl.userInfo();
        String host = pageUrl.host();
        String port = pageUrl.port();
        
        UriBuilder builder = UriBuilder.fromUri(targetUri);
        
        if (!PLACEHOLDER.equals(scheme)) {
            builder.scheme(scheme.isEmpty() ? null : scheme);
        }
        
        if (!path.isEmpty()) {
            builder.path(path);
        }
        
        if (!PLACEHOLDER.equals(userInfo)) {
            builder.userInfo(userInfo.isEmpty() ? null : userInfo);
        }
        
        if (!PLACEHOLDER.equals(host)) {
            builder.host(host.isEmpty() ? null : host);
        }
        
        if (!PLACEHOLDER.equals(port)) {
            builder.port(port.isEmpty() ? -1 : Integer.parseInt(port));
        }
        
        result = builder.build().toString();
    }
    
    return result;
}
 
开发者ID:Nordstrom,项目名称:Selenium-Foundation,代码行数:67,代码来源:ComponentContainer.java


注:本文中的javax.ws.rs.core.UriBuilder.path方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。