Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

importBase

7 de Janeiro de 2008, 15:45 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 12 vezes

Olá pessoal!

 
Estou con dúvidas em relacao ao uso do importBase, estudei a norma sua utilizacao e achei que seria facil.

Segue abaixo o codigo dos NCL

 

NCL que importa a Base de Regiões

 

<head>        
  
  <regionBase>  
       
             <importBase documentURI="ImportBaseNCLimportado.ncl" alias="import"/>
                
  </regionBase>
  
 
  <descriptorBase>
 
      <descriptor region="dAzul" id="import#rgBotaoAzul"></descriptor>
          <descriptor region="dVerde" id="import#rgBotaoVerde"></descriptor>
      
  </descriptorBase>
  
    
 
</head>
 
 
   <body>
 
          <port id="Pbotao1" component="botaoAzul"></port>
          <port id="Pbotao2" component="botaoVerde"></port>
                                                
            
           <media id="botaoAzul" src="media/BlueButton.png" descriptor="dAzul"/>
             
          <media id="botaoVerde" src="media/GreenButton.png" descriptor="dVerde"></media>
                         
  
  </body>
</ncl>

 

NCL que possui a base de regiões a ser importada

 

<head>  
   
  
  <regionBase>  
        <region left="0%" top="0%" width="100%" height="100%" id="rgTV" zIndex="0">
               <region left="10%" top="10%" width="30%" height="30%" id="rgBotaoAzul" zIndex="1"></region>
                   <region left="30%" top="40%" width="30%" height="30%" id="rgBotaoVerde" zIndex="1"></region> 
       <region>
  </regionBase>
  
  
 
  <descriptorBase>
 
      <descriptor region="rgBotaoAzul" id="dAzul"></descriptor>
          <descriptor region="rgBotaoVerde" id="dVerde"></descriptor>
      
  </descriptorBase>
  
    
 
</head>
 
 
   <body>
 
          <port id="Pbotao1" component="botaoAzul"></port>
          <port id="Pbotao2" component="botaoVerde"></port>
                        
            
          <media id="botaoAzul" src="media/BlueButton.png" descriptor="dAzul"/>
             
          <media id="botaoVerde" src="media/GreenButton.png" descriptor="dVerde"></media>
                     
  
  </body>
</ncl> 

 

Segue abaixo os erro dado

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at br.pucrio.telemidia.converter.ncl.NclDocumentManager.addVisibleDocument(Unknown Source)
        at br.pucrio.telemidia.converter.ncl.NclDocumentConverter.importDocument(Unknown Source)
        at br.pucrio.telemidia.converter.ncl.NclLayoutConverter.addImportBaseToRegionBase(Unknown Source)
        at br.pucrio.telemidia.converter.framework.ncl.NclLayoutParser.parseRegionBase(Unknown Source)
        at br.pucrio.telemidia.converter.framework.ncl.NclStructureParser.parseHead(Unknown Source)
        at br.pucrio.telemidia.converter.framework.ncl.NclStructureParser.parseNcl(Unknown Source)
        at br.pucrio.telemidia.converter.framework.ncl.NclDocumentParser.parseRootElement(Unknown Source)
        at br.pucrio.telemidia.converter.ncl.NclDocumentConverter.parseRootElement(Unknown Source)
        at br.pucrio.telemidia.converter.framework.DocumentParser.parse(Unknown Source)
        at br.pucrio.telemidia.converter.framework.DocumentParser.parse(Unknown Source)
        at br.pucrio.telemidia.converter.ncl.NclDocumentManager.compileDocument(Unknown Source)
        at br.pucrio.telemidia.converter.ncl.NclDocumentManager.addDocument(Unknown Source)
        at br.pucrio.telemidia.ginga.ncl.Formatter.addDocument(Unknown Source)
        at br.pucrio.telemidia.ginga.ncl.gui.GingaPlayerWindow.openNclFile(Unknown Source)
        at br.pucrio.telemidia.ginga.ncl.gui.GingaPlayerWindow.actionPerformed(Unknown Source)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1170)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1211)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

 

 


Autor: andrey silva souza


