Introduce JCRX checksum and improve JCR last modified routines.
[lgpl/argeo-commons.git] / org.argeo.jcr / src / org / argeo / jcr / proxy / AbstractUrlProxy.java
index c912a6ef5ad311aa5dc2650140f1a185e4138dcc..0984276ddbb90c810d824fde99e3082e81560c17 100644 (file)
@@ -1,18 +1,3 @@
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
 package org.argeo.jcr.proxy;
 
 import java.io.IOException;
@@ -29,7 +14,7 @@ import javax.jcr.nodetype.NodeType;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.argeo.jcr.ArgeoJcrException;
+import org.argeo.jcr.JcrException;
 import org.argeo.jcr.JcrUtils;
 
 /** Base class for URL based proxys. */
@@ -48,9 +33,9 @@ public abstract class AbstractUrlProxy implements ResourceProxy {
                        beforeInitSessionSave(jcrAdminSession);
                        if (jcrAdminSession.hasPendingChanges())
                                jcrAdminSession.save();
-               } catch (Exception e) {
+               } catch (RepositoryException e) {
                        JcrUtils.discardQuietly(jcrAdminSession);
-                       throw new ArgeoJcrException("Cannot initialize Maven proxy", e);
+                       throw new JcrException("Cannot initialize URL proxy", e);
                }
        }
 
@@ -88,7 +73,7 @@ public abstract class AbstractUrlProxy implements ResourceProxy {
                                nodeClient = clientSession.getNode(path);
                        return nodeClient;
                } catch (RepositoryException e) {
-                       throw new ArgeoJcrException("Cannot proxy " + path, e);
+                       throw new JcrException("Cannot proxy " + path, e);
                } finally {
                        if (nodeClient == null)
                                JcrUtils.logoutQuietly(clientSession);
@@ -104,7 +89,7 @@ public abstract class AbstractUrlProxy implements ResourceProxy {
                        return node;
                } catch (RepositoryException e) {
                        JcrUtils.discardQuietly(jcrAdminSession);
-                       throw new ArgeoJcrException("Cannot retrieve and save " + path, e);
+                       throw new JcrException("Cannot retrieve and save " + path, e);
                } finally {
                        notifyAll();
                }
@@ -146,7 +131,7 @@ public abstract class AbstractUrlProxy implements ResourceProxy {
                        }
                        binary = session.getValueFactory().createBinary(in);
                        content.setProperty(Property.JCR_DATA, binary);
-                       JcrUtils.updateLastModifiedAndParents(node, null);
+                       JcrUtils.updateLastModifiedAndParents(node, null, true);
                        return node;
                } finally {
                        JcrUtils.closeQuietly(binary);