Search in sources :

Example 6 with PortalDataKey

use of org.apereo.portal.io.xml.PortalDataKey in project uPortal by Jasig.

the class ImportExportController method importEntity.

@RequestMapping(value = "/import", method = RequestMethod.POST)
public void importEntity(@RequestParam("file") MultipartFile entityFile, HttpServletRequest request, HttpServletResponse response) throws IOException, XMLStreamException {
    // Get a StAX reader for the source to determine info about the data to import
    final BufferedXMLEventReader bufferedXmlEventReader = createSourceXmlEventReader(entityFile);
    final PortalDataKey portalDataKey = getPortalDataKey(bufferedXmlEventReader);
    final IPerson person = personManager.getPerson(request);
    final EntityIdentifier ei = person.getEntityIdentifier();
    final IAuthorizationPrincipal ap = AuthorizationServiceFacade.instance().newPrincipal(ei.getKey(), ei.getType());
    if (!ap.hasPermission("UP_SYSTEM", "IMPORT_ENTITY", portalDataKey.getName().getLocalPart())) {
        response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
        return;
    }
    portalDataHandlerService.importData(new StAXSource(bufferedXmlEventReader));
    response.setStatus(HttpServletResponse.SC_OK);
}
Also used : BufferedXMLEventReader(org.apereo.portal.xml.stream.BufferedXMLEventReader) IPerson(org.apereo.portal.security.IPerson) IAuthorizationPrincipal(org.apereo.portal.security.IAuthorizationPrincipal) PortalDataKey(org.apereo.portal.io.xml.PortalDataKey) EntityIdentifier(org.apereo.portal.EntityIdentifier) StAXSource(javax.xml.transform.stax.StAXSource) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

PortalDataKey (org.apereo.portal.io.xml.PortalDataKey)6 URISyntaxException (java.net.URISyntaxException)2 Document (org.dom4j.Document)2 StringReader (java.io.StringReader)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 Set (java.util.Set)1 XMLEventReader (javax.xml.stream.XMLEventReader)1 StartElement (javax.xml.stream.events.StartElement)1 Source (javax.xml.transform.Source)1 StAXSource (javax.xml.transform.stax.StAXSource)1 EntityIdentifier (org.apereo.portal.EntityIdentifier)1 IDataTemplatingStrategy (org.apereo.portal.io.xml.IDataTemplatingStrategy)1 IPortalDataType (org.apereo.portal.io.xml.IPortalDataType)1 SpELDataTemplatingStrategy (org.apereo.portal.io.xml.SpELDataTemplatingStrategy)1 IAuthorizationPrincipal (org.apereo.portal.security.IAuthorizationPrincipal)1 IPerson (org.apereo.portal.security.IPerson)1 BufferedXMLEventReader (org.apereo.portal.xml.stream.BufferedXMLEventReader)1 Test (org.junit.Test)1