44 comentários

  • 6d8523ee8653cf0ab9ef0e1348918792?only path=false&size=50&d=404Marcio Moreno(usuário não autenticado)
    7 de Janeiro de 2008, 18:45

     

    Oi, Andrey.

    A versao atual do svn nao oferece suporte o import de base de regioes. Provavelmente, na proxima versao essa funcionalidade estarah disponivel no svn.

    Sds. Marcio

    • 77992aff3f9080a5ab1cc3edeef039da?only path=false&size=50&d=404Fernando Kakimoto(usuário não autenticado)
      8 de Janeiro de 2008, 10:53

       

      Olá Marcio e Andrey,

      por coencidência, nós aqui do C.E.S.A.R. estamos justamente estudando a área de reuso.

      Não sei qual ferramenta o Andrey utilizou para rodar o seu exemplo, mas nós temos exemplos que funcionaram no Ginga-NCL Player.

      Fazemos da seguinte forma:

          1) criamos 2 documentos NCL no formato padrão: em um ficará o seu código principal (chamarei de doc1) e no outro o código com os descritores e regiões a serem importadas(chamarei de doc2).

          2) O doc2 terá o seguinte formato:

      <?xml version="1.0" encoding="ISO-8859-1"?>
      <ncl xsi:schemaLocation="http://www.ncl.org.br/NCL3.0/EDTVProfile www.​ncl.​org.​br/N​CL3.​0/pr​ofil​es/N​CL30​EDTV​.xsd​" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile" id="doc2">
      <head>
            <regionBase>
                 <region id="rg01" left="0" top="0" width="120" height="84" zIndex="0"/>
            </regionBase>
            <descriptorBase>
                 <descriptor id="d01" region="rg01"/>
            </descriptorBase>
      </head>
      <body>
      </body>
      </ncl>

          3) O doc1 terá o formato abaixo:

      <?xml version="1.0" encoding="ISO-8859-1"?>
      <ncl xsi:schemaLocation="http://www.ncl.org.br/NCL3.0/EDTVProfile www.​ncl.​org.​br/N​CL3.​0/pr​ofil​es/N​CL30​EDTV​.xsd​" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile" id="doc1">
      <head>
            <regionBase>
            </regionBase>
            <descriptorBase>
                  <importBase documentURI="doc2.ncl" alias="reuseDescriptor" />
            </descriptorBase>
      </head>
      <body>
            <port id="porta" component="media01"/>
            <media id="media01" src="media01.png" type="image/png" descriptor="reuseDescriptor#d01"/>
      </body>
      </ncl>

      Preceba que utilizamos o alias "reuseDescriptor" do documento importado na seção <descriptorBase> na definição da mídia "midia01".
      Utilizando este padrão os exemplos rodam normalmente, como se os descritores estivessem inserido no documento principal (doc01).

      Espero ter ajudado.

      Abraços,
      Fernando.

      • 754d4402e67aee0305d1a29003710c1c?only path=false&size=50&d=404andrey silva souza(usuário não autenticado)
        8 de Janeiro de 2008, 14:06

         

        Grande Fernando.

        A diferença consta que estou tentando reutilizar somente  a base de regiões e não a de descritores como é seu caso. A norma  afirma que importando a base de descritores a base de regiões também é importada. Reutilizando somente a base de regiões barrei na falta de suporte da ferramenta a essa funcionalidade.

         

        Abrax

        • 77992aff3f9080a5ab1cc3edeef039da?only path=false&size=50&d=404Fernando Kakimoto(usuário não autenticado)
          8 de Janeiro de 2008, 15:04

           

          Oi Andrey,

          testei a importação apenas da base de regiões, utilizando a base de descritores local, e funcionou de forma semelhante ao exemplo acima.
          Basta você importar apenas a base de regiões.
          Estou utilizando o Ginga-NCL Player.

          Abraço,
          Fernando

Concurso ITU-T de Aplicações para IPTV 2012

13 de Agosto de 2012, 19:38, por Desconhecido

Gostaríamos de lembrar aos possíveis interessados que o prazo de registro para participação no Concurso ITU-T de Aplicações para IPTV 2012 (IPTV Application Challenge) se encerra nesta semana, dia 15 de agosto de 2012. Já o prazo para a submissão de aplicações se encerra no dia 07 de setembro de 2012.



NCL Eclipse 1.6 disponível

10 de Janeiro de 2012, 21:19, por Desconhecido

Caros membros da Comunidade Ginga,



Concursos de Aplicações Ginga-NCL

22 de Setembro de 2011, 3:22, por Desconhecido

    Gostaríamos de relembra-los de que há dois concursos de aplicações Ginga-NCL com inscrições ainda abertas. O convite é aberto a toda a comunidade de desenvolvedores de aplicações para o Middleware Ginga-NCL, em nível internacional. São os seguintes concursos:



Novas versões: Ginga e Ginga-NCL Virtual Set-top Box (v.0.12.3)

1 de Agosto de 2011, 20:58, por Desconhecido



Algumas Boas Notícias da Comunidade Ginga

28 de Julho de 2011, 21:31, por Desconhecido

Autor: Roberto Azevedo