diff --git a/processor/src/main/java/org/mapstruct/ap/model/source/builtin/BuiltInMappingMethods.java b/processor/src/main/java/org/mapstruct/ap/model/source/builtin/BuiltInMappingMethods.java index 974ea4134..e895ceb95 100644 --- a/processor/src/main/java/org/mapstruct/ap/model/source/builtin/BuiltInMappingMethods.java +++ b/processor/src/main/java/org/mapstruct/ap/model/source/builtin/BuiltInMappingMethods.java @@ -37,7 +37,6 @@ public class BuiltInMappingMethods { public BuiltInMappingMethods(TypeFactory typeFactory) { builtInMethods = Collections.newArrayList( new JaxbElemToValue( typeFactory ), - new ListOfJaxbElemToListOfValue( typeFactory ), new DateToXmlGregorianCalendar( typeFactory ), new XmlGregorianCalendarToDate( typeFactory ), new StringToXmlGregorianCalendar( typeFactory ), diff --git a/processor/src/main/java/org/mapstruct/ap/model/source/builtin/ListOfJaxbElemToListOfValue.java b/processor/src/main/java/org/mapstruct/ap/model/source/builtin/ListOfJaxbElemToListOfValue.java deleted file mode 100644 index 65112710d..000000000 --- a/processor/src/main/java/org/mapstruct/ap/model/source/builtin/ListOfJaxbElemToListOfValue.java +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Copyright 2012-2015 Gunnar Morling (http://www.gunnarmorling.de/) - * and/or other contributors as indicated by the @authors tag. See the - * copyright.txt file in the distribution for a full listing of all - * contributors. - * - * Licensed 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.mapstruct.ap.model.source.builtin; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import javax.xml.bind.JAXBElement; - -import org.mapstruct.ap.model.common.Parameter; -import org.mapstruct.ap.model.common.Type; -import org.mapstruct.ap.model.common.TypeFactory; - -import static org.mapstruct.ap.util.Collections.asSet; - -/** - * @author Sjaak Derksen - */ -public class ListOfJaxbElemToListOfValue extends BuiltInMethod { - - private final Parameter parameter; - private final Type returnType; - private final Type genericParam; - private final Set importTypes; - - public ListOfJaxbElemToListOfValue(TypeFactory typeFactory) { - this.parameter = new Parameter( "elementList", typeFactory.getType( List.class ) ); - this.returnType = typeFactory.getType( List.class ); - this.genericParam = typeFactory.getType( JAXBElement.class ).erasure(); - this.importTypes = asSet( - returnType, - typeFactory.getType( JAXBElement.class ), - typeFactory.getType( ArrayList.class ) - ); - } - - @Override - public boolean doTypeVarsMatch(Type sourceType, Type targetType) { - boolean match = false; - if ( ( sourceType.getTypeParameters().size() == 1 ) && ( targetType.getTypeParameters().size() == 1 ) ) { - Type typeParam = sourceType.getTypeParameters().get( 0 ); - if ( typeParam.erasure().equals( genericParam ) && ( typeParam.getTypeParameters().size() == 1 ) ) { - match = typeParam.getTypeParameters().get( 0 ).equals( targetType.getTypeParameters().get( 0 ) ); - } - } - return match; - } - - @Override - public Parameter getParameter() { - return parameter; - } - - @Override - public Type getReturnType() { - return returnType; - } - - @Override - public Set getImportTypes() { - return importTypes; - } -} diff --git a/processor/src/main/resources/org.mapstruct.ap.model.builtin.ListOfJaxbElemToListOfValue.ftl b/processor/src/main/resources/org.mapstruct.ap.model.builtin.ListOfJaxbElemToListOfValue.ftl deleted file mode 100644 index 05b2e96f3..000000000 --- a/processor/src/main/resources/org.mapstruct.ap.model.builtin.ListOfJaxbElemToListOfValue.ftl +++ /dev/null @@ -1,31 +0,0 @@ -<#-- - - Copyright 2012-2015 Gunnar Morling (http://www.gunnarmorling.de/) - and/or other contributors as indicated by the @authors tag. See the - copyright.txt file in the distribution for a full listing of all - contributors. - - Licensed 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. - ---> -private List ${name}(List> source) { - if ( source == null ) { - return null; - } - - List list = new ArrayList(); - for ( JAXBElement element : source ) { - list.add( element.isNil() ? null : element.getValue() ); - } - return list; -} \ No newline at end of file diff --git a/processor/src/test/java/org/mapstruct/ap/test/builtin/BuiltInTest.java b/processor/src/test/java/org/mapstruct/ap/test/builtin/BuiltInTest.java index 7edc9302d..5a3dad954 100644 --- a/processor/src/test/java/org/mapstruct/ap/test/builtin/BuiltInTest.java +++ b/processor/src/test/java/org/mapstruct/ap/test/builtin/BuiltInTest.java @@ -114,6 +114,7 @@ public class BuiltInTest { } @Test + @IssueKey( "141" ) @WithClasses({ JaxbElementListProperty.class, StringListProperty.class, JaxbListMapper.class }) public void shouldApplyBuiltInOnJAXBElementList() throws ParseException, DatatypeConfigurationException {