Repository: camel Updated Branches: refs/heads/camel-2.16.x d4e998775 -> 581e5dc50 refs/heads/master 795316b31 -> ae8b96141
http://git-wip-us.apache.org/repos/asf/camel/blob/c850a6e0/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java new file mode 100644 index 0000000..fd8562b --- /dev/null +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java @@ -0,0 +1,137 @@ +/** + * 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.camel.tools.apt.model; + +import java.util.Set; + +import org.apache.camel.tools.apt.helper.CollectionStringBuffer; + +import static org.apache.camel.tools.apt.helper.Strings.isNullOrEmpty; + +public final class ComponentOption { + + private String name; + private String type; + private String required; + private String defaultValue; + private String defaultValueNote; + private String documentation; + private boolean deprecated; + private String group; + private String label; + private boolean enumType; + private Set<String> enums; + + public ComponentOption(String name, String type, String required, String defaultValue, String defaultValueNote, + String documentation, boolean deprecated, String group, String label, boolean enumType, Set<String> enums) { + this.name = name; + this.type = type; + this.required = required; + this.defaultValue = defaultValue; + this.defaultValueNote = defaultValueNote; + this.documentation = documentation; + this.deprecated = deprecated; + this.label = group; + this.label = label; + this.enumType = enumType; + this.enums = enums; + } + + public String getName() { + return name; + } + + public String getType() { + return type; + } + + public String getRequired() { + return required; + } + + public String getDefaultValue() { + return defaultValue; + } + + public String getDocumentation() { + return documentation; + } + + public boolean isDeprecated() { + return deprecated; + } + + public String getEnumValuesAsHtml() { + CollectionStringBuffer csb = new CollectionStringBuffer("<br/>"); + if (enums != null && enums.size() > 0) { + for (String e : enums) { + csb.append(e); + } + } + return csb.toString(); + } + + public String getDocumentationWithNotes() { + StringBuilder sb = new StringBuilder(); + sb.append(documentation); + + if (!isNullOrEmpty(defaultValueNote)) { + sb.append(". Default value notice: ").append(defaultValueNote); + } + + return sb.toString(); + } + + public boolean isEnumType() { + return enumType; + } + + public Set<String> getEnums() { + return enums; + } + + public String getGroup() { + return group; + } + + public String getLabel() { + return label; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + ComponentOption that = (ComponentOption) o; + + if (!name.equals(that.name)) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + return name.hashCode(); + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/c850a6e0/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java new file mode 100644 index 0000000..2755167 --- /dev/null +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java @@ -0,0 +1,137 @@ +/** + * 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.camel.tools.apt.model; + +import java.util.Set; + +import org.apache.camel.tools.apt.helper.CollectionStringBuffer; + +import static org.apache.camel.tools.apt.helper.Strings.isNullOrEmpty; + +public final class EndpointOption { + + private String name; + private String type; + private String required; + private String defaultValue; + private String defaultValueNote; + private String documentation; + private boolean deprecated; + private String group; + private String label; + private boolean enumType; + private Set<String> enums; + + public EndpointOption(String name, String type, String required, String defaultValue, String defaultValueNote, + String documentation, boolean deprecated, String group, String label, boolean enumType, Set<String> enums) { + this.name = name; + this.type = type; + this.required = required; + this.defaultValue = defaultValue; + this.defaultValueNote = defaultValueNote; + this.documentation = documentation; + this.deprecated = deprecated; + this.group = group; + this.label = label; + this.enumType = enumType; + this.enums = enums; + } + + public String getName() { + return name; + } + + public String getType() { + return type; + } + + public String getRequired() { + return required; + } + + public String getDefaultValue() { + return defaultValue; + } + + public String getDocumentation() { + return documentation; + } + + public boolean isDeprecated() { + return deprecated; + } + + public String getEnumValuesAsHtml() { + CollectionStringBuffer csb = new CollectionStringBuffer("<br/>"); + if (enums != null && enums.size() > 0) { + for (String e : enums) { + csb.append(e); + } + } + return csb.toString(); + } + + public String getDocumentationWithNotes() { + StringBuilder sb = new StringBuilder(); + sb.append(documentation); + + if (!isNullOrEmpty(defaultValueNote)) { + sb.append(". Default value notice: ").append(defaultValueNote); + } + + return sb.toString(); + } + + public boolean isEnumType() { + return enumType; + } + + public Set<String> getEnums() { + return enums; + } + + public String getGroup() { + return group; + } + + public String getLabel() { + return label; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + EndpointOption that = (EndpointOption) o; + + if (!name.equals(that.name)) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + return name.hashCode(); + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/c850a6e0/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java new file mode 100644 index 0000000..5088814 --- /dev/null +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java @@ -0,0 +1,122 @@ +/** + * 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.camel.tools.apt.model; + +import java.util.Set; + +import org.apache.camel.tools.apt.helper.CollectionStringBuffer; + +public final class EndpointPath { + + private String name; + private String type; + private String required; + private String defaultValue; + private String documentation; + private boolean deprecated; + private String group; + private String label; + private boolean enumType; + private Set<String> enums; + + public EndpointPath(String name, String type, String required, String defaultValue, String documentation, boolean deprecated, + String group, String label, boolean enumType, Set<String> enums) { + this.name = name; + this.type = type; + this.required = required; + this.defaultValue = defaultValue; + this.documentation = documentation; + this.deprecated = deprecated; + this.group = group; + this.label = label; + this.enumType = enumType; + this.enums = enums; + } + + public String getName() { + return name; + } + + public String getType() { + return type; + } + + public String getRequired() { + return required; + } + + public String getDefaultValue() { + return defaultValue; + } + + public String getDocumentation() { + return documentation; + } + + public boolean isDeprecated() { + return deprecated; + } + + public String getEnumValuesAsHtml() { + CollectionStringBuffer csb = new CollectionStringBuffer("<br/>"); + if (enums != null && enums.size() > 0) { + for (String e : enums) { + csb.append(e); + } + } + return csb.toString(); + } + + public boolean isEnumType() { + return enumType; + } + + public Set<String> getEnums() { + return enums; + } + + public String getGroup() { + return group; + } + + public String getLabel() { + return label; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + EndpointPath that = (EndpointPath) o; + + if (!name.equals(that.name)) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + return name.hashCode(); + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/c850a6e0/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java b/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java new file mode 100644 index 0000000..85bfaa5 --- /dev/null +++ b/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java @@ -0,0 +1,61 @@ +/** + * 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.camel.tools.apt; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import org.apache.camel.tools.apt.helper.EndpointHelper; +import org.apache.camel.tools.apt.model.EndpointOption; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class EndpointOptionComparatorTest { + + @Test + public void testComparator() { + String label1 = "common"; + String label2 = "advanced"; + String label3 = "common"; + String label4 = "filter"; + String group1 = EndpointHelper.labelAsGroupName(label1, false, false); + String group2 = EndpointHelper.labelAsGroupName(label2, false, false); + String group3 = EndpointHelper.labelAsGroupName(label3, false, false); + String group4 = EndpointHelper.labelAsGroupName(label4, false, false); + + EndpointOption op1 = new EndpointOption("aaa", "string", "true", "", "", "blah", false, group1, label1, false, null); + EndpointOption op2 = new EndpointOption("ccc", "string", "true", "", "", "blah", false, group2, label2, false, null); + EndpointOption op3 = new EndpointOption("ddd", "string", "true", "", "", "blah", false, group3, label3, false, null); + EndpointOption op4 = new EndpointOption("bbb", "string", "true", "", "", "blah", false, group4, label4, false, null); + + List<EndpointOption> list = new ArrayList<EndpointOption>(); + list.add(op1); + list.add(op2); + list.add(op3); + list.add(op4); + + // then by label into the groups + Collections.sort(list, EndpointHelper.createGroupAndLabelComparator()); + + assertEquals("aaa", list.get(0).getName()); + assertEquals("ddd", list.get(1).getName()); + assertEquals("bbb", list.get(2).getName()); + assertEquals("ccc", list.get(3).getName()); + } +}