List of usage examples for org.apache.commons.lang3 StringUtils substringBefore
public static String substringBefore(final String str, final String separator)
Gets the substring before the first occurrence of a separator.
From source file:org.apache.syncope.ext.saml2lsp.agent.Logout.java
@Override protected void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException { // process POST binding logout response SAML2ReceivedResponseTO receivedResponse = extract( StringUtils.substringBefore(request.getRequestURL().toString(), "/saml2sp"), "saml2sp", request.getRemoteAddr(), request.getInputStream()); doLogout(receivedResponse, request, response); }
From source file:org.apache.syncope.ext.saml2lsp.agent.Metadata.java
@Override protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException { SyncopeClient anonymous = (SyncopeClient) request.getServletContext() .getAttribute(Constants.SYNCOPE_ANONYMOUS_CLIENT); SAML2SPService service = anonymous.getService(SAML2SPService.class); WebClient.client(service).accept(MediaType.APPLICATION_XML_TYPE).type(MediaType.APPLICATION_XML_TYPE); try {//from ww w . j a v a 2 s .com Response metadataResponse = service.getMetadata( StringUtils.substringBefore(request.getRequestURL().toString(), "/saml2sp"), "saml2sp"); response.setContentType(metadataResponse.getMediaType().toString()); IOUtils.copy((InputStream) metadataResponse.getEntity(), response.getOutputStream()); ((InputStream) metadataResponse.getEntity()).close(); } catch (Exception e) { throw new ServletException(e.getMessage()); } }
From source file:org.apache.syncope.fit.core.SCIMITCase.java
@Test public void serviceProviderConfig() { assumeTrue(SCIMDetector.isSCIMAvailable(webClient())); Response response = webClient().path("ServiceProviderConfig").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); ServiceProviderConfig serviceProviderConfig = response.readEntity(ServiceProviderConfig.class); assertNotNull(serviceProviderConfig); assertFalse(serviceProviderConfig.getPatch().isSupported()); assertFalse(serviceProviderConfig.getBulk().isSupported()); assertTrue(serviceProviderConfig.getChangePassword().isSupported()); assertTrue(serviceProviderConfig.getEtag().isSupported()); assertTrue(serviceProviderConfig.getSort().isSupported()); }
From source file:org.apache.syncope.fit.core.SCIMITCase.java
@Test public void resourceTypes() { assumeTrue(SCIMDetector.isSCIMAvailable(webClient())); Response response = webClient().path("ResourceTypes").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); List<ResourceType> resourceTypes = response.readEntity(new GenericType<List<ResourceType>>() { });// w ww .jav a 2 s.com assertNotNull(resourceTypes); assertEquals(2, resourceTypes.size()); response = webClient().path("ResourceTypes").path("User").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); ResourceType user = response.readEntity(ResourceType.class); assertNotNull(user); assertEquals(Resource.User.schema(), user.getSchema()); assertFalse(user.getSchemaExtensions().isEmpty()); }
From source file:org.apache.syncope.fit.core.SCIMITCase.java
@Test public void schemas() { assumeTrue(SCIMDetector.isSCIMAvailable(webClient())); Response response = webClient().path("Schemas").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); ArrayNode schemas = response.readEntity(ArrayNode.class); assertNotNull(schemas);//from w w w . jav a2 s . c om assertEquals(3, schemas.size()); response = webClient().path("Schemas").path("none").get(); assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus()); response = webClient().path("Schemas").path(Resource.EnterpriseUser.schema()).get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); ObjectNode enterpriseUser = response.readEntity(ObjectNode.class); assertNotNull(enterpriseUser); assertEquals(Resource.EnterpriseUser.schema(), enterpriseUser.get("id").textValue()); }
From source file:org.apache.syncope.fit.core.SCIMITCase.java
@Test public void read() throws IOException { assumeTrue(SCIMDetector.isSCIMAvailable(webClient())); Response response = webClient().path("Users").path("missing").get(); assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus()); SCIMError error = response.readEntity(SCIMError.class); assertEquals(Response.Status.NOT_FOUND.getStatusCode(), error.getStatus()); response = webClient().path("Users").path("1417acbe-cbf6-4277-9372-e75e04f97000").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); SCIMUser user = response.readEntity(SCIMUser.class); assertNotNull(user);//from w w w . ja v a 2 s . c om assertEquals("1417acbe-cbf6-4277-9372-e75e04f97000", user.getId()); assertEquals("rossini", user.getUserName()); assertFalse(user.getGroups().isEmpty()); assertFalse(user.getRoles().isEmpty()); response = webClient().path("Users").path("1417acbe-cbf6-4277-9372-e75e04f97000") .query("attributes", "groups").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); user = response.readEntity(SCIMUser.class); assertNotNull(user); assertEquals("1417acbe-cbf6-4277-9372-e75e04f97000", user.getId()); assertNull(user.getUserName()); assertFalse(user.getGroups().isEmpty()); assertTrue(user.getRoles().isEmpty()); }
From source file:org.apache.syncope.fit.core.SCIMITCase.java
@Test public void conf() { assumeTrue(SCIMDetector.isSCIMAvailable(webClient())); SCIMConf conf = scimConfService.get(); assertNotNull(conf);//from ww w . jav a 2s. c o m scimConfService.set(CONF); Response response = webClient().path("Users").path("1417acbe-cbf6-4277-9372-e75e04f97000").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); SCIMUser user = response.readEntity(SCIMUser.class); assertNotNull(user); assertEquals("Rossini, Gioacchino", user.getDisplayName()); }
From source file:org.apache.syncope.fit.core.SCIMITCase.java
@Test public void list() throws IOException { assumeTrue(SCIMDetector.isSCIMAvailable(webClient())); Response response = webClient().path("Groups").query("count", 1100000).get(); assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); SCIMError error = response.readEntity(SCIMError.class); assertEquals(ErrorType.tooMany, error.getScimType()); response = webClient().path("Groups").query("sortBy", "displayName").query("count", 11).get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); ListResponse<SCIMGroup> result = response.readEntity(new GenericType<ListResponse<SCIMGroup>>() { });/*w ww . j av a 2s. com*/ assertNotNull(result); assertTrue(result.getTotalResults() > 0); assertEquals(11, result.getItemsPerPage()); assertFalse(result.getResources().isEmpty()); result.getResources().forEach(group -> { assertNotNull(group.getId()); assertNotNull(group.getDisplayName()); }); }
From source file:org.apache.syncope.fit.core.SCIMITCase.java
@Test public void search() { assumeTrue(SCIMDetector.isSCIMAvailable(webClient())); // invalid filter Response response = webClient().path("Groups").query("filter", "invalid").get(); assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); SCIMError error = response.readEntity(SCIMError.class); assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), error.getStatus()); assertEquals(ErrorType.invalidFilter, error.getScimType()); // eq// ww w. j ava 2s . com response = webClient().path("Groups").query("filter", "displayName eq \"additional\"").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); ListResponse<SCIMGroup> groups = response.readEntity(new GenericType<ListResponse<SCIMGroup>>() { }); assertNotNull(groups); assertEquals(1, groups.getTotalResults()); SCIMGroup additional = groups.getResources().get(0); assertEquals("additional", additional.getDisplayName()); // eq via POST SCIMSearchRequest request = new SCIMSearchRequest("displayName eq \"additional\"", null, null, null, null); response = webClient().path("Groups").path("/.search").post(request); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); groups = response.readEntity(new GenericType<ListResponse<SCIMGroup>>() { }); assertNotNull(groups); assertEquals(1, groups.getTotalResults()); additional = groups.getResources().get(0); assertEquals("additional", additional.getDisplayName()); // gt UserTO newUser = userService.create(UserITCase.getUniqueSampleTO("scimsearch@syncope.apache.org"), true) .readEntity(new GenericType<ProvisioningResult<UserTO>>() { }).getEntity(); Date value = new Date(newUser.getCreationDate().getTime() - 1000); response = webClient().path("Users") .query("filter", "meta.created gt \"" + DATE_FORMAT.get().format(value) + "\"").get(); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); assertEquals(SCIMConstants.APPLICATION_SCIM_JSON, StringUtils.substringBefore(response.getHeaderString(HttpHeaders.CONTENT_TYPE), ";")); ListResponse<SCIMUser> users = response.readEntity(new GenericType<ListResponse<SCIMUser>>() { }); assertNotNull(users); assertEquals(1, users.getTotalResults()); SCIMUser newSCIMUser = users.getResources().get(0); assertEquals(newUser.getUsername(), newSCIMUser.getUserName()); }
From source file:org.apache.unomi.services.actions.ActionExecutorDispatcher.java
@SuppressWarnings("unchecked") private Map<String, Object> parseMap(Event event, Map<String, Object> map) { Map<String, Object> values = new HashMap<>(); for (Map.Entry<String, Object> entry : map.entrySet()) { Object value = entry.getValue(); if (value instanceof String) { String s = (String) value; try { // check if we have special values if (s.contains(VALUE_NAME_SEPARATOR)) { final String valueType = StringUtils.substringBefore(s, VALUE_NAME_SEPARATOR); final String valueAsString = StringUtils.substringAfter(s, VALUE_NAME_SEPARATOR); final ValueExtractor extractor = valueExtractors.get(valueType); if (extractor != null) { value = extractor.extract(valueAsString, event); }//from w w w . j a v a2 s . c o m } } catch (UnsupportedOperationException e) { throw e; } catch (Exception e) { throw new UnsupportedOperationException(e); } } else if (value instanceof Map) { value = parseMap(event, (Map<String, Object>) value); } values.put(entry.getKey(), value); } return values; }