CPD Results

The following document contains the results of PMD's CPD 4.2.5.

Duplications

File Line
it/amattioli/dominate/specifications/hibernate/HqlMultipleEntitySpecification.java 27
it/amattioli/dominate/specifications/hibernate/HqlMultipleEnumSpecification.java 50
	}

	@Override
	public void itselfAssembleQuery(Assembler assembler) {
		addHqlCondition((HqlAssembler)assembler);
		setHqlParam((HqlAssembler)assembler);
	}
	
	public boolean itselfSupportsAssembler(Assembler assembler) {
		return assembler instanceof HqlAssembler;
	}

	public void addHqlCondition(HqlAssembler assembler) {
		if (wasSet()) {
	        assembler.newCriteria();
	        if (alias != null) {
	        	assembler.append(alias).append(".");
	        } else {
            	assembler.append(assembler.getAliasPrefix());
            }
	        assembler.append(hqlPropertyName(getPropertyName()))
			         .append(" in ( ");
	        for (int i = 0; i < getValue().size(); i++) {
	        	assembler.append(":").append(normalizedPropertyName(getPropertyName())).append(Integer.toString(i));
				if (i != getValue().size() - 1) {
					assembler.append(" , ");
				}
	        }
	        assembler.append(" )");
		}
    }
	
	public void setHqlParam(HqlAssembler assembler) {
		if (wasSet()) {
	    	assembler.addParameter(new HqlAssembler.ParameterSetter() {
	
				@Override
				public void setParameter(Query query) {
					int i = 0;
		            for (U value : getValue()) {
		                query.setParameter(normalizedPropertyName(getPropertyName()) + (i++), value, hibernateType);
File Line
it/amattioli/dominate/hibernate/filters/MultipleEntityFilter.java 47
it/amattioli/dominate/hibernate/filters/MultipleEnumFilter.java 56
    }

    public void addCriteria(Criteria crit) {
        if (wasSet()) {
            crit.add(Restrictions.in(attributeName, get()));
        }
    }

    public void addHqlCondition(StringBuffer buffer) {
        if (wasSet()) {
            if (buffer.length() == 0) {
                buffer.append("where ");
            } else {
                buffer.append("and ");
            }
            if (alias != null) {
            	buffer.append(alias).append('.');
            }
            buffer.append(attributeName)
                  .append(" in ( ");
            for (int i = 0; i < get().size(); i++) {
                buffer.append(":").append(attributeName.replace('.', '_')).append(i);
                if (i != get().size() - 1) {
                    buffer.append(" , ");
                }
            }
            buffer.append(" )");
        }
    }

    public void setHqlParam(Query query) {
        if (wasSet()) {
            int i = 0;
            for (T value : get()) {
                query.setParameter(attributeName.replace('.', '_') + (i++), value, Hibernate.custom(hibernateType));
File Line
it/amattioli/dominate/specifications/hibernate/HqlEnumSpecification.java 39
it/amattioli/dominate/specifications/hibernate/HqlMultipleEnumSpecification.java 39
	public HqlMultipleEnumSpecification(String propertyName, Class<U> enumClass, Class<? extends UserType> hibernateType, String alias) {
		this(propertyName, enumClass, hibernateType);
		this.alias = alias;
	}
	
	@Override
	protected void setEnumClass(Class<U> enumClass) {
		super.setEnumClass(enumClass);
		Properties props = new Properties();
		props.put(EnumUserType.ENUM_CLASS_PARAM, enumClass.getName());
		this.hibernateType = Hibernate.custom(EnumUserType.class, props);
	}

	@Override
	public void itselfAssembleQuery(Assembler assembler) {
		addHqlCondition((HqlAssembler)assembler);
		setHqlParam((HqlAssembler)assembler);
	}
	
	public boolean itselfSupportsAssembler(Assembler assembler) {
		return assembler instanceof HqlAssembler;
	}

	public void addHqlCondition(HqlAssembler assembler) {
		if (wasSet()) {
	        assembler.newCriteria();
	        if (alias != null) {
	        	assembler.append(alias).append(".");
	        } else {
            	assembler.append(assembler.getAliasPrefix());
            }
	        assembler.append(hqlPropertyName(getPropertyName()))
			         .append(" in ( ");
File Line
it/amattioli/dominate/specifications/hibernate/HqlEntitySpecification.java 25
it/amattioli/dominate/specifications/hibernate/HqlObjectSpecification.java 23
		this(propertyName);
		this.alias = alias;
	}
	
	@Override
	public void itselfAssembleQuery(Assembler assembler) {
		addHqlCondition((HqlAssembler)assembler);
		setHqlParam((HqlAssembler)assembler);
	}
	
	public boolean itselfSupportsAssembler(Assembler assembler) {
		return assembler instanceof HqlAssembler;
	}

	public void addHqlCondition(HqlAssembler assembler) {
		if (wasSet()) {
	        assembler.newCriteria();
	        if (alias != null) {
	        	assembler.append(alias).append(".");
	        } else {
            	assembler.append(assembler.getAliasPrefix());
            }
	        assembler.append(hqlPropertyName(getPropertyName()))
	                 .append(" = :")
	                 .append(normalizedPropertyName(getPropertyName()))
	                 .append(" ");
		}
    }
	
	public void setHqlParam(HqlAssembler assembler) {
		if (wasSet()) {
	    	assembler.addParameter(new HqlAssembler.ParameterSetter() {
	
				@Override
				public void setParameter(Query query) {
					query.setParameter(normalizedPropertyName(getPropertyName()), getValue());
				}
	    		
	    	});
		}
    }

}
File Line
it/amattioli/dominate/memory/CollectionRepository.java 146
it/amattioli/dominate/memory/MemoryRepository.java 166
        result = result.subList(firstIdx,lastIdx);
        return result;
	}

	public void setFirst(int first) {
        this.first = first;
    }
    
    public int getFirst() {
    	return this.first;
    }

    public void setLast(int last) {
        this.last = last;
    }
    
    public int getLast() {
    	return this.last;
    }

    public void setOrder(String property, boolean reverse) {
        orders.clear();
        addOrder(property, reverse);
    }

    @Override
	public void addOrder(String property, boolean reverse) {
    	orders.add(property,reverse);
	}
    
    @Override
	public void removeLastOrder() {
		orders.removeLast();
	}

	public String getOrderProperty() {
		return orders.getLastProperty();
    }

    public boolean isReverseOrder() {
    	return orders.isLastReverse();
    }
    
    protected List<Order> getOrders() {
    	return orders.getOrders();
    }

    @Override
    protected MemoryRepository<I,T> clone() throws CloneNotSupportedException {
File Line
it/amattioli/dominate/memory/CollectionRepository.java 199
it/amattioli/dominate/memory/MemoryRepository.java 219
		return new MemoryRepository<J, E>(details);
	}

    @Deprecated
    public void fillCollection(Filter criteria, Collection<? super T>... toBeFilled) {
		for (Collection<? super T> curr:toBeFilled) {
			curr.addAll(list(criteria));
		}
	}

	public void fillCollection(Collection<? super T>... toBeFilled) {
		for (Collection<? super T> curr:toBeFilled) {
			curr.addAll(list());
		}
	}
	
	public T getByPropertyValue(String propertyName, Object value) {
    	ObjectSpecification<T> spec = ObjectSpecification.newInstance(propertyName);
    	spec.setValue(value);
    	List<T> all = list(spec);
    	if (all.isEmpty()) {
    		return null;
    	} else {
    		return all.get(0);
    	}
    }
}
File Line
it/amattioli/dominate/hibernate/filters/EntityFilter.java 42
it/amattioli/dominate/hibernate/filters/LongFilter.java 20
    }

    protected boolean wasSet() {
        return get() != null;
    }

    public void addCriteria(Criteria crit) {
        if (wasSet()) {
            crit.add(Restrictions.eq(attributeName, get()));
        }
    }

    public void addHqlCondition(StringBuffer buffer) {
        if (wasSet()) {
            if (buffer.length() == 0) {
                buffer.append("where ");
            } else {
                buffer.append("and ");
            }
            if (alias != null) {
            	buffer.append(alias).append('.');
            }
            buffer.append(attributeName)
                  .append(" = :")
                  .append(attributeName.replace('.', '_'))
                  .append(" ");
        }
    }

    public void setHqlParam(Query query) {
        if (wasSet()) {
File Line
it/amattioli/dominate/hibernate/types/EnumUserType.java 56
it/amattioli/dominate/hibernate/types/ExternalEntityUserType.java 70
    public Object deepCopy(Object value) throws HibernateException{ 
        return value; 
    } 
 
    public boolean isMutable() { 
        return false; 
    } 
 
    public Object assemble(Serializable cached, Object owner) {  
         return cached;
    } 

    public Serializable disassemble(Object value) { 
        return (Serializable)value; 
    } 
 
    public Object replace(Object original, Object target, Object owner) { 
        return original; 
    }
    
    public int hashCode(Object x) { 
        return x.hashCode(); 
    }
    
    public boolean equals(Object x, Object y) { 
    	if (x == y) {
    		return true;
    	}
    	if (null == x || null == y) {
    		return false;
    	}
    	return x.equals(y);
    }

	@Override
	public void setParameterValues(Properties props) {
		if (props != null) {
			String s =(String)props.get(ENTITY_CLASS_PARAM);
File Line
it/amattioli/dominate/specifications/hibernate/HqlEntitySpecification.java 24
it/amattioli/dominate/specifications/hibernate/HqlMultipleEntitySpecification.java 24
	public HqlMultipleEntitySpecification(String propertyName, Class<U> enumClass, String alias) {
		this(propertyName, enumClass);
		this.alias = alias;
	}
	
	@Override
	public void itselfAssembleQuery(Assembler assembler) {
		addHqlCondition((HqlAssembler)assembler);
		setHqlParam((HqlAssembler)assembler);
	}
	
	public boolean itselfSupportsAssembler(Assembler assembler) {
		return assembler instanceof HqlAssembler;
	}

	public void addHqlCondition(HqlAssembler assembler) {
		if (wasSet()) {
	        assembler.newCriteria();
	        if (alias != null) {
	        	assembler.append(alias).append(".");
	        } else {
            	assembler.append(assembler.getAliasPrefix());
            }
	        assembler.append(hqlPropertyName(getPropertyName()))
			         .append(" in ( ");
File Line
it/amattioli/dominate/specifications/EnumSpecification.java 66
it/amattioli/dominate/specifications/MultipleEnumSpecification.java 60
	public Collection<U> getValue() {
		return value;
	}

	@SuppressWarnings("unchecked")
    public Collection<T> getAdmittedValues() {
        try {
            return Arrays.asList((T[])enumClass.getMethod("values").invoke(null));
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        } catch (InvocationTargetException e) {
            throw new RuntimeException(e);
        } catch (NoSuchMethodException e) {
            throw new RuntimeException(e);
        }
    }
	
	@Override
	public boolean isSatisfiedBy(T entity) {
		if (!wasSet()) {
			return isSatisfiedIfNotSet();
		}
		U propertyValue = (U)Properties.get(entity, getPropertyName());
		return getValue().contains(propertyValue);
File Line
it/amattioli/dominate/hibernate/AbstractHibernateFilter.java 10
it/amattioli/dominate/memory/AbstractCollectionFilter.java 7
public abstract class AbstractCollectionFilter implements CollectionFilter {
	private int first;
	private int last;
	private PropertyChangeSupport pChange = new PropertyChangeSupport(this);

    public void addPropertyChangeListener(final PropertyChangeListener listener) {
        pChange.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(final PropertyChangeListener listener) {
        pChange.removePropertyChangeListener(listener);
    }

    public void firePropertyChange(final String propertyName, final Object oldValue, final Object newValue) {
        pChange.firePropertyChange(propertyName, oldValue, newValue);
    }

    @Override
	public int getFirst() {
		return first;
	}

    @Override
	public void setFirst(int first) {
		this.first = first;
	}

    @Override
	public int getLast() {
		return last;
	}

    @Override
	public void setLast(int last) {
		this.last = last;
	}
File Line
it/amattioli/dominate/memory/MemoryRepository.java 122
it/amattioli/dominate/memory/MemoryRepository.java 151
    	int last = getLast();
        if (!orders.isEmpty()) {
            Collections.sort(result,new MultiPropertyComparator<T>(getOrders()));
        }
        int firstIdx = first;
        if (firstIdx > result.size()) {
        	firstIdx = Math.max(0, result.size());
        }
        int lastIdx = last + 1;
        if (lastIdx <= 0 || lastIdx > result.size()) {
            lastIdx = result.size(); 
        }
        if (lastIdx < firstIdx) {
        	lastIdx = firstIdx;
        }
        result = result.subList(firstIdx,lastIdx);
        return result;
	}
File Line
it/amattioli/dominate/specifications/hibernate/HqlLongSpecification.java 21
it/amattioli/dominate/specifications/hibernate/HqlObjectSpecification.java 23
		this(propertyName);
		this.alias = alias;
	}
	
	@Override
	public void itselfAssembleQuery(Assembler assembler) {
		addHqlCondition((HqlAssembler)assembler);
		setHqlParam((HqlAssembler)assembler);
	}
	
	public boolean itselfSupportsAssembler(Assembler assembler) {
		return assembler instanceof HqlAssembler;
	}

	public void addHqlCondition(HqlAssembler assembler) {
		if (wasSet()) {
	        assembler.newCriteria();
	        if (alias != null) {
	        	assembler.append(alias).append(".");
	        } else {
            	assembler.append(assembler.getAliasPrefix());
            }
	        assembler.append(hqlPropertyName(getPropertyName()))
	                 .append(" = :")
File Line
it/amattioli/dominate/specifications/hibernate/HqlEntitySpecification.java 25
it/amattioli/dominate/specifications/hibernate/HqlLongSpecification.java 21
		super(propertyName);
		this.alias = alias;
	}
	
	@Override
	public void itselfAssembleQuery(Assembler assembler) {
		addHqlCondition((HqlAssembler)assembler);
		setHqlParam((HqlAssembler)assembler);
	}
	
	public boolean itselfSupportsAssembler(Assembler assembler) {
		return assembler instanceof HqlAssembler;
	}

	public void addHqlCondition(HqlAssembler assembler) {
		if (wasSet()) {
	        assembler.newCriteria();
	        if (alias != null) {
	        	assembler.append(alias).append(".");
	        } else {
            	assembler.append(assembler.getAliasPrefix());
            }
	        assembler.append(hqlPropertyName(getPropertyName()))
	              .append(" " + getHqlOperator() + " :")
File Line
it/amattioli/dominate/hibernate/ClassHibernateRepository.java 333
it/amattioli/dominate/hibernate/CollectionHibernateRepository.java 143
	public void fillCollection(Filter criteria, Collection<? super T>... toBeFilled) {
		//TODO: andrebbe implementato usando il metodo scroll di Query e Criteria
		Collection<T> result = list(criteria);
		for (T currRes: result) {
			for(Collection<? super T> currColl: toBeFilled) {
				currColl.add(currRes);
			}
		}
	}

	public void fillCollection(Collection<? super T>... toBeFilled) {
		//TODO: andrebbe implementato usando il metodo scroll di Query e Criteria
		Collection<T> result = list();
		for (T currRes: result) {
			for(Collection<? super T> currColl: toBeFilled) {
				currColl.add(currRes);
			}
		}
	}
File Line
it/amattioli/dominate/specifications/hibernate/HqlEntitySpecification.java 27
it/amattioli/dominate/specifications/hibernate/HqlMultipleEnumSpecification.java 50
	}
	
	@Override
	public void itselfAssembleQuery(Assembler assembler) {
		addHqlCondition((HqlAssembler)assembler);
		setHqlParam((HqlAssembler)assembler);
	}
	
	public boolean itselfSupportsAssembler(Assembler assembler) {
		return assembler instanceof HqlAssembler;
	}

	public void addHqlCondition(HqlAssembler assembler) {
		if (wasSet()) {
	        assembler.newCriteria();
	        if (alias != null) {
	        	assembler.append(alias).append(".");
	        } else {
            	assembler.append(assembler.getAliasPrefix());
            }
	        assembler.append(hqlPropertyName(getPropertyName()))
	                 .append(" like :")