Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.openl.rules.repository.jcr;
  
 import static org.openl.rules.repository.jcr.NodeUtil.isSame;
 
 import javax.jcr.Node;
 
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 public abstract class JcrProductionEntity implements REntity {
     private String name;
     private Node node;
     private Date effectiveDate;
     private Date expirationDate;
     private String lineOfBusiness;
 
     private Map<StringObjectprops;
 
     public JcrProductionEntity(Node nodethrows RepositoryException {
         this. = node;
 
          = node.getName();
 
         if (node.hasProperty(.)) {
              = new Date(node.getProperty(.).getLong());
         }
         if (node.hasProperty(.)) {
         }
         if (node.hasProperty(.)) {
         }
 
          = new HashMap<StringObject>();
         loadProps();
     }
 
     public void addProperty(String nameValueType typeObject valuethrows RRepositoryException {
         throw new UnsupportedOperationException();
     }
 
     private void buildPath(Node nodeStringBuilder sbthrows RepositoryException {
         if (!node.isNodeType(.)) {
             buildPath(node.getParent(), sb);
         }
 
         sb.append("/").append(node.getName());
     }

    
Deletes entity. Also can delete other entities. For example, deleting a folder will lead to deleting all its sub entities.

 
     public void delete() throws RRepositoryException {
         throw new UnsupportedOperationException();
     }

    
Gets active version of the entity.

Returns:
active version
 
     public RVersion getActiveVersion() {
         return null;
     }
 
     public Date getEffectiveDate() {
         return ;
     }
 
     public Date getExpirationDate() {
         return ;
     }
 
     public String getLineOfBusiness() {
         return ;
     }
 
     public String getName() {
         return ;
     }

    
Returns path of entity.

Returns:
path of entity
Throws:
org.openl.rules.repository.exceptions.RRepositoryException if failed
    public String getPath() throws RRepositoryException {
        StringBuilder sb = new StringBuilder(32);
        try {
            buildPath(node(), sb);
        } catch (RepositoryException e) {
            throw new RRepositoryException("error building path"e);
        }
        return sb.toString();
    }
    public Collection<PropertygetProperties() {
        return null;
    }
    public Property getProperty(String namethrows RRepositoryException {
        throw new UnsupportedOperationException();
    }
    public Map<StringObjectgetProps() {
        return ;
    }

    
Gets version history of the entity.

Returns:
list of versions
    public List<RVersiongetVersionHistory() throws RRepositoryException {
        return null;
    }
    public boolean hasProperty(String name) {
        throw new UnsupportedOperationException();
    }
    private void loadProps() throws RepositoryException {
        Node n = node();
        for (int i = 1; i <= .i++) {
            String propName = . + i;
            if (n.hasProperty(propName)) {
                Value value = n.getProperty(propName).getValue();
                Object propValue = null;
                int valueType = value.getType();
                switch (valueType) {
                    case .:
                        propValue = value.getDate().getTime();
                        break;
                    case .:
                        propValue = value.getDouble();
                        break;
                    default:
                        propValue = value.getString();
                        break;
                }
                .put(propNamepropValue);
            }
        }
    }
    protected Node node() {
        return ;
    }
    public void removeProperty(String namethrows RRepositoryException {
        throw new UnsupportedOperationException();
    }
    public void setEffectiveDate(Date datethrows RRepositoryException {
        // do not update JCR if property wasn't changed
        if (isSame(date)) {
            return;
        }
        Node n = node();
        try {
            n.setProperty(.date.getTime());
             = date;
        } catch (RepositoryException e) {
            throw new RRepositoryException("Cannot set effectiveDate"e);
        }
    }
    public void setExpirationDate(Date datethrows RRepositoryException {
        // do not update JCR if property wasn't changed
        if (isSame(date)) {
            return;
        }
        Node n = node();
        try {
            n.setProperty(.date.getTime());
             = date;
        } catch (RepositoryException e) {
            throw new RRepositoryException("Cannot set expirationDate"e);
        }
    }
    public void setLineOfBusiness(String lineOfBusinessthrows RRepositoryException {
        // do not update JCR if property wasn't changed
        if (isSame(this.lineOfBusiness)) {
            return;
        }
        Node n = node();
        try {
            n.setProperty(.lineOfBusiness);
            this. = lineOfBusiness;
        } catch (RepositoryException e) {
            throw new RRepositoryException("Cannot set LOB"e);
        }
    }

    
Sets the property in node.

Parameters:
propName property name
propValue property value
Returns:
true if the property is set successfully
    private boolean setProperty(String propNameObject propValuethrows RRepositoryException {
        Node n = node();
        try {
            NodeUtil.smartCheckout(nfalse);
            if (propValue instanceof Date) {
                n.setProperty(propName, ((DatepropValue).getTime());
            } else if (propValue instanceof Double) {
                n.setProperty(propName, (DoublepropValue);
            } else {
                n.setProperty(propNamepropValue.toString());
            }
            return true;
        } catch (RepositoryException e) {
            throw new RRepositoryException("Cannot set property " + propName + "."e);
        }
    }
    public void setProps(Map<StringObjectpropsthrows RRepositoryException {
        if (props == null) {
            return;
        }
        // do not update JCR if property wasn't changed
        if (isSame(this.props)) {
            return;
        }
        Set<StringpropNames = props.keySet();
        for (String propName : propNames) {
            Object propValue = props.get(propName);
            setProperty(propNamepropValue);
        }
        this. = props;
    }
    public RLock getLock() throws RRepositoryException {
        throw new UnsupportedOperationException();
    }
    public boolean isLocked() throws RRepositoryException {
        return false;
    }
    public void lock(CommonUser userthrows RRepositoryException {
        throw new UnsupportedOperationException();
    }
    public void unlock(CommonUser userthrows RRepositoryException {
        throw new UnsupportedOperationException();
    }
    public void riseVersion(int majorint minorthrows RRepositoryException {
        throw new UnsupportedOperationException();
    }
    public void commit(CommonUser userthrows RRepositoryException {
        throw new UnsupportedOperationException();
    }
New to GrepCode? Check out our FAQ X