Changeset 5289


Ignore:
Timestamp:
Aug 19, 2016, 5:52:59 PM (6 years ago)
Author:
Christian Schulte
Message:

o Merged changes up to 5288 from 'trunk' into branch 'jomc-modlet-1.x'.

See #103

Location:
jomc-modlet/branches/jomc-modlet-1.x
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • jomc-modlet/branches/jomc-modlet-1.x

  • jomc-modlet/branches/jomc-modlet-1.x/src/main/java/org/jomc/modlet/DefaultModelContext.java

    r5287 r5289  
    526526        }
    527527
    528         try
    529         {
    530             final ModelValidationReport report = new ModelValidationReport();
    531             final Collection<ModletValidator> modletValidators = this.loadModletServices( ModletValidator.class );
    532 
    533             if ( this.getExecutorService() != null && modletValidators.size() > 1 )
    534             {
    535                 final List<Callable<ModelValidationReport>> tasks =
    536                     new ArrayList<Callable<ModelValidationReport>>( modletValidators.size() );
    537 
    538                 for ( final ModletValidator modletValidator : modletValidators )
    539                 {
    540                     tasks.add( new Callable<ModelValidationReport>()
    541                     {
    542 
    543                         public ModelValidationReport call() throws ModelException
    544                         {
    545                             if ( isLoggable( Level.FINER ) )
    546                             {
    547                                 log( Level.FINER, getMessage( "validatingModlets", modletValidator.toString() ), null );
    548                             }
    549 
    550                             return modletValidator.validateModlets( DefaultModelContext.this, modlets );
    551                         }
    552 
    553                     } );
    554                 }
    555 
    556                 for ( final Future<ModelValidationReport> task : this.getExecutorService().invokeAll( tasks ) )
    557                 {
    558                     final ModelValidationReport current = task.get();
    559 
    560                     if ( current != null )
    561                     {
    562                         report.getDetails().addAll( current.getDetails() );
    563                     }
    564                 }
    565             }
    566             else
    567             {
    568                 for ( final ModletValidator modletValidator : modletValidators )
    569                 {
    570                     if ( this.isLoggable( Level.FINER ) )
    571                     {
    572                         this.log( Level.FINER, getMessage( "validatingModlets", modletValidator.toString() ), null );
    573                     }
    574 
    575                     final ModelValidationReport current = modletValidator.validateModlets( this, modlets );
    576 
    577                     if ( current != null )
    578                     {
    579                         report.getDetails().addAll( current.getDetails() );
    580                     }
    581                 }
    582             }
    583 
    584             return report;
    585         }
    586         catch ( final CancellationException e )
    587         {
    588             throw new ModelException( getMessage( "failedValidatingModlets" ), e );
    589         }
    590         catch ( final InterruptedException e )
    591         {
    592             throw new ModelException( getMessage( "failedValidatingModlets" ), e );
    593         }
    594         catch ( final ExecutionException e )
    595         {
    596             if ( e.getCause() instanceof ModelException )
    597             {
    598                 throw (ModelException) e.getCause();
    599             }
    600             else if ( e.getCause() instanceof RuntimeException )
    601             {
    602                 throw (RuntimeException) e.getCause();
    603             }
    604             else if ( e.getCause() instanceof Error )
    605             {
    606                 throw (Error) e.getCause();
    607             }
    608             else
    609             {
    610                 throw new ModelException( getMessage( "failedValidatingModlets" ), e.getCause() );
    611             }
    612         }
     528        final ModelValidationReport report = new ModelValidationReport();
     529
     530        for ( final ModletValidator modletValidator
     531                  : this.loadModletServices( ModletValidator.class ) )
     532        {
     533            if ( this.isLoggable( Level.FINER ) )
     534            {
     535                this.log( Level.FINER, getMessage( "validatingModlets", modletValidator.toString() ), null );
     536            }
     537
     538            final ModelValidationReport current = modletValidator.validateModlets( this, modlets );
     539
     540            if ( current != null )
     541            {
     542                report.getDetails().addAll( current.getDetails() );
     543            }
     544        }
     545
     546        return report;
    613547    }
    614548
  • jomc-modlet/branches/jomc-modlet-1.x/src/main/java/org/jomc/modlet/DefaultModletProcessor.java

    r5287 r5289  
    539539            else if ( e.getCause() instanceof TransformerConfigurationException )
    540540            {
    541                 String message = getMessage( e );
     541                String message = getMessage( e.getCause() );
    542542                if ( message == null && ( (TransformerConfigurationException) e.getCause() ).getException() != null )
    543543                {
     
    545545                }
    546546
    547                 throw new ModelException( message, e );
     547                throw new ModelException( message, e.getCause() );
    548548            }
    549549            else if ( e.getCause() instanceof RuntimeException )
     
    557557            else
    558558            {
    559                 throw new ModelException( getMessage( e ), e );
     559                throw new ModelException( getMessage( e.getCause() ), e.getCause() );
    560560            }
    561561        }
  • jomc-modlet/branches/jomc-modlet-1.x/src/main/java/org/jomc/modlet/DefaultModletProvider.java

    r5287 r5289  
    536536            }
    537537
    538             Modlets modlets = null;
     538            final Modlets modlets = new Modlets();
    539539            final long t0 = System.nanoTime();
    540540            final Enumeration<URL> modletResourceEnumeration = context.findResources( location );
     
    549549                if ( context.getExecutorService() != null && modletResources.size() > 1 )
    550550                {
     551                    final JAXBContext ctx = context.createContext( ModletObject.MODEL_PUBLIC_ID );
     552                    final javax.xml.validation.Schema schema = context.createSchema( ModletObject.MODEL_PUBLIC_ID );
    551553                    final ThreadLocal<Unmarshaller> threadLocalUnmarshaller = new ThreadLocal<Unmarshaller>();
    552554                    final List<Callable<Object>> tasks = new ArrayList<Callable<Object>>( modletResources.size() );
     
    568570                        public Object call() throws ModelException, JAXBException, MalformedURLException
    569571                        {
    570                             Unmarshaller u = threadLocalUnmarshaller.get();
    571 
    572                             if ( u == null )
     572                            Unmarshaller unmarshaller = threadLocalUnmarshaller.get();
     573                            if ( unmarshaller == null )
    573574                            {
    574                                 final JAXBContext ctx = context.createContext( ModletObject.MODEL_PUBLIC_ID );
    575                                 u = ctx.createUnmarshaller();
     575                                unmarshaller = ctx.createUnmarshaller();
    576576
    577577                                if ( this.validating )
    578578                                {
    579                                     u.setSchema( context.createSchema( ModletObject.MODEL_PUBLIC_ID ) );
     579                                    unmarshaller.setSchema( schema );
    580580                                }
    581581
    582                                 threadLocalUnmarshaller.set( u );
     582                                threadLocalUnmarshaller.set( unmarshaller );
    583583                            }
    584584
    585                             return u.unmarshal( this.resource.toURL() );
     585                            return unmarshaller.unmarshal( this.resource.toURL() );
    586586                        }
    587587
     
    603603                        if ( content instanceof Modlet )
    604604                        {
    605                             if ( modlets == null )
    606                             {
    607                                 modlets = new Modlets();
    608                             }
    609 
    610605                            modlets.getModlet().add( (Modlet) content );
    611606                        }
    612607                        else if ( content instanceof Modlets )
    613608                        {
    614                             if ( modlets == null )
    615                             {
    616                                 modlets = new Modlets();
    617                             }
    618 
    619609                            modlets.getModlet().addAll( ( (Modlets) content ).getModlet() );
    620610                        }
     
    642632                        if ( content instanceof Modlet )
    643633                        {
    644                             if ( modlets == null )
    645                             {
    646                                 modlets = new Modlets();
    647                             }
    648 
    649634                            modlets.getModlet().add( (Modlet) content );
    650635                        }
    651636                        else if ( content instanceof Modlets )
    652637                        {
    653                             if ( modlets == null )
    654                             {
    655                                 modlets = new Modlets();
    656                             }
    657 
    658638                            modlets.getModlet().addAll( ( (Modlets) content ).getModlet() );
    659639                        }
     
    665645            {
    666646                context.log( Level.FINE, getMessage( "contextReport",
    667                                                      modlets != null ? modlets.getModlet().size() : 0,
     647                                                     modlets.getModlet().size(),
    668648                                                     location, System.nanoTime() - t0 ), null );
    669649
    670650            }
    671651
    672             return modlets == null || modlets.getModlet().isEmpty() ? null : modlets;
     652            return modlets.getModlet().isEmpty() ? null : modlets;
    673653        }
    674654        catch ( final URISyntaxException e )
     
    723703            else if ( e.getCause() instanceof JAXBException )
    724704            {
    725                 String message = getMessage( e );
     705                String message = getMessage( e.getCause() );
    726706                if ( message == null && ( (JAXBException) e.getCause() ).getLinkedException() != null )
    727707                {
     
    729709                }
    730710
    731                 throw new ModelException( message, e );
     711                throw new ModelException( message, e.getCause() );
    732712            }
    733713            else if ( e.getCause() instanceof RuntimeException )
     
    741721            else
    742722            {
    743                 throw new ModelException( getMessage( e ), e );
     723                throw new ModelException( getMessage( e.getCause() ), e.getCause() );
    744724            }
    745725        }
Note: See TracChangeset for help on using the changeset viewer.