Repository: marmotta Updated Branches: refs/heads/develop 807f37104 -> 9eed47638
http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/SQLBuilder.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/SQLBuilder.java b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/SQLBuilder.java index cebefdb..062ea1c 100644 --- a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/SQLBuilder.java +++ b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/SQLBuilder.java @@ -17,8 +17,8 @@ package org.apache.marmotta.kiwi.sparql.builder; +import com.google.common.base.Joiner; import com.google.common.base.Preconditions; -import org.apache.marmotta.commons.collections.CollectionUtils; import org.apache.marmotta.kiwi.model.rdf.KiWiNode; import org.apache.marmotta.kiwi.persistence.KiWiDialect; import org.apache.marmotta.kiwi.sail.KiWiValueFactory; @@ -650,7 +650,7 @@ public class SQLBuilder { selectClause.append("DISTINCT "); } - selectClause.append(CollectionUtils.fold(projections,", ")); + Joiner.on(", ").appendTo(selectClause, projections); return selectClause; } http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/eval/ValueExpressionEvaluator.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/eval/ValueExpressionEvaluator.java b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/eval/ValueExpressionEvaluator.java index 9bd943e..dee6841 100644 --- a/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/eval/ValueExpressionEvaluator.java +++ b/libraries/kiwi/kiwi-sparql/src/main/java/org/apache/marmotta/kiwi/sparql/builder/eval/ValueExpressionEvaluator.java @@ -17,9 +17,9 @@ package org.apache.marmotta.kiwi.sparql.builder.eval; +import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import org.apache.commons.lang3.StringUtils; -import org.apache.marmotta.commons.collections.CollectionUtils; import org.apache.marmotta.commons.util.DateUtils; import org.apache.marmotta.kiwi.model.rdf.KiWiNode; import org.apache.marmotta.kiwi.sparql.builder.SQLBuilder; @@ -259,7 +259,7 @@ public class ValueExpressionEvaluator extends QueryModelVisitorBase<RuntimeExcep } } builder.append("ARRAY["); - builder.append(CollectionUtils.fold(countVariables,",")); + Joiner.on(',').appendTo(builder, countVariables); builder.append("]"); } else { http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/libraries/ldclient/ldclient-core/src/main/java/org/apache/marmotta/ldclient/services/provider/AbstractHttpProvider.java ---------------------------------------------------------------------- diff --git a/libraries/ldclient/ldclient-core/src/main/java/org/apache/marmotta/ldclient/services/provider/AbstractHttpProvider.java b/libraries/ldclient/ldclient-core/src/main/java/org/apache/marmotta/ldclient/services/provider/AbstractHttpProvider.java index a14569e..4a0ce30 100644 --- a/libraries/ldclient/ldclient-core/src/main/java/org/apache/marmotta/ldclient/services/provider/AbstractHttpProvider.java +++ b/libraries/ldclient/ldclient-core/src/main/java/org/apache/marmotta/ldclient/services/provider/AbstractHttpProvider.java @@ -17,6 +17,9 @@ */ package org.apache.marmotta.ldclient.services.provider; +import com.google.common.base.Function; +import com.google.common.base.Joiner; +import com.google.common.collect.Iterables; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; @@ -25,7 +28,6 @@ import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.cookie.DateParseException; import org.apache.http.impl.cookie.DateUtils; import org.apache.http.util.EntityUtils; -import org.apache.marmotta.commons.collections.CollectionUtils; import org.apache.marmotta.commons.http.ContentType; import org.apache.marmotta.ldclient.api.endpoint.Endpoint; import org.apache.marmotta.ldclient.api.ldclient.LDClientService; @@ -106,14 +108,15 @@ public abstract class AbstractHttpProvider implements DataProvider { String contentType; if(endpoint != null && endpoint.getContentTypes().size() > 0) { - contentType = CollectionUtils.fold(endpoint.getContentTypes(), new CollectionUtils.StringSerializer<ContentType>() { + contentType = Joiner.on(',').join(Iterables.transform(endpoint.getContentTypes(), new Function<ContentType, String>() { @Override - public String serialize(ContentType contentType) { - return contentType.toString("q"); + public String apply(ContentType input) { + return input.toString("q"); } - },","); + })); + } else { - contentType = CollectionUtils.fold(Arrays.asList(listMimeTypes()), ","); + contentType = Joiner.on(',').join(Arrays.asList(listMimeTypes())); } long defaultExpires = client.getClientConfiguration().getDefaultExpiry(); http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/LdapFoafProvider.java ---------------------------------------------------------------------- diff --git a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/LdapFoafProvider.java b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/LdapFoafProvider.java index 8797954..ab01e0a 100644 --- a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/LdapFoafProvider.java +++ b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/LdapFoafProvider.java @@ -27,7 +27,8 @@ import org.apache.directory.api.ldap.model.name.Dn; import org.apache.directory.ldap.client.api.LdapConnection; import org.apache.directory.ldap.client.api.LdapConnectionConfig; import org.apache.directory.ldap.client.api.LdapNetworkConnection; -import org.apache.marmotta.commons.constants.Namespace; +import org.apache.marmotta.commons.vocabulary.DCTERMS; +import org.apache.marmotta.commons.vocabulary.FOAF; import org.apache.marmotta.ldclient.api.endpoint.Endpoint; import org.apache.marmotta.ldclient.api.ldclient.LDClientService; import org.apache.marmotta.ldclient.api.provider.DataProvider; @@ -42,6 +43,7 @@ import org.openrdf.model.Value; import org.openrdf.model.ValueFactory; import org.openrdf.model.impl.TreeModel; import org.openrdf.model.impl.ValueFactoryImpl; +import org.openrdf.model.vocabulary.RDF; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -69,21 +71,21 @@ public class LdapFoafProvider implements DataProvider { private static final Map<String, PredicateObjectFactory> MAPPING; static { Map<String, PredicateObjectFactory> m = new HashMap<String, PredicateObjectFactory>(); - m.put("distinguishedName", new LiteralPredicateFactory(Namespace.DCTERMS.identifier)); - m.put("name", new LiteralPredicateFactory(Namespace.FOAF.name)); - m.put("givenName", new LiteralPredicateFactory(Namespace.FOAF.firstName)); - m.put("sn", new LiteralPredicateFactory(Namespace.FOAF.surname)); - m.put("mail", new UriPredicateFactory(Namespace.FOAF.mbox) { + m.put("distinguishedName", new LiteralPredicateFactory(DCTERMS.identifier)); + m.put("name", new LiteralPredicateFactory(FOAF.name)); + m.put("givenName", new LiteralPredicateFactory(FOAF.firstName)); + m.put("sn", new LiteralPredicateFactory(FOAF.surname)); + m.put("mail", new UriPredicateFactory(FOAF.mbox) { @Override public Set<Value> createObjects(String value, ValueFactory valueFactory) { return super.createObjects("mailto:" + value, valueFactory); } }); - m.put("objectClass", new UriPredicateFactory(Namespace.RDF.type) { + m.put("objectClass", new UriPredicateFactory(RDF.TYPE) { @Override public Set<Value> createObjects(String value, ValueFactory valueFactory) { if (value.equalsIgnoreCase("person")) - return super.createObjects(Namespace.FOAF.Person, valueFactory); + return super.createObjects(FOAF.Person.stringValue(), valueFactory); else return Collections.emptySet(); } http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/LiteralPredicateFactory.java ---------------------------------------------------------------------- diff --git a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/LiteralPredicateFactory.java b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/LiteralPredicateFactory.java index 57d422f..e0fa4ee 100644 --- a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/LiteralPredicateFactory.java +++ b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/LiteralPredicateFactory.java @@ -17,15 +17,16 @@ */ package org.apache.marmotta.ldclient.provider.ldap.mapping; -import java.util.Collections; -import java.util.Set; - +import org.openrdf.model.URI; import org.openrdf.model.Value; import org.openrdf.model.ValueFactory; +import java.util.Collections; +import java.util.Set; + public class LiteralPredicateFactory extends PredicateObjectFactory { - public LiteralPredicateFactory(String predicateURI) { + public LiteralPredicateFactory(URI predicateURI) { super(predicateURI); } http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/PredicateObjectFactory.java ---------------------------------------------------------------------- diff --git a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/PredicateObjectFactory.java b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/PredicateObjectFactory.java index f81d611..a573317 100644 --- a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/PredicateObjectFactory.java +++ b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/PredicateObjectFactory.java @@ -17,22 +17,22 @@ */ package org.apache.marmotta.ldclient.provider.ldap.mapping; -import java.util.Set; - import org.openrdf.model.URI; import org.openrdf.model.Value; import org.openrdf.model.ValueFactory; +import java.util.Set; + public abstract class PredicateObjectFactory { - protected final String predicateURI; + protected final URI predicateURI; - public PredicateObjectFactory(String predicateURI) { + public PredicateObjectFactory(URI predicateURI) { this.predicateURI = predicateURI; } public URI createPredicate(ValueFactory valueFactory) { - return valueFactory.createURI(predicateURI); + return predicateURI; } public abstract Set<Value> createObjects(String value, ValueFactory valueFactory); http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/TypedLiteralPredicateFactory.java ---------------------------------------------------------------------- diff --git a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/TypedLiteralPredicateFactory.java b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/TypedLiteralPredicateFactory.java deleted file mode 100644 index 7e5e5ae..0000000 --- a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/TypedLiteralPredicateFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.marmotta.ldclient.provider.ldap.mapping; - -import java.util.Collections; -import java.util.Set; - -import org.apache.marmotta.commons.sesame.model.Namespaces; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.model.ValueFactory; - -public class TypedLiteralPredicateFactory extends LiteralPredicateFactory { - - protected final String typeURI; - - public TypedLiteralPredicateFactory(String predicateURI, String typeURI) { - super(predicateURI); - this.typeURI = typeURI; - } - - public TypedLiteralPredicateFactory(String predicateURI) { - this(predicateURI, Namespaces.NS_XSD + "string"); - } - - @Override - public Set<Value> createObjects(String value, ValueFactory valueFactory) { - final URI type = valueFactory.createURI(typeURI); - return Collections.singleton((Value) valueFactory.createLiteral(value, type)); - } - -} http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/UriPredicateFactory.java ---------------------------------------------------------------------- diff --git a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/UriPredicateFactory.java b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/UriPredicateFactory.java index 0a07b66..0bd1dbd 100644 --- a/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/UriPredicateFactory.java +++ b/libraries/ldclient/ldclient-provider-ldap/src/main/java/org/apache/marmotta/ldclient/provider/ldap/mapping/UriPredicateFactory.java @@ -17,15 +17,16 @@ */ package org.apache.marmotta.ldclient.provider.ldap.mapping; -import java.util.Collections; -import java.util.Set; - +import org.openrdf.model.URI; import org.openrdf.model.Value; import org.openrdf.model.ValueFactory; +import java.util.Collections; +import java.util.Set; + public class UriPredicateFactory extends PredicateObjectFactory { - public UriPredicateFactory(String predicateURI) { + public UriPredicateFactory(URI predicateURI) { super(predicateURI); } http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/model/module/ModuleConfiguration.java ---------------------------------------------------------------------- diff --git a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/model/module/ModuleConfiguration.java b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/model/module/ModuleConfiguration.java index 442f26e..3136dac 100644 --- a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/model/module/ModuleConfiguration.java +++ b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/model/module/ModuleConfiguration.java @@ -17,10 +17,10 @@ */ package org.apache.marmotta.platform.core.model.module; -import org.apache.marmotta.commons.util.DateUtils; +import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import org.apache.commons.configuration.Configuration; -import org.apache.marmotta.commons.collections.CollectionUtils; +import org.apache.marmotta.commons.util.DateUtils; import java.util.Date; @@ -126,7 +126,7 @@ public class ModuleConfiguration { * @return the build time of the module in ISO time (GMT) */ public String getBuildTimestamp() { - String timestamp = CollectionUtils.fold(config.getStringArray("build.timestamp"), ", "); + String timestamp = Joiner.on(", ").join(config.getStringArray("build.timestamp")); if("".equals(timestamp)) { return DateUtils.GMTFORMAT.format(new Date()); } else { http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/webservices/resource/MetaWebService.java ---------------------------------------------------------------------- diff --git a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/webservices/resource/MetaWebService.java b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/webservices/resource/MetaWebService.java index 49089a6..6e7b8d9 100644 --- a/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/webservices/resource/MetaWebService.java +++ b/platform/marmotta-core/src/main/java/org/apache/marmotta/platform/core/webservices/resource/MetaWebService.java @@ -17,10 +17,10 @@ */ package org.apache.marmotta.platform.core.webservices.resource; +import com.google.common.base.Joiner; import com.google.common.collect.ImmutableMap; import com.google.common.net.HttpHeaders; import org.apache.commons.lang3.StringUtils; -import org.apache.marmotta.commons.collections.CollectionUtils; import org.apache.marmotta.commons.http.ETagGenerator; import org.apache.marmotta.commons.http.UriUtil; import org.apache.marmotta.commons.sesame.repository.ResourceUtils; @@ -56,6 +56,7 @@ import java.util.LinkedList; import java.util.List; import static com.google.common.net.HttpHeaders.ACCEPT; +import static com.google.common.net.HttpHeaders.LINK; import static org.apache.marmotta.platform.core.webservices.resource.ResourceWebService.CHARSET; import static org.apache.marmotta.platform.core.webservices.resource.ResourceWebServiceHelper.appendMetaTypes; @@ -312,7 +313,7 @@ public class MetaWebService { } if (links.size() > 0) { - response.getMetadata().add("Link", CollectionUtils.fold(links, ", ")); + response.getMetadata().add(LINK, Joiner.on(", ").join(links)); } return response; } finally { http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/platform/marmotta-security/src/main/java/org/apache/marmotta/platform/security/model/SecurityConstraint.java ---------------------------------------------------------------------- diff --git a/platform/marmotta-security/src/main/java/org/apache/marmotta/platform/security/model/SecurityConstraint.java b/platform/marmotta-security/src/main/java/org/apache/marmotta/platform/security/model/SecurityConstraint.java index be77e16..431be76 100644 --- a/platform/marmotta-security/src/main/java/org/apache/marmotta/platform/security/model/SecurityConstraint.java +++ b/platform/marmotta-security/src/main/java/org/apache/marmotta/platform/security/model/SecurityConstraint.java @@ -17,8 +17,10 @@ */ package org.apache.marmotta.platform.security.model; +import com.google.common.base.Function; +import com.google.common.base.Joiner; +import com.google.common.collect.Iterables; import org.apache.marmotta.platform.security.util.SubnetInfo; -import org.apache.marmotta.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -266,34 +268,40 @@ public class SecurityConstraint implements Comparable<SecurityConstraint> { @Override public String toString() { - String s = "security constraint "+name+":"; + StringBuilder s = new StringBuilder(); + + s.append("security constraint ").append(name).append(":"); if(type == Type.PERMISSION) { - s += " allow "; + s.append(" allow "); } else { - s += " deny "; + s.append(" deny "); } if(methods.size() > 0) { - s += "{" + CollectionUtils.fold(methods, ",") + "} of "; + s.append("{"); + Joiner.on(',').appendTo(s, methods); + s.append("} of "); } - s += urlPattern; + s.append(urlPattern); if(hostPatterns.size() > 0) { - s += " from " + CollectionUtils.fold(hostPatterns, new CollectionUtils.StringSerializer<SubnetInfo>() { + s.append(" from "); + Joiner.on(',').appendTo(s, Iterables.transform(hostPatterns,new Function<SubnetInfo, String>() { @Override - public String serialize(SubnetInfo subnetInfo) { + public String apply(SubnetInfo subnetInfo) { return subnetInfo.getCidrSignature(); } - }, ","); + })); } - s += ": "; + s.append(": "); if(enabled) { - s += " enabled"; + s.append(" enabled"); if(roles.size() > 0) { - s += " to " + CollectionUtils.fold(roles, ", "); + s.append(" to "); + Joiner.on(", ").appendTo(s, roles); } } else { - s += " unrestricted"; + s.append(" unrestricted"); } - return s; + return s.toString(); } public Type getType() { http://git-wip-us.apache.org/repos/asf/marmotta/blob/9eed4763/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java ---------------------------------------------------------------------- diff --git a/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java b/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java index 78994cb..d683a0b 100644 --- a/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java +++ b/platform/marmotta-versioning-kiwi/src/main/java/org/apache/marmotta/platform/versioning/webservices/MementoWebService.java @@ -17,8 +17,8 @@ */ package org.apache.marmotta.platform.versioning.webservices; +import com.google.common.base.Joiner; import com.google.common.base.Preconditions; -import org.apache.marmotta.commons.collections.CollectionUtils; import org.apache.marmotta.commons.http.ContentType; import org.apache.marmotta.commons.http.MarmottaHttpUtils; import org.apache.marmotta.commons.util.DateUtils; @@ -129,7 +129,7 @@ public class MementoWebService { .location(MementoUtils.resourceURI(resource_string, versions.getCurrent().getCommitTime(), configurationService.getBaseUri())) .header(VARY, "negotiate, accept-datetime, accept") .header("Memento-Datetime", versions.getCurrent().getCommitTime().toString()) - .header(LINK, CollectionUtils.fold(links, ", ")) + .header(LINK, Joiner.on(", ").join(links)) .build(); } catch (MementoException e) { @@ -221,7 +221,7 @@ public class MementoWebService { //create response return Response .ok() - .header(LINK, CollectionUtils.fold(links," ,")) + .header(LINK, Joiner.on(", ").join(links)) .header(CONTENT_TYPE, type.toString()) .header("Memento-Datetime", MementoUtils.MEMENTO_DATE_FORMAT.format(versions.getCurrent().getCommitTime())) .entity(entity) @@ -287,7 +287,7 @@ public class MementoWebService { //create response return Response .ok() - .header(LINK, CollectionUtils.fold(links," ,")) + .header(LINK, Joiner.on(", ").join(links)) .header(CONTENT_TYPE, serializer.getContentType().toString()) .entity(entity) .build();
