EMMA Coverage Report (generated Tue Jun 29 17:42:06 CEST 2010)
[all classes][org.jomc.sdk.model.modlet]

COVERAGE SUMMARY FOR SOURCE FILE [SdkModelValidator.java]

nameclass, %method, %block, %line, %
SdkModelValidator.java100% (1/1)100% (4/4)98%  (1714/1755)96%  (168.9/176)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SdkModelValidator100% (1/1)100% (4/4)98%  (1714/1755)96%  (168.9/176)
validateModel (ModelContext, Model): ModelValidationReport 100% (1/1)83%  (131/158)83%  (19/23)
assertValidSdkObjects (ModelContext, Module, Specification, Implementation, D... 100% (1/1)99%  (1569/1583)98%  (146.9/150)
SdkModelValidator (): void 100% (1/1)100% (3/3)100% (2/2)
getMessage (String, Object []): String 100% (1/1)100% (11/11)100% (1/1)

1// SECTION-START[License Header]
2// <editor-fold defaultstate="collapsed" desc=" Generated License ">
3/*
4 *   Copyright (c) 2010 The JOMC Project
5 *   Copyright (c) 2005 Christian Schulte <schulte2005@users.sourceforge.net>
6 *   All rights reserved.
7 *
8 *   Redistribution and use in source and binary forms, with or without
9 *   modification, are permitted provided that the following conditions
10 *   are met:
11 *
12 *     o Redistributions of source code must retain the above copyright
13 *       notice, this list of conditions and the following disclaimer.
14 *
15 *     o Redistributions in binary form must reproduce the above copyright
16 *       notice, this list of conditions and the following disclaimer in
17 *       the documentation and/or other materials provided with the
18 *       distribution.
19 *
20 *   THIS SOFTWARE IS PROVIDED BY THE JOMC PROJECT AND CONTRIBUTORS "AS IS"
21 *   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 *   THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 *   PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE JOMC PROJECT OR
24 *   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 *   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 *   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 *   OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 *   OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
30 *   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 *   $Id: SdkModelValidator.java 2234 2010-06-29 00:03:38Z schulte2005 $
33 *
34 */
35// </editor-fold>
36// SECTION-END
37package org.jomc.sdk.model.modlet;
38 
39import java.text.MessageFormat;
40import java.util.ResourceBundle;
41import java.util.logging.Level;
42import javax.xml.bind.JAXBElement;
43import org.jomc.model.Dependency;
44import org.jomc.model.Implementation;
45import org.jomc.model.Module;
46import org.jomc.model.Modules;
47import org.jomc.model.ObjectFactory;
48import org.jomc.model.Properties;
49import org.jomc.model.Property;
50import org.jomc.model.PropertyException;
51import org.jomc.model.Specification;
52import org.jomc.model.modlet.ModelHelper;
53import org.jomc.modlet.Model;
54import org.jomc.modlet.ModelContext;
55import org.jomc.modlet.ModelException;
56import org.jomc.modlet.ModelValidationReport;
57import org.jomc.modlet.ModelValidator;
58import org.jomc.sdk.model.ItemType;
59import org.jomc.sdk.model.ListType;
60import org.jomc.sdk.model.MapType;
61 
62// SECTION-START[Documentation]
63// <editor-fold defaultstate="collapsed" desc=" Generated Documentation ">
64/**
65 * SDK 'ModelValidator' implementation.
66 *
67 * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.0
68 * @version $Id: SdkModelValidator.java 2234 2010-06-29 00:03:38Z schulte2005 $
69 */
70// </editor-fold>
71// SECTION-END
72// SECTION-START[Annotations]
73// <editor-fold defaultstate="collapsed" desc=" Generated Annotations ">
74@javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.0", comments = "See http://jomc.sourceforge.net/jomc/1.0/jomc-tools" )
75// </editor-fold>
76// SECTION-END
77public final class SdkModelValidator implements ModelValidator
78{
79    // SECTION-START[SdkModelValidator]
80 
81    public ModelValidationReport validateModel( final ModelContext context, final Model model ) throws ModelException
82    {
83        if ( context == null )
84        {
85            throw new NullPointerException( "context" );
86        }
87        if ( model == null )
88        {
89            throw new NullPointerException( "model" );
90        }
91 
92        final ModelValidationReport report = new ModelValidationReport();
93        final Modules modules = ModelHelper.getModules( model );
94 
95        if ( modules != null )
96        {
97            if ( context.isLoggable( Level.FINE ) )
98            {
99                context.log( Level.FINE, getMessage(
100                    "validatingModel", this.getClass().getName(), model.getIdentifier() ), null );
101 
102            }
103 
104            for ( Module m : modules.getModule() )
105            {
106                this.assertValidSdkObjects( context, m, null, null, null, report );
107 
108                if ( m.getSpecifications() != null )
109                {
110                    for ( Specification s : m.getSpecifications().getSpecification() )
111                    {
112                        this.assertValidSdkObjects( context, null, s, null, null, report );
113                    }
114                }
115 
116                if ( m.getImplementations() != null )
117                {
118                    for ( Implementation i : m.getImplementations().getImplementation() )
119                    {
120                        this.assertValidSdkObjects( context, null, null, i, null, report );
121 
122                        if ( i.getDependencies() != null )
123                        {
124                            for ( Dependency d : i.getDependencies().getDependency() )
125                            {
126                                this.assertValidSdkObjects( context, null, null, i, d, report );
127                            }
128                        }
129                    }
130                }
131            }
132        }
133        else if ( context.isLoggable( Level.WARNING ) )
134        {
135            context.log( Level.WARNING, getMessage( "modulesNotFound", model.getIdentifier() ), null );
136        }
137 
138        return report;
139    }
140 
141    private void assertValidSdkObjects( final ModelContext context, final Module module,
142                                        final Specification specification, final Implementation implementation,
143                                        final Dependency dependency, final ModelValidationReport report )
144    {
145        if ( module != null && ( implementation != null || dependency != null || specification != null ) )
146        {
147            throw new IllegalArgumentException();
148        }
149        if ( implementation != null && ( module != null || specification != null ) )
150        {
151            throw new IllegalArgumentException();
152        }
153        if ( specification != null && ( module != null || implementation != null || dependency != null ) )
154        {
155            throw new IllegalArgumentException();
156        }
157 
158        Properties properties = null;
159        JAXBElement detailElement = null;
160 
161        if ( module != null )
162        {
163            properties = module.getProperties();
164            detailElement = new ObjectFactory().createModule( module );
165        }
166        if ( specification != null )
167        {
168            properties = specification.getProperties();
169            detailElement = new ObjectFactory().createSpecification( specification );
170        }
171        if ( implementation != null )
172        {
173            properties = implementation.getProperties();
174            detailElement = new ObjectFactory().createImplementation( implementation );
175        }
176        if ( dependency != null )
177        {
178            properties = dependency.getProperties();
179        }
180 
181        if ( properties != null )
182        {
183            for ( Property p : properties.getProperty() )
184            {
185                if ( p.getAny() != null )
186                {
187                    final Object any =
188                        p.getAny() instanceof JAXBElement ? ( (JAXBElement) p.getAny() ).getValue() : p.getAny();
189 
190                    if ( any instanceof ListType )
191                    {
192                        final ListType list = (ListType) any;
193 
194                        for ( ItemType item : list.getItem() )
195                        {
196                            if ( item.getValue() != null && item.getAny() != null )
197                            {
198                                if ( module != null )
199                                {
200                                    report.getDetails().add( new ModelValidationReport.Detail(
201                                        "MODULE_LIST_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
202                                        "moduleListItemValueConstraint", module.getName(), p.getName() ),
203                                        detailElement ) );
204 
205                                }
206 
207                                if ( specification != null )
208                                {
209                                    report.getDetails().add( new ModelValidationReport.Detail(
210                                        "SPECIFICATION_LIST_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
211                                        "specificationListItemValueConstraint", specification.getIdentifier(),
212                                        p.getName() ), detailElement ) );
213 
214                                }
215 
216                                if ( implementation != null )
217                                {
218                                    if ( dependency != null )
219                                    {
220                                        report.getDetails().add( new ModelValidationReport.Detail(
221                                            "DEPENDENCY_LIST_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
222                                            "dependencyListItemValueConstraint", implementation.getIdentifier(),
223                                            dependency.getName(), p.getName() ), detailElement ) );
224 
225                                    }
226                                    else
227                                    {
228                                        report.getDetails().add( new ModelValidationReport.Detail(
229                                            "IMPLEMENTATION_LIST_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
230                                            "implementationListItemValueConstraint", implementation.getIdentifier(),
231                                            p.getName() ), detailElement ) );
232 
233                                    }
234                                }
235                            }
236 
237                            if ( item.getAny() != null && item.getType() == null )
238                            {
239                                if ( module != null )
240                                {
241                                    report.getDetails().add( new ModelValidationReport.Detail(
242                                        "MODULE_LIST_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
243                                        "moduleListItemTypeConstraint", module.getName(), p.getName() ),
244                                        detailElement ) );
245 
246                                }
247 
248                                if ( specification != null )
249                                {
250                                    report.getDetails().add( new ModelValidationReport.Detail(
251                                        "SPECIFICATION_LIST_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
252                                        "specificationListItemTypeConstraint", specification.getIdentifier(),
253                                        p.getName() ), detailElement ) );
254 
255                                }
256 
257                                if ( implementation != null )
258                                {
259                                    if ( dependency != null )
260                                    {
261                                        report.getDetails().add( new ModelValidationReport.Detail(
262                                            "DEPENDENCY_LIST_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
263                                            "dependencyListItemTypeConstraint", implementation.getIdentifier(),
264                                            dependency.getName(), p.getName() ), detailElement ) );
265 
266                                    }
267                                    else
268                                    {
269                                        report.getDetails().add( new ModelValidationReport.Detail(
270                                            "IMPLEMENTATION_LIST_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
271                                            "implementationListItemTypeConstraint", implementation.getIdentifier(),
272                                            p.getName() ), detailElement ) );
273 
274                                    }
275                                }
276                            }
277 
278                            try
279                            {
280                                item.getJavaValue( context.getClassLoader() );
281                            }
282                            catch ( final PropertyException e )
283                            {
284                                if ( context.isLoggable( Level.FINE ) )
285                                {
286                                    context.log( Level.FINE, e.getMessage(), e );
287                                }
288 
289                                if ( module != null )
290                                {
291                                    report.getDetails().add( new ModelValidationReport.Detail(
292                                        "MODULE_LIST_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
293                                        "moduleListItemJavaValueConstraint", module.getName(), p.getName(),
294                                        e.getMessage() ), detailElement ) );
295 
296                                }
297 
298                                if ( specification != null )
299                                {
300                                    report.getDetails().add( new ModelValidationReport.Detail(
301                                        "SPECIFICATION_LIST_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
302                                        "specificationListItemJavaValueConstraint", specification.getIdentifier(),
303                                        p.getName(), e.getMessage() ), detailElement ) );
304 
305                                }
306 
307                                if ( implementation != null )
308                                {
309                                    if ( dependency != null )
310                                    {
311                                        report.getDetails().add( new ModelValidationReport.Detail(
312                                            "DEPENDENCY_LIST_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
313                                            "dependencyListItemJavaValueConstraint", implementation.getIdentifier(),
314                                            dependency.getName(), p.getName(), e.getMessage() ), detailElement ) );
315 
316                                    }
317                                    else
318                                    {
319                                        report.getDetails().add( new ModelValidationReport.Detail(
320                                            "IMPLEMENTATION_LIST_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
321                                            "implementationListItemJavaValueConstraint", implementation.getIdentifier(),
322                                            p.getName(), e.getMessage() ), detailElement ) );
323 
324                                    }
325                                }
326                            }
327                        }
328 
329                        try
330                        {
331                            list.getJavaValue( context.getClassLoader() );
332                        }
333                        catch ( final PropertyException e )
334                        {
335                            if ( context.isLoggable( Level.FINE ) )
336                            {
337                                context.log( Level.FINE, e.getMessage(), e );
338                            }
339 
340                            if ( module != null )
341                            {
342                                report.getDetails().add( new ModelValidationReport.Detail(
343                                    "MODULE_LIST_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
344                                    "moduleListJavaValueConstraint", module.getName(), p.getName(), e.getMessage() ),
345                                    detailElement ) );
346 
347                            }
348 
349                            if ( specification != null )
350                            {
351                                report.getDetails().add( new ModelValidationReport.Detail(
352                                    "SPECIFICATION_LIST_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
353                                    "specificationListJavaValueConstraint", specification.getIdentifier(),
354                                    p.getName(), e.getMessage() ), detailElement ) );
355 
356                            }
357 
358                            if ( implementation != null )
359                            {
360                                if ( dependency != null )
361                                {
362                                    report.getDetails().add( new ModelValidationReport.Detail(
363                                        "DEPENDENCY_LIST_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
364                                        "dependencyListJavaValueConstraint", implementation.getIdentifier(),
365                                        dependency.getName(), p.getName(), e.getMessage() ), detailElement ) );
366 
367                                }
368                                else
369                                {
370                                    report.getDetails().add( new ModelValidationReport.Detail(
371                                        "IMPLEMENTATION_LIST_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
372                                        "implementationListJavaValueConstraint", implementation.getIdentifier(),
373                                        p.getName(), e.getMessage() ), detailElement ) );
374 
375                                }
376                            }
377                        }
378                    }
379 
380                    if ( any instanceof MapType )
381                    {
382                        final MapType map = (MapType) any;
383 
384                        for ( MapType.Entry entry : map.getEntry() )
385                        {
386                            if ( entry.getKey().getValue() != null && entry.getKey().getAny() != null )
387                            {
388                                if ( module != null )
389                                {
390                                    report.getDetails().add( new ModelValidationReport.Detail(
391                                        "MODULE_MAP_KEY_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
392                                        "moduleMapKeyItemValueConstraint", module.getName(), p.getName() ),
393                                        detailElement ) );
394 
395                                }
396 
397                                if ( specification != null )
398                                {
399                                    report.getDetails().add( new ModelValidationReport.Detail(
400                                        "SPECIFICATION_MAP_KEY_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
401                                        "specificationMapKeyItemValueConstraint", specification.getIdentifier(),
402                                        p.getName() ), detailElement ) );
403 
404                                }
405 
406                                if ( implementation != null )
407                                {
408                                    if ( dependency != null )
409                                    {
410                                        report.getDetails().add( new ModelValidationReport.Detail(
411                                            "DEPENDENCY_MAP_KEY_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
412                                            "dependencyMapKeyItemValueConstraint", implementation.getIdentifier(),
413                                            dependency.getName(), p.getName() ), detailElement ) );
414 
415                                    }
416                                    else
417                                    {
418                                        report.getDetails().add( new ModelValidationReport.Detail(
419                                            "IMPLEMENTATION_MAP_KEY_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
420                                            "implementationMapKeyItemValueConstraint", implementation.getIdentifier(),
421                                            p.getName() ), detailElement ) );
422 
423                                    }
424                                }
425                            }
426 
427                            if ( entry.getValue().getValue() != null && entry.getValue().getAny() != null )
428                            {
429                                if ( module != null )
430                                {
431                                    report.getDetails().add( new ModelValidationReport.Detail(
432                                        "MODULE_MAP_VALUE_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
433                                        "moduleMapValueItemValueConstraint", module.getName(), p.getName() ),
434                                        detailElement ) );
435 
436                                }
437 
438                                if ( specification != null )
439                                {
440                                    report.getDetails().add( new ModelValidationReport.Detail(
441                                        "SPECIFICATION_MAP_VALUE_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
442                                        "specificationMapValueItemValueConstraint", specification.getIdentifier(),
443                                        p.getName() ), detailElement ) );
444 
445                                }
446 
447                                if ( implementation != null )
448                                {
449                                    if ( dependency != null )
450                                    {
451                                        report.getDetails().add( new ModelValidationReport.Detail(
452                                            "DEPENDENCY_MAP_VALUE_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
453                                            "dependencyMapValueItemValueConstraint", implementation.getIdentifier(),
454                                            dependency.getName(), p.getName() ), detailElement ) );
455 
456                                    }
457                                    else
458                                    {
459                                        report.getDetails().add( new ModelValidationReport.Detail(
460                                            "IMPLEMENTATION_MAP_VALUE_ITEM_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
461                                            "implementationMapValueItemValueConstraint", implementation.getIdentifier(),
462                                            p.getName() ), detailElement ) );
463 
464                                    }
465                                }
466                            }
467 
468                            if ( entry.getKey().getAny() != null && entry.getKey().getType() == null )
469                            {
470                                if ( module != null )
471                                {
472                                    report.getDetails().add( new ModelValidationReport.Detail(
473                                        "MODULE_MAP_KEY_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
474                                        "moduleMapKeyItemTypeConstraint", module.getName(), p.getName() ),
475                                        detailElement ) );
476 
477                                }
478 
479                                if ( specification != null )
480                                {
481                                    report.getDetails().add( new ModelValidationReport.Detail(
482                                        "SPECIFICATION_MAP_KEY_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
483                                        "specificationMapKeyItemTypeConstraint", specification.getIdentifier(),
484                                        p.getName() ), detailElement ) );
485 
486                                }
487 
488 
489                                if ( implementation != null )
490                                {
491                                    if ( dependency != null )
492                                    {
493                                        report.getDetails().add( new ModelValidationReport.Detail(
494                                            "DEPENDENCY_MAP_KEY_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
495                                            "dependencyMapKeyItemTypeConstraint", implementation.getIdentifier(),
496                                            dependency.getName(), p.getName() ), detailElement ) );
497 
498                                    }
499                                    else
500                                    {
501                                        report.getDetails().add( new ModelValidationReport.Detail(
502                                            "IMPLEMENTATION_MAP_KEY_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
503                                            "implementationMapKeyItemTypeConstraint", implementation.getIdentifier(),
504                                            p.getName() ), detailElement ) );
505 
506                                    }
507                                }
508                            }
509 
510                            if ( entry.getValue().getAny() != null && entry.getValue().getType() == null )
511                            {
512                                if ( module != null )
513                                {
514                                    report.getDetails().add( new ModelValidationReport.Detail(
515                                        "MODULE_MAP_VALUE_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
516                                        "moduleMapValueItemTypeConstraint", module.getName(), p.getName() ),
517                                        detailElement ) );
518 
519                                }
520 
521                                if ( specification != null )
522                                {
523                                    report.getDetails().add( new ModelValidationReport.Detail(
524                                        "SPECIFICATION_MAP_VALUE_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
525                                        "specificationMapValueItemTypeConstraint", specification.getIdentifier(),
526                                        p.getName() ), detailElement ) );
527 
528                                }
529 
530                                if ( implementation != null )
531                                {
532                                    if ( dependency != null )
533                                    {
534                                        report.getDetails().add( new ModelValidationReport.Detail(
535                                            "DEPENDENCY_MAP_VALUE_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
536                                            "dependencyMapValueItemTypeConstraint", implementation.getIdentifier(),
537                                            dependency.getName(), p.getName() ), detailElement ) );
538 
539                                    }
540                                    else
541                                    {
542                                        report.getDetails().add( new ModelValidationReport.Detail(
543                                            "IMPLEMENTATION_MAP_VALUE_ITEM_TYPE_CONSTRAINT", Level.SEVERE, getMessage(
544                                            "implementationMapValueItemTypeConstraint", implementation.getIdentifier(),
545                                            p.getName() ), detailElement ) );
546 
547                                    }
548                                }
549                            }
550 
551                            try
552                            {
553                                entry.getKey().getJavaValue( context.getClassLoader() );
554                            }
555                            catch ( final PropertyException e )
556                            {
557                                if ( context.isLoggable( Level.FINE ) )
558                                {
559                                    context.log( Level.FINE, e.getMessage(), e );
560                                }
561 
562                                if ( module != null )
563                                {
564                                    report.getDetails().add( new ModelValidationReport.Detail(
565                                        "MODULE_MAP_KEY_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
566                                        "moduleMapKeyItemJavaValueConstraint", module.getName(), p.getName(),
567                                        e.getMessage() ), detailElement ) );
568 
569                                }
570 
571                                if ( specification != null )
572                                {
573                                    report.getDetails().add( new ModelValidationReport.Detail(
574                                        "SPECIFICATION_MAP_KEY_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
575                                        "specificationMapKeyItemJavaValueConstraint", specification.getIdentifier(),
576                                        p.getName(), e.getMessage() ), detailElement ) );
577 
578                                }
579 
580                                if ( implementation != null )
581                                {
582                                    if ( dependency != null )
583                                    {
584                                        report.getDetails().add( new ModelValidationReport.Detail(
585                                            "DEPENDENCY_MAP_KEY_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
586                                            "dependencyMapKeyItemJavaValueConstraint", implementation.getIdentifier(),
587                                            dependency.getName(), p.getName(), e.getMessage() ), detailElement ) );
588 
589                                    }
590                                    else
591                                    {
592                                        report.getDetails().add( new ModelValidationReport.Detail(
593                                            "IMPLEMENTATION_MAP_KEY_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE,
594                                            getMessage( "implementationMapKeyItemJavaValueConstraint",
595                                                        implementation.getIdentifier(), p.getName(), e.getMessage() ),
596                                            detailElement ) );
597 
598                                    }
599                                }
600                            }
601 
602                            try
603                            {
604                                entry.getValue().getJavaValue( context.getClassLoader() );
605                            }
606                            catch ( final PropertyException e )
607                            {
608                                if ( context.isLoggable( Level.FINE ) )
609                                {
610                                    context.log( Level.FINE, e.getMessage(), e );
611                                }
612 
613                                if ( module != null )
614                                {
615                                    report.getDetails().add( new ModelValidationReport.Detail(
616                                        "MODULE_MAP_VALUE_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
617                                        "moduleMapValueItemJavaValueConstraint", module.getName(), p.getName(),
618                                        e.getMessage() ), detailElement ) );
619 
620                                }
621 
622                                if ( specification != null )
623                                {
624                                    report.getDetails().add( new ModelValidationReport.Detail(
625                                        "SPECIFICATION_MAP_VALUE_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
626                                        "specificationMapValueItemJavaValueConstraint", specification.getIdentifier(),
627                                        p.getName(), e.getMessage() ), detailElement ) );
628 
629                                }
630 
631                                if ( implementation != null )
632                                {
633                                    if ( dependency != null )
634                                    {
635                                        report.getDetails().add( new ModelValidationReport.Detail(
636                                            "DEPENDENCY_MAP_VALUE_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE,
637                                            getMessage( "dependencyMapValueItemJavaValueConstraint",
638                                                        implementation.getIdentifier(), dependency.getName(),
639                                                        p.getName(), e.getMessage() ), detailElement ) );
640 
641                                    }
642                                    else
643                                    {
644                                        report.getDetails().add( new ModelValidationReport.Detail(
645                                            "IMPLEMENTATION_MAP_VALUE_ITEM_JAVA_VALUE_CONSTRAINT", Level.SEVERE,
646                                            getMessage( "implementationMapValueItemJavaValueConstraint",
647                                                        implementation.getIdentifier(), p.getName(), e.getMessage() ),
648                                            detailElement ) );
649 
650                                    }
651                                }
652                            }
653                        }
654 
655                        try
656                        {
657                            map.getJavaValue( context.getClassLoader() );
658                        }
659                        catch ( final PropertyException e )
660                        {
661                            if ( context.isLoggable( Level.FINE ) )
662                            {
663                                context.log( Level.FINE, e.getMessage(), e );
664                            }
665 
666                            if ( module != null )
667                            {
668                                report.getDetails().add( new ModelValidationReport.Detail(
669                                    "MODULE_MAP_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
670                                    "moduleMapJavaValueConstraint", module.getName(), p.getName(), e.getMessage() ),
671                                    detailElement ) );
672 
673                            }
674 
675                            if ( specification != null )
676                            {
677                                report.getDetails().add( new ModelValidationReport.Detail(
678                                    "SPECIFICATION_MAP_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
679                                    "specificationMapJavaValueConstraint", specification.getIdentifier(),
680                                    p.getName(), e.getMessage() ), detailElement ) );
681 
682                            }
683 
684                            if ( implementation != null )
685                            {
686                                if ( dependency != null )
687                                {
688                                    report.getDetails().add( new ModelValidationReport.Detail(
689                                        "DEPENDENCY_MAP_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
690                                        "dependencyMapJavaValueConstraint", implementation.getIdentifier(),
691                                        dependency.getName(), p.getName(), e.getMessage() ), detailElement ) );
692 
693                                }
694                                else
695                                {
696                                    report.getDetails().add( new ModelValidationReport.Detail(
697                                        "IMPLEMENTATION_MAP_JAVA_VALUE_CONSTRAINT", Level.SEVERE, getMessage(
698                                        "implementationMapJavaValueConstraint", implementation.getIdentifier(),
699                                        p.getName(), e.getMessage() ), detailElement ) );
700 
701                                }
702                            }
703                        }
704                    }
705                }
706            }
707        }
708    }
709 
710    private static String getMessage( final String key, final Object... arguments )
711    {
712        return MessageFormat.format( ResourceBundle.getBundle( SdkModelValidator.class.getName().replace( '.', '/' ) ).
713            getString( key ), arguments );
714 
715    }
716 
717    // SECTION-END
718    // SECTION-START[Constructors]
719    // <editor-fold defaultstate="collapsed" desc=" Generated Constructors ">
720 
721    /** Creates a new {@code SdkModelValidator} instance. */
722    @javax.annotation.Generated( value = "org.jomc.tools.SourceFileProcessor 1.0", comments = "See http://jomc.sourceforge.net/jomc/1.0/jomc-tools" )
723    public SdkModelValidator()
724    {
725        // SECTION-START[Default Constructor]
726        super();
727        // SECTION-END
728    }
729    // </editor-fold>
730    // SECTION-END
731    // SECTION-START[Dependencies]
732    // SECTION-END
733    // SECTION-START[Properties]
734    // SECTION-END
735    // SECTION-START[Messages]
736    // SECTION-END
737}

[all classes][org.jomc.sdk.model.modlet]
EMMA 2.0.5312 (C) Vladimir Roubtsov