private void addModels(Map<String, Map<String, Object>> entities, Map<String, Model> models) { // Step 1 : add models defined explicitly for some entities for (String modelId : models.keySet()) { Model model = models.get(modelId); if (model.getEntities().isPresent()) { for (String entity : model.getEntities().get()) { addModelsToEntity(entities, entity, modelId, model); } } } // Step 2 add addon groups for all entities for (String modelId : models.keySet()) { Model model = models.get(modelId); if (!model.getEntities().isPresent()) { for (String entity : entities.keySet()) { addModelsToEntity(entities, entity, modelId, model); } } } }
@Override public Optional<String> resolveModelPath(String id) { if (getThemeDefinition() == null) { return Optional.absent(); } Map<String, Model> models = getThemeDefinition().getModels(); if (models.containsKey(id)) { return Optional.fromNullable(models.get(id).getFile()); } return Optional.absent(); }