/** * Views plugin creates copy of technical projects and should be allowed to copy all measures even internal ones */ private boolean isViewResource(Resource resource) { boolean isTechnicalProject = Scopes.FILE.equals(resource.getScope()) && Qualifiers.PROJECT.equals(resource.getQualifier()); return isTechnicalProject || ResourceUtils.isView(resource) || ResourceUtils.isSubview(resource); }
private Constants.ComponentType getType(Resource r) { if (ResourceUtils.isFile(r)) { return Constants.ComponentType.FILE; } else if (ResourceUtils.isDirectory(r)) { return Constants.ComponentType.DIRECTORY; } else if (ResourceUtils.isModuleProject(r)) { return Constants.ComponentType.MODULE; } else if (ResourceUtils.isRootProject(r)) { return Constants.ComponentType.PROJECT; } else if (ResourceUtils.isView(r)) { return Constants.ComponentType.VIEW; } else if (ResourceUtils.isSubview(r)) { return Constants.ComponentType.SUBVIEW; } throw new IllegalArgumentException("Unknown resource type: " + r); }
/** * {@inheritDoc} */ @Override public void decorate(Resource resource, DecoratorContext context) { if (MeasureUtils.hasValue(context.getMeasure(CoreMetrics.DIRECTORIES))) { return; } if (Resource.QUALIFIER_DIRECTORY.equals(resource.getQualifier())) { context.saveMeasure(CoreMetrics.DIRECTORIES, 1.0); } else if (ResourceUtils.isSet(resource) || ResourceUtils.isView(resource) || ResourceUtils.isSubview(resource)) { Collection<Measure> childrenMeasures = context.getChildrenMeasures(CoreMetrics.DIRECTORIES); Double sum = MeasureUtils.sum(false, childrenMeasures); if (sum != null) { context.saveMeasure(CoreMetrics.DIRECTORIES, sum); } } } }