Example usage for org.apache.commons.lang3 StringUtils substringBefore

List of usage examples for org.apache.commons.lang3 StringUtils substringBefore

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils substringBefore.

Prototype

public static String substringBefore(final String str, final String separator) 

Source Link

Document

Gets the substring before the first occurrence of a separator.

Usage

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;
}