org.jsoup.helper.StringUtil Java Examples
The following examples show how to use
org.jsoup.helper.StringUtil.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source Project: WeEvent Author: WeBankFinTech File: RuleDatabaseService.java License: Apache License 2.0 | 6 votes |
public List<RuleDatabaseEntity> getRuleDataBaseList(HttpServletRequest request, RuleDatabaseEntity ruleDatabaseEntity) throws GovernanceException { try { ruleDatabaseEntity.setSystemTag(false); Example<RuleDatabaseEntity> entityExample = Example.of(ruleDatabaseEntity); List<RuleDatabaseEntity> ruleDatabaseEntityList = ruleDatabaseRepository.findAll(entityExample); ruleDatabaseEntityList.forEach(ruleDataBase -> { String dataBaseUrl = ruleDataBase.getDatabaseUrl(); if (StringUtil.isBlank(ruleDataBase.getOptionalParameter())) { ruleDataBase.setDatabaseUrl(dataBaseUrl); } else { ruleDataBase.setDatabaseUrl(dataBaseUrl + "?" + ruleDataBase.getOptionalParameter()); } }); return ruleDatabaseEntityList; } catch (Exception e) { log.error("get ruleDatabaseList fail", e); throw new GovernanceException("get ruleDatabaseList fail", e); } }
Example #2
Source Project: WeEvent Author: WeBankFinTech File: RuleEngineService.java License: Apache License 2.0 | 6 votes |
private void checkStartRuleRequired(RuleEngineEntity rule) throws GovernanceException { if (StringUtil.isBlank(rule.getRuleName())) { log.error("the ruleName is empty"); throw new GovernanceException("the ruleName is empty"); } if (rule.getUserId() == null) { log.error("the userId is empty"); throw new GovernanceException("the userId is empty"); } if (rule.getBrokerId() == null) { log.error("the brokerId is empty"); throw new GovernanceException("the brokerId is empty"); } if (StringUtil.isBlank(rule.getBrokerUrl())) { log.error("the brokerUrl is empty"); throw new GovernanceException("the brokerUrl is empty"); } this.checkField(rule); }
Example #3
Source Project: WeEvent Author: WeBankFinTech File: RuleEngineService.java License: Apache License 2.0 | 6 votes |
private void setRuleDataBaseUrl(RuleEngineEntity rule) { if (rule.getRuleDataBaseId() == null) { return; } RuleDatabaseEntity ruleDataBase = ruleDatabaseRepository.findById(rule.getRuleDataBaseId()); if (ruleDataBase != null) { String dbUrl = ruleDataBase.getDatabaseUrl() + "?user=" + ruleDataBase.getUsername() + "&password=" + ruleDataBase.getPassword() + "&tableName=" + rule.getTableName(); if (!StringUtil.isBlank(ruleDataBase.getOptionalParameter())) { dbUrl = dbUrl + "&" + ruleDataBase.getOptionalParameter(); } rule.setDatabaseUrl(dbUrl); rule.setDatabaseType(ruleDataBase.getDatabaseType()); log.info("dataBaseUrl:{}", rule.getDatabaseUrl()); } }
Example #4
Source Project: hybris-commerce-eclipse-plugin Author: SAP File: AbstractHACCommunicationManager.java License: Apache License 2.0 | 6 votes |
/** * Send HTTP GET request to {@link #endpointUrl}, updates {@link #csrfToken} * token * * @return true if {@link #endpointUrl} is accessible * @throws IOException * @throws ClientProtocolException * @throws AuthenticationException */ protected void fetchCsrfTokenFromHac() throws ClientProtocolException, IOException, AuthenticationException { final HttpGet getRequest = new HttpGet(getEndpointUrl()); try { final HttpResponse response = httpClient.execute(getRequest, getContext()); final String responseString = new BasicResponseHandler().handleResponse(response); csrfToken = getCsrfToken(responseString); if (StringUtil.isBlank(csrfToken)) { throw new AuthenticationException(ErrorMessage.CSRF_TOKEN_CANNOT_BE_OBTAINED); } } catch (UnknownHostException error) { final String errorMessage = error.getMessage(); final Matcher matcher = HACPreferenceConstants.HOST_REGEXP_PATTERN.matcher(getEndpointUrl()); if (matcher.find() && matcher.group(1).equals(errorMessage)) { throw new UnknownHostException( String.format(ErrorMessage.UNKNOWN_HOST_EXCEPTION_MESSAGE_FORMAT, matcher.group(1))); } throw error; } }
Example #5
Source Project: eclipse.jdt.ls Author: eclipse File: HtmlToPlainText.java License: Eclipse Public License 2.0 | 6 votes |
@Override public void head(Node node, int depth) { String name = node.nodeName(); if (node instanceof TextNode) { append(((TextNode) node).text()); // TextNodes carry all user-readable text in the DOM. } else if (name.equals("ul")) { listNesting++; } else if (name.equals("li")) { append("\n "); for (int i = 1; i < listNesting; i++) { append(" "); } if (listNesting == 1) { append("* "); } else { append("- "); } } else if (name.equals("dt")) { append(" "); } else if (StringUtil.in(name, "p", "h1", "h2", "h3", "h4", "h5", "tr")) { append("\n"); } }
Example #6
Source Project: astor Author: SpoonLabs File: Element.java License: GNU General Public License v2.0 | 6 votes |
/** * Get a CSS selector that will uniquely select this element. * <p> * If the element has an ID, returns #id; * otherwise returns the parent (if any) CSS selector, followed by {@literal '>'}, * followed by a unique selector for the element (tag.class.class:nth-child(n)). * </p> * * @return the CSS Path that can be used to retrieve the element in a selector. */ public String cssSelector() { if (id().length() > 0) return "#" + id(); // Translate HTML namespace ns:tag to CSS namespace syntax ns|tag String tagName = tagName().replace(':', '|'); StringBuilder selector = new StringBuilder(tagName); String classes = StringUtil.join(classNames(), "."); if (classes.length() > 0) selector.append('.').append(classes); if (parent() == null || parent() instanceof Document) // don't add Document to selector, as will always have a html node return selector.toString(); selector.insert(0, " > "); if (parent().select(selector.toString()).size() > 1) selector.append(String.format( ":nth-child(%d)", elementSiblingIndex() + 1)); return parent().cssSelector() + selector.toString(); }
Example #7
Source Project: astor Author: SpoonLabs File: HtmlParserTest.java License: GNU General Public License v2.0 | 6 votes |
@Test public void handlesInvalidDoctypes() { // would previously throw invalid name exception on empty doctype Document doc = Jsoup.parse("<!DOCTYPE>"); assertEquals( "<!doctype> <html> <head></head> <body></body> </html>", StringUtil.normaliseWhitespace(doc.outerHtml())); doc = Jsoup.parse("<!DOCTYPE><html><p>Foo</p></html>"); assertEquals( "<!doctype> <html> <head></head> <body> <p>Foo</p> </body> </html>", StringUtil.normaliseWhitespace(doc.outerHtml())); doc = Jsoup.parse("<!DOCTYPE \u0000>"); assertEquals( "<!doctype �> <html> <head></head> <body></body> </html>", StringUtil.normaliseWhitespace(doc.outerHtml())); }
Example #8
Source Project: astor Author: SpoonLabs File: Tokeniser.java License: GNU General Public License v2.0 | 6 votes |
/** * Utility method to consume reader and unescape entities found within. * @param inAttribute * @return unescaped string from reader */ String unescapeEntities(boolean inAttribute) { StringBuilder builder = StringUtil.stringBuilder(); while (!reader.isEmpty()) { builder.append(reader.consumeTo('&')); if (reader.matches('&')) { reader.consume(); int[] c = consumeCharacterReference(null, inAttribute); if (c == null || c.length==0) builder.append('&'); else { builder.appendCodePoint(c[0]); if (c.length == 2) builder.appendCodePoint(c[1]); } } } return builder.toString(); }
Example #9
Source Project: WeEvent Author: WeBankFinTech File: CommonService.java License: Apache License 2.0 | 5 votes |
public static Map<String, String> uRLRequest(String URL) { Map<String, String> mapRequest = new HashMap<>(); if (StringUtil.isBlank(URL)) { return mapRequest; } String[] arrSplit = URL.split("[?]"); mapRequest.put("dataBaseUrl", arrSplit[0]); if (arrSplit.length > 1) { mapRequest.put("optionalParameter", arrSplit[1]); } return mapRequest; }
Example #10
Source Project: astor Author: SpoonLabs File: HtmlTreeBuilder.java License: GNU General Public License v2.0 | 5 votes |
private void clearStackToContext(String... nodeNames) { for (int pos = stack.size() -1; pos >= 0; pos--) { Element next = stack.get(pos); if (StringUtil.in(next.nodeName(), nodeNames) || next.nodeName().equals("html")) break; else stack.remove(pos); } }
Example #11
Source Project: xsoup Author: code4craft File: XTokenQueue.java License: MIT License | 5 votes |
public static String trimQuotes(String str) { Validate.isTrue(str != null && str.length() > 0); String quote = str.substring(0, 1); if (StringUtil.in(quote, "\"", "'")) { Validate.isTrue(str.endsWith(quote), "Quote" + " for " + str + " is incomplete!"); str = str.substring(1, str.length() - 1); } return str; }
Example #12
Source Project: WeEvent Author: WeBankFinTech File: RuleEngineService.java License: Apache License 2.0 | 5 votes |
private String parsingDetailSQL(RuleEngineEntity engineEntity) { StringBuffer buffer = new StringBuffer(); if (StringUtil.isBlank(engineEntity.getFromDestination())) { return null; } //get ruleEngineConditionList String selectField = StringUtil.isBlank(engineEntity.getSelectField()) ? ConstantProperties.ASTERISK : engineEntity.getSelectField(); buffer.append("SELECT ").append(selectField).append(" FROM").append(" ").append(engineEntity.getFromDestination()); if (!StringUtil.isBlank(engineEntity.getConditionField())) { buffer.append(" WHERE ").append(engineEntity.getConditionField()); } return buffer.toString(); }
Example #13
Source Project: astor Author: SpoonLabs File: HtmlTreeBuilder.java License: GNU General Public License v2.0 | 5 votes |
void popStackToClose(String... elNames) { for (int pos = stack.size() -1; pos >= 0; pos--) { Element next = stack.get(pos); stack.remove(pos); if (StringUtil.in(next.nodeName(), elNames)) break; } }
Example #14
Source Project: jsoup-learning Author: code4craft File: DocumentType.java License: MIT License | 5 votes |
@Override void outerHtmlHead(StringBuilder accum, int depth, Document.OutputSettings out) { accum.append("<!DOCTYPE ").append(attr("name")); if (!StringUtil.isBlank(attr("publicId"))) accum.append(" PUBLIC \"").append(attr("publicId")).append("\""); if (!StringUtil.isBlank(attr("systemId"))) accum.append(" \"").append(attr("systemId")).append("\""); accum.append('>'); }
Example #15
Source Project: astor Author: SpoonLabs File: UrlConnectTest.java License: GNU General Public License v2.0 | 5 votes |
@Test public void fetchHandlesXmlAsHtmlWhenParserSet() throws IOException { // should auto-detect xml and use XML parser, unless explicitly requested the html parser String xmlUrl = "http://direct.infohound.net/tools/parse-xml.xml"; Connection con = Jsoup.connect(xmlUrl).parser(Parser.htmlParser()); Document doc = con.get(); Connection.Request req = con.request(); assertTrue(req.parser().getTreeBuilder() instanceof HtmlTreeBuilder); assertEquals("<html> <head></head> <body> <xml> <link>one <table> Two </table> </xml> </body> </html>", StringUtil.normaliseWhitespace(doc.outerHtml())); }
Example #16
Source Project: intellij-quarkus Author: redhat-developer File: HtmlToPlainText.java License: Eclipse Public License 2.0 | 5 votes |
@Override public void tail(Node node, int depth) { String name = node.nodeName(); if (StringUtil.in(name, "br", "dd", "dt", "p", "h1", "h2", "h3", "h4", "h5")) { append("\n"); } else if (StringUtil.in(name, "th", "td")) { append(" "); } else if (name.equals("a")) { append(String.format(" <%s>", node.absUrl("href"))); } else if (name.equals("ul")) { listNesting--; } }
Example #17
Source Project: astor Author: SpoonLabs File: TokenQueue.java License: GNU General Public License v2.0 | 5 votes |
/** * Unescaped a \ escaped string. * @param in backslash escaped string * @return unescaped string */ public static String unescape(String in) { StringBuilder out = StringUtil.stringBuilder(); char last = 0; for (char c : in.toCharArray()) { if (c == ESC) { if (last != 0 && last == ESC) out.append(c); } else out.append(c); last = c; } return out.toString(); }
Example #18
Source Project: firebase-android-sdk Author: firebase File: HtmlToPlainText.java License: Apache License 2.0 | 5 votes |
public void tail(Node node, int depth) { String name = node.nodeName(); if (StringUtil.in(name, "br", "dd", "dt", "p", "h1", "h2", "h3", "h4", "h5")) append("\n"); else if (name.equals("a")) append(String.format(" <%s>", node.absUrl("href"))); }
Example #19
Source Project: jsoup-learning Author: code4craft File: HtmlTreeBuilder.java License: MIT License | 5 votes |
boolean inSelectScope(String targetName) { Iterator<Element> it = stack.descendingIterator(); while (it.hasNext()) { Element el = it.next(); String elName = el.nodeName(); if (elName.equals(targetName)) return true; if (!StringUtil.in(elName, "optgroup", "option")) // all elements except return false; } Validate.fail("Should not be reachable"); return false; }
Example #20
Source Project: astor Author: SpoonLabs File: HtmlParserTest.java License: GNU General Public License v2.0 | 5 votes |
@Test public void caseSensitiveParseTree() { String html = "<r><X>A</X><y>B</y></r>"; Parser parser = Parser.htmlParser(); parser.settings(ParseSettings.preserveCase); Document doc = parser.parseInput(html, ""); assertEquals("<r> <X> A </X> <y> B </y> </r>", StringUtil.normaliseWhitespace(doc.body().html())); }
Example #21
Source Project: lemminx Author: eclipse File: HtmlToPlainText.java License: Eclipse Public License 2.0 | 5 votes |
private void append(String text) { if (text.equals(" ") && (accum.length() == 0 || StringUtil.in(accum.substring(accum.length() - 1), " ", "\n"))) { return; // don't accumulate long runs of empty spaces } accum.append(text); }
Example #22
Source Project: kyoko Author: KyokoBot File: RemoveCommand.java License: MIT License | 5 votes |
@Override public void execute(@NotNull @Nonnull CommandContext context) { var state = context.selfVoiceState(); if (state != null && state.channel() != null) { MusicPlayer player = musicManager.getMusicPlayer(context.guild()); MusicQueue queue = musicManager.getQueue(context.guild()); if (!player.isConnected()) { context.error("music.queueempty", Map.of("prefix", context.prefix())); musicManager.dispose(context.guild()); } if (context.hasArgs()) { String query = context.concatArgs().trim(); if (StringUtil.isNumeric(query)) { int index = parseUnsignedInt(query, BASE_TEN) - 1; if ((index < 0) || (index >= queue.getTracks().size())) { context.error("music.invalidindex", Map.of("index", query)); } else { context.send(MusicIcons.REMOVE + context.icu("music.removed", Map.of("song", markdown(queue.getTracks().get(index).getAudioTrack().getInfo().title)))); queue.remove(index); } return; } else if (query.equals("~")) { queue.removeDuplicates(); context.send(MusicIcons.REMOVE + context.translated("music.remove.duplicates")); return; } else if (query.matches("<@([0-9])+>")) { String trimmedQuery = query.substring(2, query.length() - 1); queue.removeUser(trimmedQuery); context.send(MusicIcons.REMOVE + context.icu("music.remove.user", Map.of("user", query))); return; } } CommonErrors.usage(context); } else { context.error(context.translated("music.joinchannel")); } }
Example #23
Source Project: dkpro-c4corpus Author: dkpro File: ParagraphsExplorer.java License: Apache License 2.0 | 5 votes |
@Override public void head(Node node, int depth) { if (node.childNodeSize() == 0) { if (node instanceof TextNode && StringUtil.isBlank(node.outerHtml())) { return; } mergeToResult(node); nodes.add(node); } }
Example #24
Source Project: astor Author: SpoonLabs File: HtmlParserTest.java License: GNU General Public License v2.0 | 5 votes |
@Test public void doesNotFindShortestMatchingEntity() { // previous behaviour was to identify a possible entity, then chomp down the string until a match was found. // (as defined in html5.) However in practise that lead to spurious matches against the author's intent. String html = "One &clubsuite; ♣"; Document doc = Jsoup.parse(html); assertEquals(StringUtil.normaliseWhitespace("One &clubsuite; ♣"), doc.body().html()); }
Example #25
Source Project: hybris-commerce-eclipse-plugin Author: SAP File: AbstractHACCommunicationManager.java License: Apache License 2.0 | 5 votes |
/** * Retrieves csrf token from response body * * @param responseBody * response body of GET method * @return csrf token * @throws AuthenticationException */ protected String getCsrfToken(String responseBody) throws AuthenticationException { if (StringUtil.isBlank(responseBody)) { throw new AuthenticationException(ErrorMessage.CSRF_RESPONSE_CANNOT_BE_BLANK); } final Document document = Jsoup.parse(responseBody); return document.select(Meta.CSRF_META_TAG).attr(Meta.CSRF_META_TAG_CONTENT); }
Example #26
Source Project: astor Author: SpoonLabs File: HtmlParserTest.java License: GNU General Public License v2.0 | 5 votes |
@Test public void doesNotFindShortestMatchingEntity() { // previous behaviour was to identify a possible entity, then chomp down the string until a match was found. // (as defined in html5.) However in practise that lead to spurious matches against the author's intent. String html = "One &clubsuite; ♣"; Document doc = Jsoup.parse(html); assertEquals(StringUtil.normaliseWhitespace("One &clubsuite; ♣"), doc.body().html()); }
Example #27
Source Project: Shaarlier Author: dimtion File: RestAPINetworkManager.java License: GNU General Public License v3.0 | 5 votes |
@Override public Link prefetchLinkData(Link link) throws IOException { // TODO: There might be some bugs here, e.g: // - If the scheme used is not the same that on the saved link // - If there are tracking tags that don't match // We might want to open an Issue on Shaarli to get feedback String url = new URL(this.mAccount.getUrlShaarli() + LINK_URL).toExternalForm(); String body = this.newConnection(url, Connection.Method.GET) .data("offset", "0") .data("limit", "1") .data("searchterm", link.getUrl()) .execute() .body(); Log.d("RestAPI:prefetch", body); Link updatedLink = new Link(link); try { JSONArray resp = new JSONArray(body); if (resp.length() < 1) { Log.i("RestAPI:prefetch", "New link"); } else { Log.i("RestAPI:prefetch", "Found 1 link result (not new link)"); JSONObject returnedLink = resp.getJSONObject(0); updatedLink.setUrl(returnedLink.getString("url")); updatedLink.setTitle(returnedLink.getString("title")); updatedLink.setDescription(returnedLink.getString("description")); updatedLink.setPrivate(returnedLink.getBoolean("private")); JSONArray jsonTags = returnedLink.getJSONArray("tags"); ArrayList<String> tags = new ArrayList<>(); for (int i = 0; i < jsonTags.length(); i++) { tags.add(jsonTags.getString(i)); } updatedLink.setTags(StringUtil.join(tags, ", ")); } } catch (JSONException e) { Log.e("RestAPI:prefetch", e.toString()); } return updatedLink; }
Example #28
Source Project: astor Author: SpoonLabs File: HtmlTreeBuilder.java License: GNU General Public License v2.0 | 5 votes |
void popStackToClose(String... elNames) { for (int pos = stack.size() -1; pos >= 0; pos--) { Element next = stack.get(pos); stack.remove(pos); if (StringUtil.in(next.nodeName(), elNames)) break; } }
Example #29
Source Project: astor Author: SpoonLabs File: HtmlTreeBuilder.java License: GNU General Public License v2.0 | 5 votes |
private void clearStackToContext(String... nodeNames) { for (int pos = stack.size() -1; pos >= 0; pos--) { Element next = stack.get(pos); if (StringUtil.in(next.nodeName(), nodeNames) || next.nodeName().equals("html")) break; else stack.remove(pos); } }
Example #30
Source Project: astor Author: SpoonLabs File: HtmlParserTest.java License: GNU General Public License v2.0 | 5 votes |
@Test public void selfClosingOnNonvoidIsError() { String html = "<p>test</p><div /><div>Two</div>"; Parser parser = Parser.htmlParser().setTrackErrors(5); parser.parseInput(html, ""); assertEquals(1, parser.getErrors().size()); assertEquals("18: Tag cannot be self closing; not a void tag", parser.getErrors().get(0).toString()); assertFalse(Jsoup.isValid(html, Whitelist.relaxed())); String clean = Jsoup.clean(html, Whitelist.relaxed()); assertEquals("<p>test</p> <div></div> <div> Two </div>", StringUtil.normaliseWhitespace(clean)); }