protected void updateSearchEngine(boolean remove,PortletApplication pa ) { if (searchEngine != null) { List<PortletDefinition> portletDefList = pa.getPortlets(); List<PortletDefinition> cloneDefList = pa.getClones(); List<Object> list = new ArrayList<Object>(portletDefList.size() + cloneDefList.size() + 1); if (remove) { list.addAll(portletDefList); list.addAll(cloneDefList); list.add(pa); searchEngine.remove(list); log.info("Un-Registered the portlet application in the search engine... " + pa.getName()); } else { list.add(pa); list.addAll(portletDefList); list.addAll(cloneDefList); searchEngine.add(list); log.info("Registered the portlet application in the search engine... " + pa.getName()); } } }
public void removeClone(PortletDefinition clone) throws RegistryException { if (!clone.isClone()) { throw new IllegalArgumentException("The portlet is not a cloned one: " + clone.getUniqueName()); } PortletApplication pa = clone.getApplication(); getPersistenceBrokerTemplate().delete(clone); pa.getClones().remove(clone); this.updatePortletApplication(pa); }
protected void deleteData(Map<String,Object> settings, Logger log) throws SerializerException { if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_USER_PREFERENCES)) { log.info("deleting applications"); try { for (PortletApplication pa : registry.getPortletApplications()) { List<PortletDefinition> portlets = pa.getPortlets(); List<PortletDefinition> clones = pa.getClones(); if (searchEngine != null) { List<Object> list = new ArrayList<Object>(portlets.size() + clones.size() + 1); list.add(pa); list.addAll(portlets); list.addAll(clones); searchEngine.remove(list); } registry.removeApplication(pa); } } catch (Exception e) { throw new SerializerException(e); } } }
public void removeAllClones(PortletApplication pa) throws RegistryException { Criteria c = new Criteria(); c.addEqualTo("cloneParent", pa.getName()); getPersistenceBrokerTemplate().deleteByQuery(QueryFactory.newQuery(PortletDefinitionImpl.class, c)); pa.getClones().clear(); this.updatePortletApplication(pa); }
public int restoreClones(PortletApplication pa) throws RegistryException { int count = 0; Criteria criteria = new Criteria(); criteria.addEqualTo("cloneParent", pa.getName()); Collection<PortletDefinitionImpl> clones = getPersistenceBrokerTemplate().getCollectionByQuery( QueryFactory.newQuery(PortletDefinitionImpl.class, criteria)); for (PortletDefinitionImpl pd : clones) { if (pd.isClone()) { if (pa.getName().equals(pd.getCloneParent())) { // Restore Clone pd.setApplication(pa); pa.getClones().add(pd); count++; } } } if (count > 0) { updatePortletApplication(pa); } return count; }