Loading tools/app_metadata_bundles/src/aslgen/java/com/android/aslgen/Main.java +6 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.aslgen; import com.android.asllib.AndroidSafetyLabel; import com.android.asllib.AndroidSafetyLabel.Format; import com.android.asllib.util.MalformedXmlException; import org.xml.sax.SAXException; Loading @@ -32,7 +33,11 @@ public class Main { /** Takes the options to make file conversion. */ public static void main(String[] args) throws IOException, ParserConfigurationException, SAXException, TransformerException { throws IOException, ParserConfigurationException, SAXException, TransformerException, MalformedXmlException { String inFile = null; String outFile = null; Loading tools/app_metadata_bundles/src/lib/java/com/android/asllib/AndroidSafetyLabel.java +6 −4 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.asllib; import com.android.asllib.util.MalformedXmlException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; Loading Loading @@ -53,7 +55,7 @@ public class AndroidSafetyLabel implements AslMarshallable { /** Reads a {@link AndroidSafetyLabel} from an {@link InputStream}. */ // TODO(b/329902686): Support parsing from on-device. public static AndroidSafetyLabel readFromStream(InputStream in, Format format) throws IOException, ParserConfigurationException, SAXException { throws IOException, ParserConfigurationException, SAXException, MalformedXmlException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); Document document = factory.newDocumentBuilder().parse(in); Loading @@ -65,9 +67,9 @@ public class AndroidSafetyLabel implements AslMarshallable { return new AndroidSafetyLabelFactory() .createFromHrElements( XmlUtils.asElementList( document.getElementsByTagName( XmlUtils.HR_TAG_APP_METADATA_BUNDLES))); List.of( XmlUtils.getSingleElement( document, XmlUtils.HR_TAG_APP_METADATA_BUNDLES))); case ON_DEVICE: throw new IllegalArgumentException( "Parsing from on-device format is not supported at this time."); Loading tools/app_metadata_bundles/src/lib/java/com/android/asllib/AndroidSafetyLabelFactory.java +4 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.asllib; import com.android.asllib.util.MalformedXmlException; import org.w3c.dom.Element; import java.util.List; Loading @@ -24,7 +26,8 @@ public class AndroidSafetyLabelFactory implements AslMarshallableFactory<Android /** Creates an {@link AndroidSafetyLabel} from human-readable DOM element */ @Override public AndroidSafetyLabel createFromHrElements(List<Element> appMetadataBundles) { public AndroidSafetyLabel createFromHrElements(List<Element> appMetadataBundles) throws MalformedXmlException { Element appMetadataBundlesEle = XmlUtils.getSingleElement(appMetadataBundles); Element safetyLabelsEle = XmlUtils.getSingleChildElement( Loading tools/app_metadata_bundles/src/lib/java/com/android/asllib/AslMarshallableFactory.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.asllib; import com.android.asllib.util.MalformedXmlException; import org.w3c.dom.Element; import java.util.List; Loading @@ -23,5 +25,5 @@ import java.util.List; public interface AslMarshallableFactory<T extends AslMarshallable> { /** Creates an {@link AslMarshallableFactory} from human-readable DOM element */ T createFromHrElements(List<Element> elements); T createFromHrElements(List<Element> elements) throws MalformedXmlException; } tools/app_metadata_bundles/src/lib/java/com/android/asllib/DataCategoryFactory.java +7 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.asllib; import com.android.asllib.util.MalformedXmlException; import org.w3c.dom.Element; import java.util.HashMap; Loading @@ -24,12 +26,16 @@ import java.util.Map; public class DataCategoryFactory implements AslMarshallableFactory<DataCategory> { @Override public DataCategory createFromHrElements(List<Element> elements) { public DataCategory createFromHrElements(List<Element> elements) throws MalformedXmlException { String categoryName = null; Map<String, DataType> dataTypeMap = new HashMap<String, DataType>(); for (Element ele : elements) { categoryName = ele.getAttribute(XmlUtils.HR_ATTR_DATA_CATEGORY); String dataTypeName = ele.getAttribute(XmlUtils.HR_ATTR_DATA_TYPE); if (!DataTypeConstants.getValidDataTypes().contains(dataTypeName)) { throw new MalformedXmlException( String.format("Unrecognized data type name: %s", dataTypeName)); } dataTypeMap.put(dataTypeName, new DataTypeFactory().createFromHrElements(List.of(ele))); } Loading Loading
tools/app_metadata_bundles/src/aslgen/java/com/android/aslgen/Main.java +6 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.aslgen; import com.android.asllib.AndroidSafetyLabel; import com.android.asllib.AndroidSafetyLabel.Format; import com.android.asllib.util.MalformedXmlException; import org.xml.sax.SAXException; Loading @@ -32,7 +33,11 @@ public class Main { /** Takes the options to make file conversion. */ public static void main(String[] args) throws IOException, ParserConfigurationException, SAXException, TransformerException { throws IOException, ParserConfigurationException, SAXException, TransformerException, MalformedXmlException { String inFile = null; String outFile = null; Loading
tools/app_metadata_bundles/src/lib/java/com/android/asllib/AndroidSafetyLabel.java +6 −4 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.asllib; import com.android.asllib.util.MalformedXmlException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; Loading Loading @@ -53,7 +55,7 @@ public class AndroidSafetyLabel implements AslMarshallable { /** Reads a {@link AndroidSafetyLabel} from an {@link InputStream}. */ // TODO(b/329902686): Support parsing from on-device. public static AndroidSafetyLabel readFromStream(InputStream in, Format format) throws IOException, ParserConfigurationException, SAXException { throws IOException, ParserConfigurationException, SAXException, MalformedXmlException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); Document document = factory.newDocumentBuilder().parse(in); Loading @@ -65,9 +67,9 @@ public class AndroidSafetyLabel implements AslMarshallable { return new AndroidSafetyLabelFactory() .createFromHrElements( XmlUtils.asElementList( document.getElementsByTagName( XmlUtils.HR_TAG_APP_METADATA_BUNDLES))); List.of( XmlUtils.getSingleElement( document, XmlUtils.HR_TAG_APP_METADATA_BUNDLES))); case ON_DEVICE: throw new IllegalArgumentException( "Parsing from on-device format is not supported at this time."); Loading
tools/app_metadata_bundles/src/lib/java/com/android/asllib/AndroidSafetyLabelFactory.java +4 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.asllib; import com.android.asllib.util.MalformedXmlException; import org.w3c.dom.Element; import java.util.List; Loading @@ -24,7 +26,8 @@ public class AndroidSafetyLabelFactory implements AslMarshallableFactory<Android /** Creates an {@link AndroidSafetyLabel} from human-readable DOM element */ @Override public AndroidSafetyLabel createFromHrElements(List<Element> appMetadataBundles) { public AndroidSafetyLabel createFromHrElements(List<Element> appMetadataBundles) throws MalformedXmlException { Element appMetadataBundlesEle = XmlUtils.getSingleElement(appMetadataBundles); Element safetyLabelsEle = XmlUtils.getSingleChildElement( Loading
tools/app_metadata_bundles/src/lib/java/com/android/asllib/AslMarshallableFactory.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.asllib; import com.android.asllib.util.MalformedXmlException; import org.w3c.dom.Element; import java.util.List; Loading @@ -23,5 +25,5 @@ import java.util.List; public interface AslMarshallableFactory<T extends AslMarshallable> { /** Creates an {@link AslMarshallableFactory} from human-readable DOM element */ T createFromHrElements(List<Element> elements); T createFromHrElements(List<Element> elements) throws MalformedXmlException; }
tools/app_metadata_bundles/src/lib/java/com/android/asllib/DataCategoryFactory.java +7 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.asllib; import com.android.asllib.util.MalformedXmlException; import org.w3c.dom.Element; import java.util.HashMap; Loading @@ -24,12 +26,16 @@ import java.util.Map; public class DataCategoryFactory implements AslMarshallableFactory<DataCategory> { @Override public DataCategory createFromHrElements(List<Element> elements) { public DataCategory createFromHrElements(List<Element> elements) throws MalformedXmlException { String categoryName = null; Map<String, DataType> dataTypeMap = new HashMap<String, DataType>(); for (Element ele : elements) { categoryName = ele.getAttribute(XmlUtils.HR_ATTR_DATA_CATEGORY); String dataTypeName = ele.getAttribute(XmlUtils.HR_ATTR_DATA_TYPE); if (!DataTypeConstants.getValidDataTypes().contains(dataTypeName)) { throw new MalformedXmlException( String.format("Unrecognized data type name: %s", dataTypeName)); } dataTypeMap.put(dataTypeName, new DataTypeFactory().createFromHrElements(List.of(ele))); } Loading