/*******************************************************************************
* Copyright 2014 Miami-Dade County
*
* 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.sharegov.cirm.rules;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.hypergraphdb.util.RefResolver;
import org.junit.Test;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLObject;
import org.semanticweb.owlapi.model.SWRLBuiltInAtom;
import org.semanticweb.owlapi.model.SWRLDArgument;
import org.semanticweb.owlapi.model.SWRLVariable;
import org.semanticweb.owlapi.vocab.OWL2Datatype;
import org.sharegov.cirm.OWL;
public class PartBuiltInTest
{
@Test
public void testEval()
{
OWLDataFactory factory = OWL.dataFactory();
List<SWRLDArgument> args = new ArrayList<SWRLDArgument>();
args.add(factory.getSWRLLiteralArgument(factory.getOWLLiteral(sampleData , OWL2Datatype.RDF_XML_LITERAL)));
args.add(factory.getSWRLLiteralArgument(factory.getOWLLiteral("/:WCSW010Response/:WCSW010Out/:RETURNMSG")));
args.add(factory.getSWRLLiteralArgument(factory.getOWLLiteral("xsd:string")));
args.add(factory.getSWRLVariable(OWL.fullIri("value")));
args.add(factory.getSWRLLiteralArgument(factory.getOWLLiteral(false)));
args.add(factory.getSWRLLiteralArgument(factory.getOWLLiteral("http://ibmtst.metro-dade.com:4004/CICS/TWBA/WCS0010W")));
SWRLBuiltInAtom atom = factory.getSWRLBuiltInAtom(OWL.fullIri("part"), args);
PartBuiltIn part = new PartBuiltIn();
Map<SWRLVariable, OWLObject> eval = part.eval(atom, OWL.ontology(), new RefResolver<SWRLVariable, OWLObject>()
{
public OWLObject resolve(SWRLVariable v) { return null; }
}
);
System.out.println(sampleData);
System.out.println(eval.get(factory.getSWRLVariable(OWL.fullIri("value"))));
//factory.getOWLDataOneOf(values);
}
private String sampleData = "<WCSW010Response xmlns=\"http://ibmtst.metro-dade.com:4004/CICS/TWBA/WCS0010W\">" +
" <WCSW010Out>" +
" <MAPNAME>WCSM0005</MAPNAME>" +
" <SCRNAME>ACCOUNT SELECTION</SCRNAME>" +
" <ArrayOfADRADDR>" +
" <ADRADDR>6544 SW 73 CT</ADRADDR>" +
" <ADRADDR>6544 SW 73 CT</ADRADDR>" +
" <ADRADDR> 6544 SW 73 CT</ADRADDR>" +
" </ArrayOfADRADDR>" +
" <ArrayOfADRAPT></ArrayOfADRAPT>" +
" <ArrayOfADRFMUN>" +
" <ADRFMUN>30</ADRFMUN>" +
" <ADRFMUN>30</ADRFMUN>" +
" <ADRFMUN>30</ADRFMUN>" +
" </ArrayOfADRFMUN>" +
" <ArrayOfADRFNUM>" +
" <ADRFNUM>40260090440</ADRFNUM>" +
" <ADRFNUM>40260090440</ADRFNUM>" +
" <ADRFNUM>40260090440</ADRFNUM>" +
" </ArrayOfADRFNUM>" +
" <ArrayOfADRACC1>" +
" <ADRACC1>4</ADRACC1>" +
" <ADRACC1>4</ADRACC1>" +
" <ADRACC1>1</ADRACC1>" +
" </ArrayOfADRACC1>" +
" <ArrayOfADRACC2>" +
" <ADRACC2>093893</ADRACC2>" +
" <ADRACC2>092739</ADRACC2>" +
" <ADRACC2>151141</ADRACC2>" +
" </ArrayOfADRACC2>" +
" <ArrayOfADRACC3>" +
" <ADRACC3>7</ADRACC3>" +
" <ADRACC3>3</ADRACC3>" +
" <ADRACC3>0</ADRACC3>" +
" </ArrayOfADRACC3>" +
" <ArrayOfADRCODE>" +
" <ADRCODE>AC</ADRCODE>" +
" <ADRCODE>AR</ADRCODE>" +
" <ADRCODE>UH</ADRCODE>" +
"" +
" </ArrayOfADRCODE>" +
" <ArrayOfADRST></ArrayOfADRST>" +
" <ArrayOfADRNAME>" +
" <ADRNAME>MARIA E LOPEZ</ADRNAME>" +
" <ADRNAME>JOSE LOPEZ &W MARIA E</ADRNAME>" +
" <ADRNAME>JOSE LOPEZ &W MARIA E</ADRNAME>" +
" </ArrayOfADRNAME>" +
" <SCRMSG>* NO MORE RECORDS, ENTER AN "X" BY THE ADDRESS/ACC</SCRMSG>" +
" <ACC1/>" +
" <ACC2/>" +
" <ACC3/>" +
" <TAXUNIT/>" +
" <WSTUNIT/>" +
" <FEECODE/>" +
" <FCDESC/>" +
" <CRDATE/>" +
" <FOLMUN/>" +
" <FOLNUM/>" +
" <ACCTYPE/>" +
" <OUTSRV/>" +
" <SRVSTART/>" +
" <SRVDATE/>" +
" <ACCST/>" +
" <HANDICAP/>" +
" <BILLST/>" +
" <PENCODE/>" +
" <ACCNAME/>" +
" <BILLDATE/>" +
" <ACCADDR/>" +
" <PRAMT/>" +
" <ACCAPT/>" +
" <ACCZIP/>" +
" <PHAREA/>" +
" <PHNUM/>" +
" <PRTAX/>" +
" <LEGAL/>" +
" <PRPENDATE/>" +
" <OWNAME/>" +
" <MTHDELQ/>" +
" <PRPENAMT/>" +
" <MAILCO/>" +
" <PENDATE/>" +
" <PENAMT/>" +
" <MISCMAIL/>" +
" <SRVTAX/>" +
" <SRVTAXAMT/>" +
" <MAILADDR/>" +
" <MAILAPT/>" +
" <CURFEEAMT/>" +
" <MAILCITY/>" +
" <MAILST/>" +
" <MAILZIP/>" +
" <BADCHKFEE/>" +
" <OWNPHAREA/>" +
" <OWNPHNUM/>" +
" <CLUC/>" +
" <PDAMT/>" +
" <CANROLL/>" +
" <ArrayOfUSIZE></ArrayOfUSIZE>" +
" <ArrayOfUNITS></ArrayOfUNITS>" +
" <ArrayOfIDNO></ArrayOfIDNO>" +
" <OCLNO/>" +
" <FEECR/>" +
" <BOOK/>" +
" <ROUTE/>" +
" <DIST/>" +
" <REG/>" +
" <DELINQ/>" +
" <TOTDUE/>" +
" <GRTOTDUE/>" +
" <JUDGAMT/>" +
" <TRIPS/>" +
" <EXEMPT/>" +
" <BLKAMT/>" +
" <XMLCONVRC>2</XMLCONVRC>" +
" <RETURNCODE>0</RETURNCODE>" +
" <RETURNMSG>MULTIPLE ADDRESSES</RETURNMSG>" +
" <PICKUP/>" +
" </WCSW010Out>" +
"</WCSW010Response>";
}