private static boolean _containsStagedModel( PortletDataContext portletDataContext, String path, StagedModel stagedModel) { XMLInputFactory xmlInputFactory = SecureXMLFactoryProviderUtil.newXMLInputFactory(); try { XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader( portletDataContext.getZipEntryAsInputStream(path)); Class<?> modelClass = stagedModel.getModelClass(); String simpleName = modelClass.getSimpleName(); while (xmlStreamReader.hasNext()) { int event = xmlStreamReader.next(); if (event == XMLStreamConstants.START_ELEMENT) { QName qName = xmlStreamReader.getName(); if (Objects.equals(qName.getLocalPart(), simpleName)) { return true; } } } } catch (XMLStreamException xmlse) { if (_log.isDebugEnabled()) { _log.debug(xmlse, xmlse); } } return false; }
protected void importThumbnailFromLAR( PortletDataContext portletDataContext, FileEntry fileEntry, Element fileEntryElement, String binPathName, int index) throws Exception { FileVersion fileVersion = fileEntry.getFileVersion(); String binPath = fileEntryElement.attributeValue(binPathName); try (InputStream is = portletDataContext.getZipEntryAsInputStream( binPath)) { if (is == null) { return; } String thumbnailFilePath = getThumbnailFilePath( fileVersion, getThumbnailType(fileVersion), index); addFileToStore( portletDataContext.getCompanyId(), THUMBNAIL_PATH, thumbnailFilePath, is); } }
try (InputStream is = portletDataContext.getZipEntryAsInputStream( binPath)) {
@Override public MissingReferences validateMissingReferences( final PortletDataContext portletDataContext) throws Exception { final MissingReferences missingReferences = new MissingReferences(); XMLReader xmlReader = SecureXMLFactoryProviderUtil.newXMLReader(); ElementHandler elementHandler = new ElementHandler( new ElementProcessor() { @Override public void processElement(Element element) { MissingReference missingReference = validateMissingReference(portletDataContext, element); if (missingReference != null) { missingReferences.add(missingReference); } } }, new String[] {"missing-reference"}); xmlReader.setContentHandler(elementHandler); xmlReader.parse( new InputSource( portletDataContext.getZipEntryAsInputStream("/manifest.xml"))); return missingReferences; }
@Override public ManifestSummary getManifestSummary( PortletDataContext portletDataContext) throws Exception { XMLReader xmlReader = SecureXMLFactoryProviderUtil.newXMLReader(); Group group = _groupLocalService.getGroup( portletDataContext.getGroupId()); ManifestSummary manifestSummary = new ManifestSummary(); ElementHandler elementHandler = new ElementHandler( new ManifestSummaryElementProcessor(group, manifestSummary), new String[] {"header", "portlet", "staged-model"}); xmlReader.setContentHandler(elementHandler); xmlReader.parse( new InputSource( portletDataContext.getZipEntryAsInputStream("/manifest.xml"))); return manifestSummary; }
portletDataContext.getZipEntryAsInputStream( binPath);