/** * Constructor from a history resource.<p> * * @param resource the base history resource */ public CmsHistoryFolder(I_CmsHistoryResource resource) { this( resource.getPublishTag(), resource.getStructureId(), resource.getResourceId(), resource.getRootPath(), resource.getTypeId(), resource.getFlags(), resource.getProjectLastModified(), resource.getState(), resource.getDateCreated(), resource.getUserCreated(), resource.getDateLastModified(), resource.getUserLastModified(), resource.getDateReleased(), resource.getDateExpired(), resource.getVersion(), resource.getParentId(), resource.getResourceVersion(), resource.getStructureVersion()); }
/** * Constructor from a history resource.<p> * * @param resource the base history resource */ public CmsHistoryFile(I_CmsHistoryResource resource) { this( resource.getPublishTag(), resource.getStructureId(), resource.getResourceId(), resource.getRootPath(), resource.getTypeId(), resource.getFlags(), resource.getProjectLastModified(), resource.getState(), resource.getDateCreated(), resource.getUserCreated(), resource.getDateLastModified(), resource.getUserLastModified(), resource.getDateReleased(), resource.getDateExpired(), resource.getLength(), resource.getDateContent(), resource.getVersion(), resource.getParentId(), resource.isFile() ? ((CmsFile)resource).getContents() : null, resource.getResourceVersion(), resource.getStructureVersion()); }
/** * Constructor from a history resource.<p> * * @param resource the base history resource */ public CmsHistoryFolder(I_CmsHistoryResource resource) { this( resource.getPublishTag(), resource.getStructureId(), resource.getResourceId(), resource.getRootPath(), resource.getTypeId(), resource.getFlags(), resource.getProjectLastModified(), resource.getState(), resource.getDateCreated(), resource.getUserCreated(), resource.getDateLastModified(), resource.getUserLastModified(), resource.getDateReleased(), resource.getDateExpired(), resource.getVersion(), resource.getParentId(), resource.getResourceVersion(), resource.getStructureVersion()); }
/** * @see org.opencms.workplace.list.A_CmsListDialog#getListItems() */ @Override protected List getListItems() throws CmsException { List ret = new ArrayList(); List list = getCms().readDeletedResources(m_resourcename, m_readTree); Iterator iter = list.iterator(); while (iter.hasNext()) { I_CmsHistoryResource res = (I_CmsHistoryResource)iter.next(); CmsListItem item = getList().newItem(res.getStructureId().toString()); String resourcePath = getCms().getSitePath((CmsResource)res); item.set(LIST_COLUMN_NAME, m_resourcename + "|" + resourcePath); item.set(LIST_COLUMN_DELETION_DATE, new Date(res.getDateLastModified())); item.set(LIST_COLUMN_VERSION, String.valueOf(res.getVersion())); item.set(LIST_COLUMN_TYPEID, String.valueOf(res.getTypeId())); ret.add(item); } return ret; }
dbc, dbc.currentProject().getUuid(), histRes.getStructureId())) { newResult.add(histRes); continue; String resourcePath = histRes.getRootPath(); String resName = CmsResource.getName(resourcePath); String path = CmsResource.getParentFolder(resourcePath); CmsUUID parentId = histRes.getParentId(); try { if (isFolder) { newResult.add(new CmsHistoryFolder( histRes.getPublishTag(), histRes.getStructureId(), histRes.getResourceId(), resourcePath, histRes.getTypeId(), histRes.getFlags(), histRes.getProjectLastModified(), histRes.getState(), histRes.getDateCreated(), histRes.getUserCreated(), histRes.getDateLastModified(), histRes.getUserLastModified(), histRes.getDateReleased(), histRes.getDateExpired(),
parent = getVfsDriver(dbc).readResource(dbc, dbc.currentProject().getUuid(), histRes.getParentId(), true); } catch (CmsVfsResourceNotFoundException e) { dbc, dbc.currentProject().getUuid(), CmsResource.getParentFolder(histRes.getRootPath()), true); } catch (CmsVfsResourceNotFoundException e1) { restoreDeletedResource(dbc, histRes.getParentId()); parent = readResource(dbc, histRes.getParentId(), CmsResourceFilter.IGNORE_EXPIRATION); String path = CmsResource.getParentFolder(histRes.getRootPath()); // path String resName = CmsResource.getName(histRes.getRootPath()); // name String ext = ""; if (resName.charAt(resName.length() - 1) == '/') { contents = ((CmsFile)histRes).getContents(); if ((contents == null) || (contents.length == 0)) { contents = getHistoryDriver(dbc).readContent(dbc, histRes.getResourceId(), histRes.getPublishTag()); histRes.getResourceId(), path + resName, histRes.getTypeId(), isFolder, histRes.getFlags(), dbc.currentProject().getUuid(), CmsResource.STATE_NEW, histRes.getDateCreated(),
getCms().readResource(histRes.getStructureId(), CmsResourceFilter.IGNORE_EXPIRATION).getStructureId(), histRes.getVersion()); int publishTag = histRes.getPublishTag(); String filetype = String.valueOf(histRes.getTypeId()); String dateLastModified = getMessages().getDateTime(histRes.getDateLastModified()); String datePublished = getMessages().getDateTime(project.getPublishingDate()); CmsListItem item = getList().newItem("" + histRes.getVersion()); if (result.isEmpty() && !histRes.getState().isDeleted()) { factor = -1; CmsVersionWrapper version = new CmsVersionWrapper(factor * histRes.getVersion()); String user = histRes.getUserLastModified().toString(); try { user = CmsPrincipal.readPrincipalIncludingHistory(getCms(), histRes.getUserLastModified()).getName(); } catch (CmsDbEntryNotFoundException e) { item.set(LIST_COLUMN_RESOURCE_PATH, getCms().getRequestContext().removeSiteRoot(histRes.getRootPath())); item.set(LIST_COLUMN_SIZE, new Integer(histRes.getLength()).toString()); item.set(LIST_COLUMN_STRUCTURE_ID, histRes.getStructureId().toString());
int structureVersion = histRes.getStructureVersion() - versionOffset; int tagId = res.getInt(m_sqlManager.readQuery("C_RESOURCES_PUBLISH_TAG")); CmsUUID structureId = histRes.getStructureId(); CmsUUID resourceId = new CmsUUID(res.getString(m_sqlManager.readQuery("C_RESOURCES_RESOURCE_ID"))); int resourceType = res.getInt(m_sqlManager.readQuery("C_RESOURCES_RESOURCE_TYPE")); CmsUUID projectLastModified = new CmsUUID( res.getString(m_sqlManager.readQuery("C_RESOURCES_PROJECT_LASTMODIFIED"))); int state = histRes.getState().getState(); // may be we have to compute something here? long dateCreated = res.getLong(m_sqlManager.readQuery("C_RESOURCES_DATE_CREATED")); long dateLastModified = res.getLong(m_sqlManager.readQuery("C_RESOURCES_DATE_LASTMODIFIED")); long dateReleased = histRes.getDateReleased(); long dateExpired = histRes.getDateExpired(); int resourceSize = res.getInt(m_sqlManager.readQuery("C_RESOURCES_SIZE")); CmsUUID userLastModified = new CmsUUID(res.getString(m_sqlManager.readQuery("C_RESOURCES_USER_LASTMODIFIED"))); CmsUUID userCreated = new CmsUUID(res.getString(m_sqlManager.readQuery("C_RESOURCES_USER_CREATED"))); String resourcePath = histRes.getRootPath(); CmsUUID parentId = histRes.getParentId(); long dateContent = res.getLong(m_sqlManager.readQuery("C_RESOURCES_DATE_CONTENT")); if (histRes.isFolder()) { return new CmsHistoryFolder( tagId,
I_CmsResourceType resType = OpenCms.getResourceManager().getResourceType(deleted.getTypeId()); String typeName = resType.getTypeName(); CmsExplorerTypeSettings explorerType = OpenCms.getWorkplaceManager().getExplorerTypeSetting(typeName); String title = cms.getRequestContext().removeSiteRoot(deleted.getRootPath()); CmsVfsService.formatDateTime(cms, deleted.getDateLastModified()), "" + deleted.getVersion()); String iconPath = OpenCms.getWorkplaceManager().getExplorerTypeSetting( deleted.isFile() ? "unknown_file" : "unknown_folder").getBigIconIfAvailable(); if (explorerType != null) { iconPath = CmsWorkplace.RES_PATH_FILETYPES + explorerType.getBigIconIfAvailable(); hl.setExpandRatio(info, 1); hl.setComponentAlignment(checkbox, Alignment.MIDDLE_LEFT); m_selectionContainer.addItem(deleted.getStructureId()); checkbox.setPropertyDataSource( m_selectionContainer.getItem(deleted.getStructureId()).getItemProperty(PROP_SELECTED)); m_deletedResourceContainer.addComponent(hl);
q.setParameter(1, histRes.getResourceId().toString()); q.setParameter(2, Integer.valueOf(histRes.getPublishTag())); @SuppressWarnings("unchecked") List<CmsDAOHistoryResources> lResources = q.getResultList(); if (resVersion == lastHistRes.getResourceVersion()) { q.setParameter(1, histRes.getResourceId().toString()); q.setParameter(2, Integer.valueOf(histRes2.getPublishTag())); // lower limit q.setParameter(3, Integer.valueOf(histRes.getPublishTag())); // upper limit @SuppressWarnings("unchecked") List<CmsDAOHistoryResources> lResources = q.getResultList(); for (CmsDAOHistoryResources hr : lResources) { int resVersion = hr.getResourceVersion(); if (resVersion == lastHistRes.getResourceVersion()) { if (histRes.getVersion() > 1) { q.setParameter(1, String.valueOf(histRes.getResourceId())); q.setParameter(2, Integer.valueOf(histRes.getPublishTag())); @SuppressWarnings("unchecked") List<CmsDAOHistoryResources> lResources = q.getResultList(); int offset = (histRes.getStructureVersion() > 0 ? 1 : 0); if (newHistRes.getResourceVersion() != lastHistRes.getResourceVersion()) {
parent = m_vfsDriver.readResource(dbc, dbc.currentProject().getUuid(), histRes.getParentId(), true); } catch (CmsVfsResourceNotFoundException e) { dbc, dbc.currentProject().getUuid(), CmsResource.getParentFolder(histRes.getRootPath()), true); } catch (CmsVfsResourceNotFoundException e1) { restoreDeletedResource(dbc, histRes.getParentId()); parent = readResource(dbc, histRes.getParentId(), CmsResourceFilter.IGNORE_EXPIRATION); String path = CmsResource.getParentFolder(histRes.getRootPath()); // path String resName = CmsResource.getName(histRes.getRootPath()); // name String ext = ""; if (resName.charAt(resName.length() - 1) == '/') { contents = ((CmsFile)histRes).getContents(); if ((contents == null) || (contents.length == 0)) { contents = m_historyDriver.readContent(dbc, histRes.getResourceId(), histRes.getPublishTag()); histRes.getResourceId(), path + resName, histRes.getTypeId(), isFolder, histRes.getFlags(), dbc.currentProject().getUuid(), CmsResource.STATE_NEW,
int flags = historyResource.getFlags(); if (resource.isLabeled()) { resource.getResourceId(), resource.getRootPath(), historyResource.getTypeId(), flags, dbc.currentProject().getUuid(), state, resource.getDateCreated(), historyResource.getUserCreated(), resource.getDateLastModified(), dbc.currentUser().getId(), historyResource.getDateReleased(), historyResource.getDateExpired(), resource.getSiblingCount(), historyResource.getLength(), historyResource.getDateContent(), newVersion, readFile(dbc, (CmsHistoryFile)historyResource).getContents()); resource.getResourceId(), resource.getRootPath(), historyResource.getTypeId(), historyResource.getFlags(), dbc.currentProject().getUuid(), state, resource.getDateCreated(), historyResource.getUserCreated(),
boolean isFolderAndNoVersionLeft = resource.getRootPath().endsWith("/") && (readLastVersion(dbc, resource.getStructureId()) == 0); stmt.setString(1, resource.getStructureId().toString()); res = stmt.executeQuery(); while (res.next()) {
q.setParameter(1, String.valueOf(resource.getStructureId())); q.setParameter(2, Integer.valueOf(resource.getPublishTag())); try { pubTag = CmsDataTypeUtil.numberToInt((Number)q.getSingleResult()); q.setParameter(1, resource.getStructureId().toString()); q.setParameter(2, Integer.valueOf(pubTag)); if (pubTag != resource.getPublishTag()) { q.setParameter(1, resource.getStructureId().toString()); q.setParameter(2, Integer.valueOf(resource.getPublishTag())); @SuppressWarnings("unchecked") List<Object[]> res = q.getResultList();
q.setParameter(1, resource.getStructureId().toString()); try { maxVersion = CmsDataTypeUtil.numberToInt((Number)q.getSingleResult()); q.setParameter(1, resource.getStructureId().toString()); q.setParameter(2, Long.valueOf(time)); q.setParameter(1, resource.getStructureId().toString()); q.setParameter(2, Integer.valueOf((1 + maxVersion) - versionsToKeep)); try { q.setParameter(1, resource.getStructureId().toString()); q.setParameter(2, Integer.valueOf(minStrPublishTagToKeep)); @SuppressWarnings("unchecked") q.setParameter(1, resource.getStructureId().toString()); q.setParameter(2, Integer.valueOf(minStrPublishTagToKeep)); @SuppressWarnings("unchecked") q.setParameter(1, resource.getResourceId().toString()); q.setParameter(1, resource.getResourceId().toString()); q.setParameter(2, Integer.valueOf(minResPublishTagToKeep)); int resourceVersions = 0; q.setParameter(1, resource.getResourceId().toString()); q.setParameter(2, Integer.valueOf(minResPublishTagToKeep)); @SuppressWarnings("unchecked")
public int compare(I_CmsHistoryResource first, I_CmsHistoryResource second) { return first.getRootPath().compareTo(second.getRootPath()); } });
((CmsFile)file).setContents(readContent(dbc, file.getResourceId(), file.getPublishTag())); return file;
/** * Reads an historical resource entry for the given resource and with the given version number.<p> * * @param dbc the current db context * @param resource the resource to be read * @param version the version number to retrieve * * @return the resource that was read * * @throws CmsException if the resource could not be read for any reason * * @see CmsObject#restoreResourceVersion(CmsUUID, int) * @see CmsObject#readResource(CmsUUID, int) */ public I_CmsHistoryResource readResource(CmsDbContext dbc, CmsResource resource, int version) throws CmsException { Iterator itVersions = m_historyDriver.readAllAvailableVersions(dbc, resource.getStructureId()).iterator(); while (itVersions.hasNext()) { I_CmsHistoryResource histRes = (I_CmsHistoryResource)itVersions.next(); if (histRes.getVersion() == version) { return histRes; } } throw new CmsVfsResourceNotFoundException(org.opencms.db.generic.Messages.get().container( org.opencms.db.generic.Messages.ERR_HISTORY_FILE_NOT_FOUND_1, resource.getStructureId())); }
result.setSize(historyRes.getLength()); if (historyRes instanceof I_CmsHistoryResource) { int publishTag = ((I_CmsHistoryResource)historyRes).getPublishTag(); CmsHistoryProject project = cms.readHistoryProject(publishTag); long publishDate = project.getPublishingDate(); result.setDatePublished(formatDate(publishDate, locale)); int version = ((I_CmsHistoryResource)historyRes).getVersion(); result.setVersion( new CmsHistoryVersion(
int flags = historyResource.getFlags(); if (resource.isLabeled()) { resource.getResourceId(), resource.getRootPath(), historyResource.getTypeId(), flags, dbc.currentProject().getUuid(), resource.getResourceId(), resource.getRootPath(), historyResource.getTypeId(), historyResource.getFlags(), dbc.currentProject().getUuid(), state,