001    package org.kuali.ole.ingest;
002    
003    import com.thoughtworks.xstream.XStream;
004    import org.kuali.ole.ingest.pojo.*;
005    
006    import java.io.IOException;
007    import java.net.URISyntaxException;
008    
009    /**
010     * ProfileObjectGeneratorFromXML used to build the Profile based on fileContent
011     */
012    public class ProfileObjectGeneratorFromXML {
013        /**
014         * This method return Profile Object.
015         * This method build the Profile based on fileContent.
016         * @param fileContent
017         * @return  Profile
018         * @throws URISyntaxException
019         * @throws IOException
020         */
021        public Profile buildProfileFromFileContent(String fileContent) throws URISyntaxException, IOException {
022            XStream xStream = new XStream();
023            xStream.alias("profile", Profile.class);
024            xStream.alias("attribute", ProfileAttributeBo.class);
025            xStream.alias("rule", OleRule.class);
026            xStream.alias("action", OleAction.class);
027            xStream.alias("routeTo", OleRoute.class);
028            xStream.alias("incomingField", MatchPoint.class);
029            xStream.alias("existingField", MatchPoint.class);
030            xStream.registerConverter(new ProfileAttributeConverter());
031            Object object = xStream.fromXML(fileContent);
032            return (Profile) object;
033        }
034    }