@ SuppressWarnings ( "unchecked" ) protected void processObject ( /* String scope, */ Object tempelObject , Set < String > objectClassPath , ITemplateRepository templateRepository , ITemplateSourceFactory templateSourceFactory ) { // Mapa parametrów pliku tempel.xml: if ( tempelObject instanceof Map ) { properties = new TreeMap < String , String > ( ) ; Map < String , String > scopeProperties = ( Map < String , String > ) tempelObject ; for ( String key : scopeProperties . keySet ( ) ) { String value = scopeProperties . get ( key ) ; // value = expressionEvaluator.evaluate(value, properties); // CHECK: scopeProperties.put(key, value); // aktualizacja wartości po rozwinięciu properties . put ( key , value ) ; } // properties.put(scope, Collections.unmodifiableMap(scopeProperties)); return ; } // Mapa zależności pliku tempel.xml if ( tempelObject instanceof List ) { dependencies = ( List < TempelDependency > ) tempelObject ; return ; } // Definicja szabloun z pliku tempel.xml: if ( tempelObject instanceof Template ) { Template < ? > template = ( Template < ? > ) tempelObject ; // Rozbudowa ścieżki klas szablonu o elementy specyficzne dla repozytorium: template . addTemplateClassPathExtender ( new RepositoryTemplateClassPathExtender ( ) ) ; template . addTemplateClassPathExtender ( new DependenciesTemplateClassPathExtender ( ) ) ; // Rozbudowa ścieżki klas szablonu o zależności szablonu (dla repozytoriów typu Maven): template . addTemplateClassPathExtender ( new FixedSetTemplateClassPathExtender ( objectClassPath ) ) ; // List<TemplateReference> referenceResources = template.getReferences(); // if(referenceResources != null && !referenceResources.isEmpty()) { // template.addTemplateClassPathExtender(new ReferenceDependenciesTemplateClassPathExtender(referenceResources)); // } // Ustawianie referencji we wszystkich podszablonach: if ( template . getResources ( ) != null ) { for ( TemplateResource resource : template . getResources ( ) ) { resource . setParentTemplateReference ( template ) ; } } // Dodawanie do repozytorium (z wywołaniem template.setRepository(...)) String gId = StringUtils . emptyIfBlank ( template . getGroupId ( ) ) ; String tId = StringUtils . emptyIfBlank ( template . getTemplateId ( ) ) ; String ver = StringUtils . emptyIfBlank ( template . getVersion ( ) ) ; if ( ! StringUtils . isBlank ( gId ) ) { templates . add ( gId + ":" + tId + ":" + ver ) ; templateRepository . put ( null , gId , tId , ver , template ) ; } String key = template . getKey ( ) ; if ( ! StringUtils . isBlank ( key ) ) { templateRepository . put ( key , null , null , null , template ) ; } // Na końcu, gdy wywołano template.setRepository(...): template . setTemplateSourceFactory ( templateSourceFactory ) ; return ; } }
Przetwarza obiekt odczytany z pliku tempel . xml .