protected void importAssetLink(AssetLink assetLink, long entryId1) throws PortalException, SystemException { long entryId2 = assetLink.getEntryId2(); AssetEntry assetEntry2 = assetEntryPersistence.findByPrimaryKey(entryId2); if (assetEntry2.getClassNameId() == classNameLocalService.getClassNameId(CalEvent.class)) { CalEvent calEvent = calEventPersistence.findByPrimaryKey(assetEntry2.getClassPK()); importCalEvent(calEvent); assetEntry2 = assetEntryPersistence.findByG_CU(calEvent.getGroupId(), calEvent.getUuid()); entryId2 = assetEntry2.getEntryId(); } long linkId = counterLocalService.increment(); addAssetLink( linkId, assetLink.getCompanyId(), assetLink.getUserId(), assetLink.getUserName(), assetLink.getCreateDate(), entryId1, entryId2, assetLink.getType(), assetLink.getWeight()); }
public void addAssetLinks(Class<?> clazz, long classPK) throws PortalException, SystemException { AssetEntry assetEntry = null; try { assetEntry = AssetEntryLocalServiceUtil.getEntry(clazz.getName(), classPK); } catch (NoSuchEntryException nsee) { return; } List<AssetLink> directAssetLinks = AssetLinkLocalServiceUtil.getDirectLinks(assetEntry.getEntryId()); if (directAssetLinks.isEmpty()) { return; } Map<Integer, List<AssetLink>> assetLinksMap = new HashMap<Integer, List<AssetLink>>(); for (AssetLink assetLink : directAssetLinks) { List<AssetLink> assetLinks = assetLinksMap.get(assetLink.getType()); if (assetLinks == null) { assetLinks = new ArrayList<AssetLink>(); assetLinksMap.put(assetLink.getType(), assetLinks); } assetLinks.add(assetLink); } for (Map.Entry<Integer, List<AssetLink>> entry : assetLinksMap.entrySet()) { int assetLinkType = entry.getKey(); List<AssetLink> assetLinks = entry.getValue(); List<String> assetLinkUuids = new ArrayList<String>(directAssetLinks.size()); for (AssetLink assetLink : assetLinks) { try { AssetEntry assetLinkEntry = AssetEntryLocalServiceUtil.getEntry(assetLink.getEntryId2()); assetLinkUuids.add(assetLinkEntry.getClassUuid()); } catch (NoSuchEntryException nsee) { } } _assetLinkUuidsMap.put( getPrimaryKeyString(assetEntry.getClassUuid(), String.valueOf(assetLinkType)), assetLinkUuids.toArray(new String[assetLinkUuids.size()])); } }
protected void readAssetLinks(PortletDataContext portletDataContext) throws Exception { String xml = portletDataContext.getZipEntryAsString( ExportImportPathUtil.getSourceRootPath(portletDataContext) + "/links.xml"); if (xml == null) { return; } Document document = SAXReaderUtil.read(xml); Element rootElement = document.getRootElement(); List<Element> assetLinkGroupElements = rootElement.elements("asset-link-group"); for (Element assetLinkGroupElement : assetLinkGroupElements) { String sourceUuid = assetLinkGroupElement.attributeValue("source-uuid"); AssetEntry sourceAssetEntry = AssetEntryLocalServiceUtil.fetchEntry(portletDataContext.getScopeGroupId(), sourceUuid); if (sourceAssetEntry == null) { sourceAssetEntry = AssetEntryLocalServiceUtil.fetchEntry( portletDataContext.getCompanyGroupId(), sourceUuid); } if (sourceAssetEntry == null) { if (_log.isWarnEnabled()) { _log.warn("Unable to find asset entry with uuid " + sourceUuid); } continue; } List<Element> assetLinksElements = assetLinkGroupElement.elements("asset-link"); for (Element assetLinkElement : assetLinksElements) { String path = assetLinkElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { continue; } String targetUuid = assetLinkElement.attributeValue("target-uuid"); AssetEntry targetAssetEntry = AssetEntryLocalServiceUtil.fetchEntry(portletDataContext.getScopeGroupId(), targetUuid); if (targetAssetEntry == null) { targetAssetEntry = AssetEntryLocalServiceUtil.fetchEntry( portletDataContext.getCompanyGroupId(), targetUuid); } if (targetAssetEntry == null) { if (_log.isWarnEnabled()) { _log.warn("Unable to find asset entry with uuid " + targetUuid); } continue; } AssetLink assetLink = (AssetLink) portletDataContext.getZipEntryAsObject(path); long userId = portletDataContext.getUserId(assetLink.getUserUuid()); AssetLinkLocalServiceUtil.updateLink( userId, sourceAssetEntry.getEntryId(), targetAssetEntry.getEntryId(), assetLink.getType(), assetLink.getWeight()); } } }