INFO7052-CI1061-CI092 trabalho 1
Implementação de um gerador de código de arquivos JSON
Arquivos JSON são amplamente utilizados em várias aplicações. Uma aplicação possível é para definição de modelos de dados aninhados, isto é, que possuem uma estrutura formada por elementos, e estes elementos possuem propriedades ou sub-elementos, e assim sucessivamente.
Neste trabalho, os arquivos JSON serão utilizados para definição de modelos de dados e este modelo será utilizado para a geração de código Java.
Considere o exemplo abaixo escrito em JSON:
{ "Aluno": [ { "nome": "José", "cpf": "12341234", "telefone": "9999999", "Turma": [ { "codigo": "CI1061", "nome": "Técnicas em modelagem" }, { "codigo": "CI1057", "nome": "Algoritmos 3" } ] }, { "nome": "Carlos", "cpf": "123456", "telefone": "8888888", "Turma": [ { "codigo": "CI092", "nome": "Técnicas em modelagem" }, { "codigo": "CI1056", "nome": "Algoritmos 2" } ] } ] }
O JSON acima deverá ser utilizado para geração das classes java correspondentes. Um exemplo de código gerado pode ser mostrado abaixo:
class Aluno { String nome; String cpf; String telefone; ArrayList<Turma> turmas; } class Turma { String codigo; String nome; }
class Programa { public static void main (String args[]){ }
}
ENTRADA:
O programa receberá um arquivo .json com estrutura semelhante a descrita no exemplo. Não será necessário processar a especificação completa do formato JSON, apenas o subconjunto descrito acima.
SAIDA:
O programa irá gerar um arquivo .java com um conjunto de classes correspondentes. O arquivo deve ser funcional, isto é, ao ser compilado e executado não poderá apresentar erros.
A compilação e execução serão feitas com os seguinte comandos:
javac *.java
java Programa
ENTREGA
Deverá ser entregue um conjunto de arquivos fones com a implementação do gerador do código. Todas as classes (fontes) devem estar em uma mesma pasta e compactadas em um arquivo (tar.gz ou zip). Trabalhos sem os fontes não serão considerados. Os trabalhos deverão compilar e rodar facilmente nos servidores do Departamento de Informática. Deverá ser entregue um relatório explicando as escolhas de tecnologia e principais escolhas de implementação.
MODO DE ENTREGA : enviar o código por email para marcos.ddf _at_ inf.ufpr.br (até as 24h da data final). Cada dia de atraso serão descontados 10 pontos da nota.
No corpo do email, colocar o nome e GRR do aluno. No assunto, preencher com “Entrega trabalho 092”. O trabalho pode ser feito em duplas.