# 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
# 
# https://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.

type: specs.openrewrite.org/v1beta/recipe
name: org.apache.commons.xml.secure.UseSecureXmlFactories
displayName: Use Apache Commons secure XML factories
description: Replaces JAXP factory types with their Apache Commons XML secure equivalents.
recipeList:
  - org.openrewrite.java.ChangeType:
      oldFullyQualifiedTypeName: javax.xml.parsers.DocumentBuilderFactory
      newFullyQualifiedTypeName: org.apache.commons.xml.secure.SecureDocumentBuilderFactory
  - org.openrewrite.java.ChangeType:
      oldFullyQualifiedTypeName: javax.xml.parsers.SAXParserFactory
      newFullyQualifiedTypeName: org.apache.commons.xml.secure.SecureSAXParserFactory
  - org.openrewrite.java.ChangeType:
      oldFullyQualifiedTypeName: javax.xml.validation.SchemaFactory
      newFullyQualifiedTypeName: org.apache.commons.xml.secure.SecureSchemaFactory
  - org.openrewrite.java.ChangeType:
      oldFullyQualifiedTypeName: javax.xml.transform.TransformerFactory
      newFullyQualifiedTypeName: org.apache.commons.xml.secure.SecureTransformerFactory
  - org.openrewrite.java.ChangeType:
      oldFullyQualifiedTypeName: javax.xml.stream.XMLInputFactory
      newFullyQualifiedTypeName: org.apache.commons.xml.secure.SecureXMLInputFactory
  - org.openrewrite.java.ChangeType:
      oldFullyQualifiedTypeName: javax.xml.xpath.XPathFactory
      newFullyQualifiedTypeName: org.apache.commons.xml.secure.SecureXPathFactory
