private synchronized ConstraintReportId nextConstraintReportId() { String failureId=null; do { failureId=UUID.randomUUID().toString(); } while(this.reports.containsKey(failureId)); ConstraintReportId reportId=ConstraintReportId.create(this.id, failureId); this.reports.put(failureId, reportId); return reportId; }
/** * {@inheritDoc} */ @Override public void remove(ConstraintReport report) { checkNotNull(report,"Constraint report cannot be null"); this.lock.writeLock().lock(); try { ConstraintReportId reportId = report.id(); this.failureIds.remove(reportId.resourceId(),reportId.failureId()); this.reports.remove(reportId); } finally { this.lock.writeLock().unlock(); } }
public static ConstraintReportId create(ResourceId resourceId, String failureId) { checkNotNull(resourceId,"Resource identifier cannot be null"); checkNotNull(failureId,"Failure identifier cannot be null"); return new ConstraintReportId(resourceId,failureId); }
/** * {@inheritDoc} */ @Override public void removeFailure(ConstraintReport report) { if(report!=null) { String failureId = report.id().failureId(); synchronized(this) { this.reports.remove(failureId); } } }
@Test public void testReturnsResourceId() { assertThat(constraintReportId("name","failureId").resourceId(),equalTo(resourceId("name"))); }
@Test public void testHasCustomString() { ConstraintReportId id = constraintReportId("name","failureId"); assertThat(id.toString(),not(equalTo(ConstraintReportId.class.getName()+"@"+System.identityHashCode(id)))); }
/** * {@inheritDoc} */ @Override public void removeFailure(ConstraintReport report) { if(report!=null) { String failureId = report.id().failureId(); synchronized(this) { this.failures.remove(failureId); } } }
@Override public void execute(ConstraintReportRepository sut) { sut.removeByResource(new JPAResource(ep1.id().resourceId())); ConstraintReport result1 = sut.constraintReportOfId(ep1.id()); System.out.println(result1); ConstraintReport result2 = sut.constraintReportOfId(ep2.id()); System.out.println(result2); } }
private synchronized ConstraintReportId nextConstraintReportId() { String failureId=null; do { failureId=UUID.randomUUID().toString(); } while(this.failures.contains(failureId)); ConstraintReportId reportId=ConstraintReportId.create(this.id, failureId); this.failures.add(failureId); return reportId; }
/** * {@inheritDoc} */ @Override public void add(ConstraintReport report) { checkNotNull(report,"Constraint report cannot be null"); this.lock.writeLock().lock(); try { ConstraintReportId id = report.id(); this.failureIds.put(id.resourceId(),id.failureId()); this.reports.put(id,report); } finally { this.lock.writeLock().unlock(); } }
private void registerConstraintReport(Resource resource, InvalidContentException error) { ConstraintReport report= resource. addConstraintReport( error.getConstraints(), new Date(), currentRequest()); this.constraintReportRepository.add(report); LOGGER.debug("Constraint validation failed. Registered constraint report {}",report.id()); error.setConstraintsId(report.id().failureId()); }
/** * {@inheritDoc} */ @Override public Set<ConstraintReportId> constraintReports() { Set<String> currentFailures=null; synchronized(this) { currentFailures=ImmutableSet.copyOf(this.failures); } Builder<ConstraintReportId> builder=ImmutableSet.builder(); for(String failure:currentFailures) { builder.add(ConstraintReportId.create(this.id,failure)); } return builder.build(); }
@Test public void testReturnsFailureId() { assertThat(constraintReportId("name","failureId").failureId(),equalTo("failureId")); }
/** * {@inheritDoc} */ @Override public void removeByResource(Resource resource) { checkNotNull(resource,"Resource cannot be null"); this.lock.writeLock().lock(); try { ResourceId resourceId = resource.id(); for(String constraintsId:this.failureIds.get(resourceId)) { this.reports.remove(ConstraintReportId.create(resourceId, constraintsId)); } this.failureIds.removeAll(resourceId); } finally { this.lock.writeLock().unlock(); } }
@SuppressWarnings("rawtypes") private ConstraintReportTransformer(Resource resource, ConstraintReport report) { this.report = report; ManagedIndividualId tId = ManagedIndividualId.createId(resource.id().name(), resource.id().templateId()); ManagedIndividualId rId = ManagedIndividualId.createId(URI.create("?ldp:constrainedBy="+report.id().failureId()), tId); this.dataset=DataSets.createDataSet(rId.name()); this.constraintReport= dataset.individual(rId, ManagedIndividual.class); this.targetResource = dataset.individual(tId, ManagedIndividual.class); this.failedRequest=dataset.individual((Name)NamingScheme.getDefault().name("request"), LocalIndividual.class); }