MIRTH: Como obter o diretório de arquivos de origem do File Reader Channel

StackOverflow https://stackoverflow.com/questions/1614664

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu tenho um canal de leitor de arquivos pegando um documento XML. Por padrão, um canal de leitor de arquivos preenche o 'OriginalFileName' no mapa do canal, que o Ony me dá o nome do arquivo, não o caminho completo. Existe alguma maneira de conseguir o caminho completo, com a Though tendo que codificar alguma coisa?

Foi útil?

Solução

Infelizmente, não há variável ou método para recuperar o caminho completo do arquivo. Obviamente, você provavelmente já conhece o caminho, já que teria que fornecê -lo no campo do diretório. Eu experimentei o uso do pré -processador para armazenar o caminho em uma variável de canal, mas o campo do diretório não consegue referir variáveis. Assim, você está preso tendo que codificar o caminho completo em todos os lugares que precisa.

Outras dicas

Você pode obter qualquer uma das propriedades do leitor de origem como esta:

var sourceFolder = Packages.com.mirth.connect.server.controllers.ChannelController.getInstance().getDeployedChannelById(channelId).getSourceConnector().getProperties().getProperty('host');

Eu coloquei isso nos fóruns de alegria com uma lista das outras propriedades que você pode acessarhttp://www.mirthcorp.com/community/forums/showthread.php?t=2210

Você pode colocar o diretório em um script de implantação de canal:

globalChannelMap.put("pickupDirectory", "/Mirth/inbox");

Em seguida, use esse mapa no seu conector de origem:

${pickupDirectory}

E em outro script de canal:

function getFileLastModified(fileName) {
   var directory = globalChannelMap.get("pickupDirectory").toString();
   var fullPath = directory + "/" + fileName;
   var file = Packages.java.io.File(fullPath);
   var formatter = new Packages.java.text.SimpleDateFormat("yyyyMMddhhmmss"); 
   formatter.setTimeZone(Packages.java.util.TimeZone.getTimeZone("UTC")); 
   return formatter.format(file.lastModified()); 
};
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top