@Override public Attributes filterAttributes(String localName, Attributes attributes){ if(("Apply").equals(localName) && compare(getSource(), Version.PMML_4_1) == 0){ return renameAttribute(attributes, "mapMissingTo", "defaultValue"); } else if(("PMML").equals(localName)){ Version target = getTarget(); if(getExtensions()){ attributes = renameAttribute(attributes, "version", "x-baseVersion"); } return setAttribute(attributes, "version", target.getVersion()); } else if(("TargetValue").equals(localName) && compare(getSource(), Version.PMML_3_1) <= 0){ return renameAttribute(attributes, "rawDataValue", "displayValue"); } return attributes; }
@Override public Attributes filterAttributes(String localName, Attributes attributes){ if(("Apply").equals(localName) && compare(getSource(), Version.PMML_4_1) == 0){ return renameAttribute(attributes, "mapMissingTo", "defaultValue"); } else if(("PMML").equals(localName)){ Version target = getTarget(); if(getExtensions()){ attributes = renameAttribute(attributes, "version", "x-baseVersion"); } return setAttribute(attributes, "version", target.getVersion()); } else if(("TargetValue").equals(localName) && compare(getSource(), Version.PMML_3_1) <= 0){ return renameAttribute(attributes, "rawDataValue", "displayValue"); } return attributes; }
return setAttribute(attributes, "version", target.getVersion()); } else
return setAttribute(attributes, "version", target.getVersion()); } else
static private void checkPMML(byte[] bytes, Version version) throws Exception { Node node = XPathUtil.selectNode(bytes, "/:PMML"); assertEquals(version.getNamespaceURI(), node.getNamespaceURI()); assertEquals(version.getVersion(), DOMUtil.getAttributeValue(node, "version")); } }
static private PMML createPMML(){ Header header = new Header() .setCopyright("ACME Corporation"); DataDictionary dataDictionary = new DataDictionary(); PMML pmml = new PMML(Version.PMML_4_3.getVersion(), header, dataDictionary); return pmml; }
@Test public void unmarshal() throws Exception { Version[] versions = Version.values(); for(Version version : versions){ PMML pmml; try(InputStream is = ResourceUtil.getStream(version)){ pmml = PMMLUtil.unmarshal(is); } assertEquals(pmml.getVersion(), Version.PMML_4_3.getVersion()); assertEquals(pmml.getBaseVersion(), version.getVersion()); } } }
@Test public void copyState(){ PMML pmml = new PMML(Version.PMML_4_3.getVersion(), new Header(), new DataDictionary()); // Initialize the live list instance pmml.getModels(); CustomPMML customPmml = new CustomPMML(); ReflectionUtil.copyState(pmml, customPmml); assertSame(pmml.getVersion(), customPmml.getVersion()); assertSame(pmml.getHeader(), customPmml.getHeader()); assertSame(pmml.getDataDictionary(), customPmml.getDataDictionary()); assertFalse(pmml.hasModels()); assertFalse(customPmml.hasModels()); pmml.addModels(new RegressionModel()); assertTrue(pmml.hasModels()); assertTrue(customPmml.hasModels()); assertSame(pmml.getModels(), customPmml.getModels()); try { ReflectionUtil.copyState(customPmml, pmml); fail(); } catch(IllegalArgumentException iae){ // Ignored } }
.setModelName("golfing"); PMML pmml = new PMML(Version.PMML_4_3.getVersion(), header, dataDictionary) .addModels(treeModel);
.setSplitCharacteristic(TreeModel.SplitCharacteristic.BINARY_SPLIT); PMML pmml = new PMML(Version.PMML_4_3.getVersion(), new Header(), new DataDictionary()) .addModels(treeModel);