Author: tdraier
Date: Wed Jan 2 17:49:29 2008
New Revision: 19441
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19441&repname=
=3Djahia
Log:
-fixed locks, file usage, locks on publication
-added customizable skeleton for user/site
-nicer system username
Modified:
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/ajax=
/webdav/GetFileManagerToolBar.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/engi=
nes/filemanager/DAVFilemanager_Engine.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/hibe=
rnate/dao/JahiaFieldsDataDAO.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/hibe=
rnate/manager/JahiaFieldsDataManager.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/FileNode.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRFileNodeWrapper.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRStoreProvider.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/fields/ContentFileField.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/jackrabbit/jahia-nodetypes.cnd
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/root.xml
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/site.xml
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/jackrabbit-ext/core/src/java=
/org/apache/jackrabbit/core/security/JahiaAccessManager.java
branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/public-api/src/java/org/jahi=
a/jaas/JahiaLoginModule.java
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/ajax/webdav/GetFileManagerToolBar.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/ajax/webdav/GetFileManagerToo=
lBar.java&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/ajax=
/webdav/GetFileManagerToolBar.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/ajax=
/webdav/GetFileManagerToolBar.java Wed Jan 2 17:49:29 2008
@@ -152,7 +152,7 @@
=
item.setAttribute(DELETE, String.valueOf(getValue(tool=
barValues, DELETE)));
=
- if (isDir || !isUnlockable) {
+ if (isDir) {
item.setAttribute(LOCK_FILE, String.valueOf(false)=
);
toolbarValues.put(LOCK_FILE, Boolean.valueOf(false=
));
} else {
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/engines/filemanager/DAVFilemanager_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/engines/filemanager/DAVFilema=
nager_Engine.java&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/engi=
nes/filemanager/DAVFilemanager_Engine.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/engi=
nes/filemanager/DAVFilemanager_Engine.java Wed Jan 2 17:49:29 2008
@@ -62,6 +62,7 @@
import javax.jcr.Value;
import javax.jcr.nodetype.NodeType;
import javax.jcr.nodetype.PropertyDefinition;
+import javax.transaction.Status;
import java.io.*;
import java.security.Principal;
import java.text.Collator;
@@ -208,19 +209,20 @@
boolean ok;
if ("fileLock".equals(davAction)) {
for (int i =3D 0; i < objectDaves.length; i++) {
- final FileNode object =3D objectDaves[i];
- if (object.isLocked()) continue;
- object.beginTransaction();
- ok =3D object.lockFile(jParams.getUser().isRoot());
- if (ok) {
- object.commitTransaction();
+ final FileNode objectDav =3D objectDaves[i];
+ objectDav.beginTransaction();
+ if (objectDav.isLocked()
+ && (objectDav.getLockOwner().equals(jParams.ge=
tUser().getUsername()) || jParams
+ .getUser().isAdminMember(
+ jParams.getSiteID()))) {
+ ok =3D objectDav.unlockFile(jParams.getUser().isRo=
ot());
} else {
- object.rollbackTransaction();
+ ok =3D objectDav.lockFile(false);
}
- logger.debug("lockFile: " + object.isLocked() + ", ope=
rationStatus: " + ok);
+ objectDav.commitTransaction();
+ logger.debug("lockFile: " + objectDav.isLocked() + ", =
operationStatus: " + ok);
}
}
-
} else if (actionScreen.equals("view")) {
engineMap.put("act", jParams.getParameter("act"));
jParams.setAttribute("ZimbraInclude", "true");
@@ -230,14 +232,19 @@
}
=
} else if (actionScreen.equals("fileDelete")) {
- final List list =3D jahiaWebdavBaseService.findUsages(pathes[0=
], jParams, false);
- engineMap.put("usages", list);
-
- final FileNode object =3D jahiaWebdavBaseService.getDAVFileAcc=
ess(
- pathes[0], jParams.getUser());
+ final List list =3D new ArrayList();
+ for (int i =3D 0; i < pathes.length; i++) {
+ list.addAll(jahiaWebdavBaseService.findUsages(pathes[i], j=
Params, false));
+ }
+ engineMap.put("usages", list);
+
+ for (int i =3D 0; i < pathes.length; i++) {
+ final FileNode objectDav =3D jahiaWebdavBaseService.getDAV=
FileAccess(
+ pathes[i], jParams.getUser());
=
- if (object.isCollection()) {
- engineMap.put("isDir", Boolean.TRUE);
+ if (objectDav.isCollection()) {
+ engineMap.put("isDir", Boolean.TRUE);
+ }
}
=
} else if (actionScreen.equals("info")) {
@@ -427,7 +434,7 @@
=
} else if (lastScreen.equals("unlockFile")) {
if (jParams.getParameter("doUnlock") !=3D null) {
- result =3D object.unlockFile(true);
+ result =3D object.unlockFile(false);
} else {
result =3D true;
}
@@ -870,7 +877,7 @@
} else if (tab.equals("rightsMgmt")) {
loadAcl(object, jParams, engineMap);
} else if (tab.equals("usages")) {
- final List list =3D jahiaWebdavBaseService.findUsages(pathes[0=
], jParams, false);
+ final List list =3D jahiaWebdavBaseService.findUsages(object.g=
etStorageName(), jParams, false);
engineMap.put("usages", list);
}
engineMap.put("object", object);
@@ -1027,7 +1034,7 @@
final boolean cannotRead =3D permissions.charAt(JahiaBaseACL.R=
EAD_RIGHTS) =3D=3D '-';
=
if (cannotRead && aclEntry.charAt(2) !=3D '1') {
- final List usages =3D jahiaWebdavBaseService.findUsages(da=
v.getPath(), jParams, false);
+ final List usages =3D jahiaWebdavBaseService.findUsages(da=
v.getStorageName(), jParams, false);
if (usages !=3D null && usages.size() > 0) {
// Since we are cutting READ rights on the dav file, w=
e need to check its usages and check
// the FileFields' rights.
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/hibernate/dao/JahiaFieldsDataDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/hibernate/dao/JahiaFieldsData=
DAO.java&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/hibe=
rnate/dao/JahiaFieldsDataDAO.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/hibe=
rnate/dao/JahiaFieldsDataDAO.java Wed Jan 2 17:49:29 2008
@@ -1000,21 +1000,21 @@
return ((Integer) nbPages.get(0)).intValue();
}
=
- public List findUsages(Integer siteID, String sourceUri, String source=
UriExtendedSearch, boolean onlyLockedUsages) {
+ public List findUsages(Integer siteID, String sourceUri, boolean onlyL=
ockedUsages) {
StringBuffer hql =3D new StringBuffer().append("select f.comp_id.i=
d, f.comp_id.workflowState, f.comp_id.versionId, f.comp_id.languageCode, f.=
value from JahiaFieldsData f ");
hql.append("where f.fieldDefinition.jahiaSite.id=3D? and f.type=3D=
").append(ContentFieldTypes.FILE).append(" and f.comp_id.workflowState <> "=
).append(EntryLoadRequest.DELETED_WORKFLOW_STATE);
- hql.append(" and (f.value like ? or f.value like ?)");
+ hql.append(" and f.value like ?");
if (onlyLockedUsages) {
hql.append(" and (f.comp_id.workflowState =3D " + EntryLoadReq=
uest.ACTIVE_WORKFLOW_STATE + " or f.comp_id.workflowState=3D" + EntryLoadRe=
quest.WAITING_WORKFLOW_STATE + ")");
}
final HibernateTemplate template =3D getHibernateTemplate();
template.setCacheQueries(true);
template.setFlushMode(HibernateTemplate.FLUSH_NEVER);
- return template.find(hql.toString(),new Object[]{siteID,sourceUri,=
sourceUriExtendedSearch});
+ return template.find(hql.toString(),new Object[]{siteID,sourceUri}=
);
}
=
public boolean isUsed(Integer siteID, String sourceUri, String sourceU=
riExtendedSearch, boolean onlyLockedUsages) {
- final List usages =3D findUsages(siteID, sourceUri, sourceUriExten=
dedSearch, onlyLockedUsages);
+ final List usages =3D findUsages(siteID, sourceUri, onlyLockedUsag=
es);
return (usages !=3D null && usages.size() > 0);
}
=
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/hibernate/manager/JahiaFieldsDataManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaFields=
DataManager.java&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/hibe=
rnate/manager/JahiaFieldsDataManager.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/hibe=
rnate/manager/JahiaFieldsDataManager.java Wed Jan 2 17:49:29 2008
@@ -1072,7 +1072,7 @@
=
public List findUsages(int siteId, String sourceUri, boolean onlyLocke=
dUsages, ProcessingContext jParams) {
String sourceUriExtendedSearch =3D (sourceUri.endsWith("/"))?sourc=
eUri+"%":sourceUri+"/%";
- List list =3D dao.findUsages(new Integer(siteId),sourceUri,sourceU=
riExtendedSearch,onlyLockedUsages);
+ List list =3D dao.findUsages(new Integer(siteId),sourceUri, onlyLo=
ckedUsages);
List retList =3D new ArrayList(list.size());
for (int i =3D 0; i < list.size(); i++) {
Object[] objects =3D (Object[]) list.get(i);
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/services/content/FileNode.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/services/content/FileNode.jav=
a&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/FileNode.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/FileNode.java Wed Jan 2 17:49:29 2008
@@ -166,7 +166,7 @@
-1, // folder id
owner,
uri, // realname
- provider.getKey()+":"+localPath, // storage name
+ getStorageName(), // storage name
System.currentTimeMillis(), // modif date
getContentLength(), // size
contentType, // type
@@ -202,6 +202,10 @@
return fField;
}
=
+ public String getStorageName() {
+ return provider.getKey()+":"+localPath;
+ }
+
public Exception getException() {
return exception;
}
@@ -339,11 +343,11 @@
return false;
}
=
- public boolean lockFile (boolean rootLock) {
+ public boolean lockFile (boolean systemLock) {
return false;
}
=
- public boolean unlockFile (boolean rootLock) {
+ public boolean unlockFile (boolean systemLock) {
return false;
}
=
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/services/content/JCRFileNodeWrapper.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/services/content/JCRFileNodeW=
rapper.java&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRFileNodeWrapper.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRFileNodeWrapper.java Wed Jan 2 17:49:29 2008
@@ -241,67 +241,14 @@
}
}
=
- public JahiaFileField getJahiaFileField () {
- JahiaFileField fField;
- if (objectNode !=3D null) {
- String uri;
- uri =3D getPath();
- String owner =3D "root:0";
-
- String contentType =3D "application/binary";
- int lastDot =3D uri.lastIndexOf(".");
- if (lastDot > -1) {
- String mimeType =3D Jahia.getStaticServletConfig().getServ=
letContext().getMimeType(uri.substring(uri.lastIndexOf("/")+1).toLowerCase(=
));
- if (mimeType !=3D null) {
- contentType =3D mimeType;
- }
- }
-
- String uuid;
- try {
- uuid =3D objectNode.getUUID();
- } catch (RepositoryException e) {
- uuid =3D localPath;
- }
-
- JahiaFile file =3D new JahiaFile (-1, // filemanager id
- -1, // folder id
- owner,
- uri, // realname
- jcrProvider.getKey()+":"+uuid, // storage name
- System.currentTimeMillis(), // modif date
- getContentLength(), // size
- contentType, // type
- getName (), // title
- "", // descr
- String.valueOf (ServicesRegistry.getInstance ()
- .getJahiaVersionService ().getCurrentVersionID=
()), // version
- JahiaFile.STATE_ACTIVE);
- fField =3D new JahiaFileField (file, new Properties ());
- fField.setID (0);
- URI url =3D new URI ();
- url.setPath(getUrl());
- url.setURIStartingAtPath (true);
- fField.setDownloadUrl (url.toString ());
- } else {
- JahiaFile file =3D new JahiaFile (-1, // filemanager id
- -1, // folder id
- "", // upload user
- "", // realname
- "", // storage name
- 0, // modif date
- 0, // size
- (exception =3D=3D null) ? "" : exception.getClass ().g=
etName (), // type
- "", // title
- "", // descr
- String.valueOf (ServicesRegistry.getInstance ()
- .getJahiaVersionService ().getCurrentVersionID=
()), // version
- JahiaFile.STATE_ACTIVE);
- fField =3D new JahiaFileField (file, new Properties ());
- fField.setID (-1);
- fField.setDownloadUrl ("#");
+ public String getStorageName() {
+ String uuid;
+ try {
+ uuid =3D objectNode.getUUID();
+ } catch (RepositoryException e) {
+ uuid =3D localPath;
}
- return fField;
+ return jcrProvider.getKey()+":"+uuid;
}
=
public Exception getException() {
@@ -694,32 +641,41 @@
return true;
}
=
- public boolean lockFile (boolean rootLock) {
+ public boolean lockFile (boolean systemLock) {
if (exception !=3D null) {
return false;
}
try {
- Session systemSession =3D jcrProvider.getSystemSession();
- Node systemNode =3D (Node) systemSession.getItem(objectNode.ge=
tPath());
- systemNode.unlock();
- systemSession.logout();
- objectNode.refresh(true);
+ if (systemLock) {
+ Session systemSession =3D jcrProvider.getSystemSession();
+ Node systemNode =3D (Node) systemSession.getItem(objectNod=
e.getPath());
+ Lock lock =3D systemNode.lock(false,false);
+ systemNode.setProperty("j:locktoken",lock.getLockToken());
+ systemNode.save();
+ systemSession.removeLockToken(lock.getLockToken());
+ systemSession.logout();
+ objectNode.refresh(true);
+ } else {
+ Lock lock =3D objectNode.lock(false,false);
+ objectNode.setProperty("j:locktoken",lock.getLockToken());
+ session.removeLockToken(lock.getLockToken());
+ }
} catch (RepositoryException e) {
return false;
}
return true;
}
=
- public boolean unlockFile (boolean rootLock) {
+ public boolean unlockFile (boolean systemLock) {
if (exception !=3D null) {
return false;
}
try {
- Session systemSession =3D jcrProvider.getSystemSession();
- Node systemNode =3D (Node) systemSession.getItem(objectNode.ge=
tPath());
- systemNode.unlock();
- systemSession.logout();
- objectNode.refresh(true);
+ Property property =3D objectNode.getProperty("j:locktoken");
+ String v =3D property.getString();
+ session.addLockToken(v);
+ objectNode.unlock();
+ property.remove();
} catch (RepositoryException e) {
return false;
}
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/services/content/JCRStoreProvider.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/services/content/JCRStoreProv=
ider.java&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRStoreProvider.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRStoreProvider.java Wed Jan 2 17:49:29 2008
@@ -345,15 +345,29 @@
NodeIterator ni =3D qr.getNodes();
try {
while (ni.hasNext()) {
- Node rootNode =3D ni.nextNode();
- session.importXML(rootNode.getPath(), new FileInputStr=
eam(Jahia.getSettings().getJahiaEtcDiskPath() + "/repository/site.xml"),Imp=
ortUUIDBehavior.IMPORT_UUID_CREATE_NEW);
- session.move(rootNode.getPath()+"/site", rootNode.getP=
ath()+"/"+site.getSiteKey());
+ Node sitesFolder =3D ni.nextNode();
+ String options =3D "";
+ if (sitesFolder.hasProperty("j:virtualsitesFolderConfi=
g")) {
+ options =3D sitesFolder.getProperty("j:virtualsite=
sFolderConfig").getString();
+ }
+
+ Node f =3D getPathFolder(sitesFolder, site.getSiteKey(=
), options);
+ try {
+ f.getNode(site.getSiteKey());
+ } catch (PathNotFoundException e) {
+ if (sitesFolder.hasProperty("j:virtualsitesFolderS=
keleton")) {
+ session.importXML(f.getPath(), new FileInputSt=
ream(Jahia.getSettings().getJahiaEtcDiskPath() + "/repository/"+ sitesFolde=
r.getProperty("j:virtualsitesFolderSkeleton").getString()),ImportUUIDBehavi=
or.IMPORT_UUID_CREATE_NEW);
+ session.move(f.getPath()+"/site", f.getPath()+=
"/"+site.getSiteKey());
+ } else {
+ f.addNode(site.getSiteKey(), Constants.JAHIANT=
_VIRTUALSITE);
+ }
+ session.save();
+ }
}
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement =
use File | Settings | File Templates.
}
=
- session.save();
} finally {
session.logout();
}
@@ -367,26 +381,24 @@
try {
while (ni.hasNext()) {
Node usersFolderNode =3D ni.nextNode();
- try {
- String options =3D "";
- if (usersFolderNode.hasProperty("j:usersFolderConfig")=
) {
- options =3D usersFolderNode.getProperty("j:usersFo=
lderConfig").getString();
- }
- if (options.contains("initials")) {
- String s =3D "" + Character.toUpperCase(username.c=
harAt(0));
- if (!usersFolderNode.hasNode(s)) {
- usersFolderNode =3D usersFolderNode.addNode(s,=
"jnt:systemfolder");
- } else {
- usersFolderNode =3D usersFolderNode.getNode(s)=
; =
- }
- }
+ String options =3D "";
+ if (usersFolderNode.hasProperty("j:usersFolderConfig")) {
+ options =3D usersFolderNode.getProperty("j:usersFolder=
Config").getString();
+ }
+
+ Node f =3D getPathFolder(usersFolderNode, username, option=
s);
=
- usersFolderNode.getNode(username);
+ try {
+ f.getNode(username);
} catch (PathNotFoundException e) {
- session.importXML(usersFolderNode.getPath(), new FileI=
nputStream(Jahia.getSettings().getJahiaEtcDiskPath() + "/repository/user.xm=
l"),ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
- session.move(usersFolderNode.getPath()+"/user", usersF=
olderNode.getPath()+"/"+username);
+ if (usersFolderNode.hasProperty("j:usersFolderSkeleton=
")) {
+ session.importXML(f.getPath(), new FileInputStream=
(Jahia.getSettings().getJahiaEtcDiskPath() + "/repository/" + usersFolderNo=
de.getProperty("j:usersFolderSkeleton").getString()),ImportUUIDBehavior.IMP=
ORT_UUID_CREATE_NEW);
+ session.move(f.getPath()+"/user", f.getPath()+"/"+=
username);
+ } else {
+ f.addNode(username, Constants.JAHIANT_FOLDER);
+ }
session.save();
- JCRFileNodeWrapper file =3D getFileNodeWrapper(usersFo=
lderNode.getPath()+"/"+username,null,session);
+ JCRFileNodeWrapper file =3D getFileNodeWrapper(f.getPa=
th()+"/"+username,null,session);
file.changePermissions("u:"+username, "rw");
session.save();
}
@@ -396,6 +408,19 @@
}
}
=
+ private Node getPathFolder(Node root, String name, String options) thr=
ows RepositoryException {
+ Node result =3D root;
+ if (options.contains("initials")) {
+ String s =3D "" + Character.toUpperCase(name.charAt(0));
+ if (!result.hasNode(s)) {
+ result =3D result.addNode(s,"jnt:systemfolder");
+ } else {
+ result =3D result.getNode(s);
+ }
+ }
+ return result;
+ }
+
=
public String getAbsoluteContextPath(ServletRequest request) {
StringBuffer serverUrlBuffer =3D new StringBuffer(request.getSchem=
e());
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/services/fields/ContentFileField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/services/fields/ContentFileFi=
eld.java&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/fields/ContentFileField.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/fields/ContentFileField.java Wed Jan 2 17:49:29 2008
@@ -123,7 +123,7 @@
=
if (file.isValid () && file.hasRevisions ()) {
// String fieldPrefix =3D getID()+";";
- List usages =3D JahiaWebdavBaseService.getInstance ().findUsag=
es (file.getPath (),
+ List usages =3D JahiaWebdavBaseService.getInstance ().findUsag=
es (file.getStorageName(),
jParams.getSite(), true);
// String list =3D (String) file.getProperty("http://www.jahia.=
org/", "publishedfieldsinuse");
boolean wasLocked =3D fromEntryState.getWorkflowState () =3D=
=3D EntryLoadRequest.ACTIVE_WORKFLOW_STATE || fromEntryState.getWorkflowSta=
te () =3D=3D EntryLoadRequest.WAITING_WORKFLOW_STATE;
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-IN=
F/etc/repository/jackrabbit/jahia-nodetypes.cnd
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/repository/jackrabbit/jah=
ia-nodetypes.cnd&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/jackrabbit/jahia-nodetypes.cnd (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/jackrabbit/jahia-nodetypes.cnd Wed Jan 2 17:49:29 2008
@@ -43,22 +43,27 @@
[jmix:acl] mixin
- j:applyAcl (string)
=
+[jmix:lockable] > mix:lockable mixin
+ - j:locktoken (string)
+
// Files
[jnt:folder] > nt:folder, jmix:metadata, jmix:acl, mix:referenceable
=
[jnt:systemfolder] > jnt:folder
=
-[jnt:file] > nt:file, jmix:metadata, jmix:acl, mix:referenceable
+[jnt:file] > nt:file, jmix:metadata, jmix:acl, mix:referenceable, jmix:loc=
kable
- j:fieldsinuse (long) multiple
=
[jmix:usersFolder] mixin
- j:usersFolderConfig (string)
+ - j:usersFolderSkeleton (string)
=
[jmix:groupsFolder] mixin
- j:groupsFolderConfig (string)
=
[jmix:virtualsitesFolder] mixin
- j:virtualsitesFolderConfig (string)
+ - j:virtualsitesFolderSkeleton (string)
=
[jnt:axisView] > jnt:systemfolder
- j:nodetype (name) multiple
@@ -71,7 +76,7 @@
- j:link (reference)
=
// Virtual site
-[jnt:virtualsite] > jnt:systemfolder
+[jnt:virtualsite] > jnt:folder
- j:name (string)
- j:server (string)
=
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-IN=
F/etc/repository/root.xml
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/repository/root.xml&rev=
=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/root.xml (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/root.xml Wed Jan 2 17:49:29 2008
@@ -1,10 +1,11 @@
<content jcr:primaryType=3D"jnt:systemfolder" jcr:mixinTypes=3D"jmix:virtu=
alsitesFolder" j:applyAcl=3D"g:guest:r-"
+ j:virtualsitesFolderSkeleton=3D"site.xml"
xmlns:jcr=3D"http://www.jcp.org/jcr/1.0"
xmlns:j=3D"http://www.jahia.org/jahia/1.0"
xmlns:jnt=3D"http://www.jahia.org/jahia/nt/1.0">
=
<shared jcr:primaryType=3D"jnt:folder" j:applyAcl=3D"g:users:rw" />
=
- <users jcr:primaryType=3D"jnt:systemfolder" jcr:mixinTypes=3D"jmix:use=
rsFolder" j:usersFolderConfig=3D"initials" />
- =
+ <users jcr:primaryType=3D"jnt:systemfolder" jcr:mixinTypes=3D"jmix:use=
rsFolder" j:usersFolderConfig=3D"initials" j:usersFolderSkeleton=3D"user.xm=
l"/>
+
</content>
\ No newline at end of file
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-IN=
F/etc/repository/site.xml
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/repository/site.xml&rev=
=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/site.xml (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/webapp/WEB-INF/etc/=
repository/site.xml Wed Jan 2 17:49:29 2008
@@ -1,4 +1,4 @@
-<site jcr:primaryType=3D"jnt:virtualsite"
+<site jcr:primaryType=3D"jnt:virtualsite" j:applyAcl=3D"g:users:rw"
xmlns:jcr=3D"http://www.jcp.org/jcr/1.0"
xmlns:j=3D"http://www.jahia.org/jahia/1.0"
xmlns:jnt=3D"http://www.jahia.org/jahia/nt/1.0">
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/jackrabbit-ext/core/sr=
c/java/org/apache/jackrabbit/core/security/JahiaAccessManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/jackrabbit-ext/core/src/java/org/apache/jackrabbit/co=
re/security/JahiaAccessManager.java&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/jackrabbit-ext/core/src/java=
/org/apache/jackrabbit/core/security/JahiaAccessManager.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/jackrabbit-ext/core/src/java=
/org/apache/jackrabbit/core/security/JahiaAccessManager.java Wed Jan 2 17:=
49:29 2008
@@ -117,8 +117,7 @@
Item i =3D s.getItem(jcrPath);
if (i.isNode() && permissions !=3D AccessManager.READ) {
String ntName =3D ((Node) i).getPrimaryNodeType().getN=
ame();
- if (ntName.equals(Constants.JAHIANT_SYSTEMFOLDER) || n=
tName.equals(org.jahia.api.Constants.JAHIANT_VIRTUALSITE)
- || ntName.equals("rep:root")) {
+ if (ntName.equals(Constants.JAHIANT_SYSTEMFOLDER) || n=
tName.equals("rep:root")) {
return false;
}
}
Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/public-api/src/java/or=
g/jahia/jaas/JahiaLoginModule.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/public-api/src/java/org/jahia/jaas/JahiaLoginModule.j=
ava&rev=3D19441&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/public-api/src/java/org/jahi=
a/jaas/JahiaLoginModule.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/public-api/src/java/org/jahi=
a/jaas/JahiaLoginModule.java Wed Jan 2 17:49:29 2008
@@ -28,8 +28,8 @@
* To change this template use File | Settings | File Templates.
*/
public class JahiaLoginModule implements LoginModule {
- public static final String SYSTEM =3D "@system";
- public static final String GUEST =3D "@guest";
+ public static final String SYSTEM =3D " system ";
+ public static final String GUEST =3D " guest ";
=
private static IdentifierGenerator idGen =3D IdentifierGeneratorFactor=
y.newInstance().uuidVersionFourGenerator();
private static HashMap systemPass =3D new HashMap();
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list