/** * Get gadget metadata information and iframe url. Support filtering of fields * @param request request parameters * @return gadget metadata nd iframe url * @throws ProcessingException */ public GadgetsHandlerApi.MetadataResponse getMetadata(GadgetsHandlerApi.MetadataRequest request) throws ProcessingException { if (request.getUrl() == null) { throw new ProcessingException("Missing url paramater", HttpResponse.SC_BAD_REQUEST); } if (request.getContainer() == null) { throw new ProcessingException("Missing container paramater", HttpResponse.SC_BAD_REQUEST); } if (request.getFields() == null) { throw new ProcessingException("Missing fields paramater", HttpResponse.SC_BAD_REQUEST); } Set<String> fields = beanFilter.processBeanFields(request.getFields()); GadgetContext context = new MetadataGadgetContext(request); Gadget gadget = processor.process(context); String iframeUrl = (fields.contains("iframeurl") || fields.contains(BeanFilter.ALL_FIELDS)) ? iframeUriManager.makeRenderingUri(gadget).toString() : null; Boolean needsTokenRefresh = (fields.contains("needstokenrefresh") || fields.contains(BeanFilter.ALL_FIELDS)) ? gadget.getAllFeatures().contains("auth-refresh") : null; return createMetadataResponse(context.getUrl(), gadget.getSpec(), iframeUrl, needsTokenRefresh, fields); }
private GadgetsHandlerApi.MetadataRequest createMetadataRequest(Uri url, String container, String view, GadgetsHandlerApi.TokenData token, List<String> fields) { GadgetsHandlerApi.MetadataRequest request = mock(GadgetsHandlerApi.MetadataRequest.class); EasyMock.expect(request.getFields()).andReturn(fields).anyTimes(); EasyMock.expect(request.getView()).andReturn(view).once(); EasyMock.expect(request.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(request.getContainer()).andReturn(container).anyTimes(); EasyMock.expect(request.getToken()).andReturn(token).once(); return request; }
private GadgetsHandlerApi.MetadataRequest createMetadataRequest(Uri url, String container, String view, GadgetsHandlerApi.AuthContext authContext, List<String> fields) { GadgetsHandlerApi.MetadataRequest request = mock(GadgetsHandlerApi.MetadataRequest.class); EasyMock.expect(request.getFields()).andReturn(fields).anyTimes(); EasyMock.expect(request.getView()).andReturn(view).once(); EasyMock.expect(request.getUrl()).andReturn(url).anyTimes(); EasyMock.expect(request.getContainer()).andReturn(container).anyTimes(); EasyMock.expect(request.getAuthContext()).andReturn(authContext).once(); return request; }
throws ProcessingException { verifyBaseParams(request, true); Set<String> fields = beanFilter.processBeanFields(request.getFields());
/** * Get gadget metadata information and iframe url. Support filtering of fields * @param request request parameters * @return gadget metadata nd iframe url * @throws ProcessingException */ public GadgetsHandlerApi.MetadataResponse getMetadata(GadgetsHandlerApi.MetadataRequest request) throws ProcessingException { if (request.getUrl() == null) { throw new ProcessingException("Missing url paramater", HttpResponse.SC_BAD_REQUEST); } if (request.getContainer() == null) { throw new ProcessingException("Missing container paramater", HttpResponse.SC_BAD_REQUEST); } if (request.getFields() == null) { throw new ProcessingException("Missing fields paramater", HttpResponse.SC_BAD_REQUEST); } Set<String> fields = beanFilter.processBeanFields(request.getFields()); GadgetContext context = new MetadataGadgetContext(request); Gadget gadget = processor.process(context); String iframeUrl = (fields.contains("iframeurl") || fields.contains(BeanFilter.ALL_FIELDS)) ? iframeUriManager.makeRenderingUri(gadget).toString() : null; return createMetadataResponse(context.getUrl(), gadget.getSpec(), iframeUrl, fields); }
@Override public String getContainer() { return request.getContainer(); }
@Override public boolean getDebug() { return request.getDebug(); }
@Override public String getContainer() { return request.getContainer(); }
@Override public Uri getUrl() { return request.getUrl(); }
@Override public boolean getIgnoreCache() { return request.getIgnoreCache(); }
@Override public Locale getLocale() { return request.getLocale(); }
@Override public Uri getUrl() { return request.getUrl(); }
@Override public boolean getIgnoreCache() { return request.getIgnoreCache(); }
@Override public Locale getLocale() { return request.getLocale(); }
@Override public Uri getUrl() { return request.getUrl(); }
@Override public boolean getDebug() { return request.getDebug(); }
@Override public String getView() { return request.getView(); }
@Override public String getContainer() { return request.getContainer(); }
@Override public String getView() { return request.getView(); }
@Override public boolean getIgnoreCache() { return request.getIgnoreCache(); }