Java源码示例:org.ini4j.Wini

示例1
/**
 * Writes the contents of a Section HashMap to disk.
 *
 * @param parser  A Wini pointed at a file on disk.
 * @param section A section containing settings to be written to the file.
 */
private static void writeSection(Wini parser, SettingSection section)
{
  // Write the section header.
  String header = section.getName();

  // Write this section's values.
  HashMap<String, Setting> settings = section.getSettings();
  Set<String> keySet = settings.keySet();

  for (String key : keySet)
  {
    Setting setting = settings.get(key);
    parser.put(header, setting.getKey(), setting.getValueAsString());
  }
}
 
示例2
public void save() throws IOException {
	if (this.inifile == null || this.inifile.isEmpty()) {
		return;
	}
	File f = new File(this.inifile);
	if (!f.exists()) {
		f.getParentFile().mkdirs();
		f.createNewFile();
	}
	Wini ini = new Wini(f);
	ini.put("server", "host", this.bindHost);
	ini.put("server", "port", this.bindPort);
	ini.put("server", "thread", this.threadNum);
	ini.put("redis", "host", this.redisHost);
	ini.put("redis", "port", this.redisPort);
	ini.put("redis", "db", this.redisDb);
	ini.put("watch", "interval", this.interval);
	ini.store();
}
 
示例3
/**
   * @param basePath  the base path to attach to, if relative file name is used
   * @param fileName  the name of the file to be loaded 
   * @param enableMultiOption  the state of multi-option configuration flag  
   */
private Ini loadFile ( String basePath, String fileName
                     , boolean enableMultiOption ) throws Exception 
{
    String full_name = FilenameUtils.concat(basePath, fileName);
    File file = new File(full_name); 
       if (file.exists() && file.isFile()) {
           Ini ini = new Wini();
           Config config = ini.getConfig();
           
           config.setMultiSection(true);
           config.setMultiOption(enableMultiOption);
           config.setGlobalSection(true);
           config.setComment(true);

           ini.setFile(file);
           ini.setComment(COMMENT_LINE_CHARS);
           try(InputStreamReader inputStreamReader = TextEncoding.getInputStreamReader(file)){
           	ini.load(inputStreamReader);
           }
           return ini;
       }
    return null;
}
 
示例4
public WebshellFeatures(){
    try {
        File file=new File("config/webshellFeatures.ini");
        if(file.exists()){
            ini=new Wini(file);
            MonitorClientApplication.log.info("load webshellFeatures.ini success");
        }else{
            MonitorClientApplication.log.error("load webshellFeatures.ini error");
        }
    } catch (IOException e) {
        e.printStackTrace();
        MonitorClientApplication.log.error("load webshellFeatures.ini error");
    }
}
 
示例5
public void load() throws IOException {
	if (this.inifile == null || this.inifile.isEmpty()) {
		return;
	}
	File f = new File(this.inifile);
	if (f.exists() && f.isFile()) {
		Wini ini = new Wini(f);
		String bindHost = ini.get("server", "host", String.class);
		Integer bindPort = ini.get("server", "port", Integer.class);
		Integer threadNum = ini.get("server", "thread", Integer.class);
		String redisHost = ini.get("redis", "host", String.class);
		Integer redisPort = ini.get("redis", "port", Integer.class);
		Integer redisDb = ini.get("redis", "db", Integer.class);
		Integer interval = ini.get("watch", "interval", Integer.class);
		if (bindHost != null) {
			this.bindHost = bindHost;
		}
		if (bindPort != null) {
			this.bindPort = bindPort;
		}
		if(threadNum != null) {
			this.threadNum = threadNum;
		}
		if (redisHost != null) {
			this.redisHost = redisHost;
		}
		if (redisPort != null) {
			this.redisPort = redisPort;
		}
		if (redisDb != null) {
			this.redisDb = redisDb;
		}
		if (interval != null) {
			this.interval = interval;
		}
	}
}
 
示例6
public static AccessEnforcement loadIniFile(final File iniFile) throws IOException {

		System.out.println("Loading client permissions: " + iniFile.toString());

		// Load ini file
		final Wini ini = new Wini(iniFile);

		// Create map of usernames to their permissions
		final ConcurrentMap<String, ClientPermissions> permissionMap = new ConcurrentHashMap<String, ClientPermissions>();

		// Create set of all known secrets
		final Set<String> knownSecrets = new HashSet<>();

		// Iterate over each section (each section is a secret)
		final Collection<Profile.Section> secretSections = ini.values();
		for (Profile.Section secretSection : secretSections) {

			// Update set of known secrets
			final String secretName = secretSection.getName();
			knownSecrets.add(secretName);

			// Each value in this section represents a user's permission to this secret
			for (final Entry<String, String> userPermission : secretSection.entrySet()) {
				final String username = userPermission.getKey();
				final String permissions = userPermission.getValue();

				// PRint username and secret
				//System.out.print(username + "." + secretName + "\t\t = ");
				
				// Parse permissions
				final String[] permissionArray = permissions.split(",");
				//System.out.println(Arrays.toString(permissionArray));

				// Add permissions from the comma-separated list
				permissionMap.putIfAbsent(username, new ClientPermissions());
				final ClientPermissions clientPermissions = permissionMap.get(username);
				for (final String permissionString : permissionArray) {
					// Sanitize string and convert to enumeration
					final Permissions permission = Permissions.valueOf(permissionString.trim().toUpperCase());
					clientPermissions.addPermission(secretName, permission);
				}
			}
		}

		return new AccessEnforcement(permissionMap, knownSecrets);
	}
 
示例7
public static String getUrl(ConfiguracoesCte config, ServicosEnum servico) throws CteException {

        try {

            String secao = "CTe_" + config.getEstado() + "_"
                    + (config.getAmbiente().equals(AmbienteEnum.HOMOLOGACAO) ? "H" : "P");

            InputStream is;
            if (ObjetoCTeUtil.verifica(config.getArquivoWebService()).isPresent()) {
                File arquivo = new File(config.getArquivoWebService());
                if (!arquivo.exists())
                    throw new FileNotFoundException("Arquivo WebService" + config.getArquivoWebService() + " não encontrado");
                is = new FileInputStream(arquivo);
            } else {
                is = WebServiceCteUtil.class.getResourceAsStream("/WebServicesCte.ini");
            }

            Wini ini = new Wini();
            ini.getConfig().setLowerCaseOption(true);
            ini.load(is);
            is.close();
            String url = ini.get(secao, "usar");

            if (!config.getEstado().equals(EstadosEnum.MG) && !config.getEstado().equals(EstadosEnum.MS)
                    && !config.getEstado().equals(EstadosEnum.MT) && !config.getEstado().equals(EstadosEnum.SP) && !config.getEstado().equals(EstadosEnum.PR)) {
                secao = url;
            }

            if (servico.equals(ServicosEnum.DISTRIBUICAO_DFE)) {
                secao = "CTe_AN_" + (config.getAmbiente().equals(AmbienteEnum.HOMOLOGACAO) ? "H" : "P");
            }

            url = ini.get(secao, servico.getServico().toLowerCase());

            ObjetoCTeUtil.verifica(url).orElseThrow(() -> new CteException(
                    "WebService de " + servico + " não encontrado para " + config.getEstado().getNome()));

            LoggerUtil.log(WebServiceCteUtil.class, "[URL]: " + servico + ": " + url);

            return url;

        } catch (IOException e) {
            throw new CteException(e.getMessage());
        }
    }
 
示例8
/**
 * Retorna a URL para consulta de operações do SEFAZ.<br>
 *
 * <p>
 * O método carrega o arquivo <b>WebServicesNfe.ini</b> que contêm as
 * URL's de operações do SEFAZ, busca pela seção no arquivo .ini que
 * corresponda com os argumentos <b>tipo</b>, <b>config</b>, <b>servico</b>
 * e retorna essa URL.
 * </p>
 *
 * @param config interface que contêm os dados necessários para a comunicação.
 * @param tipoDocumento DocumentoEnum.NFE e ConstantesUtil.NFCE
 * @param tipoServico é a operação que se deseja fazer.<br>
 * Ex.: para consultas status deserviço no ambiente de produção
 * use ServicosEnum.NfeStatusServico_4.00
 *
 * @return url String que representa a URL do serviço.
 * @throws NfeException
 *
 * @see ConfiguracoesNfe
 * @see ConstantesUtil
 **/
public static String getUrl(ConfiguracoesNfe config, DocumentoEnum tipoDocumento, ServicosEnum tipoServico) throws NfeException {

    try {

        String secao = tipoDocumento.getTipo() + "_" + config.getEstado() + "_"
                + (config.getAmbiente().equals(AmbienteEnum.HOMOLOGACAO) ? "H" : "P");

        InputStream is;
        if(ObjetoUtil.verifica(config.getArquivoWebService()).isPresent()){
            File arquivo = new File(config.getArquivoWebService());
            if(!arquivo.exists())
                throw new FileNotFoundException("Arquivo WebService"+config.getArquivoWebService()+" não encontrado");
            is = new FileInputStream(arquivo);
        }else{
            is = WebServiceUtil.class.getResourceAsStream("/WebServicesNfe.ini");
        }

        Wini ini = new Wini();
        ini.getConfig().setLowerCaseOption(true);
        ini.load(is);
        is.close();
        String url = ini.get(secao, "usar");

        //URLS CONSULTA CADASTO
        if (tipoServico.equals(ServicosEnum.CONSULTA_CADASTRO) && (
                config.getEstado().equals(EstadosEnum.PA) ||
                        config.getEstado().equals(EstadosEnum.AM) ||
                        config.getEstado().equals(EstadosEnum.AL) ||
                        config.getEstado().equals(EstadosEnum.AP) ||
                        config.getEstado().equals(EstadosEnum.DF) ||
                        config.getEstado().equals(EstadosEnum.PI) ||
                        config.getEstado().equals(EstadosEnum.RJ) ||
                        config.getEstado().equals(EstadosEnum.RO) ||
                        config.getEstado().equals(EstadosEnum.SE) ||
                        config.getEstado().equals(EstadosEnum.TO))) {
            throw new NfeException("Estado não possui Consulta Cadastro.");
            // URLS de ambiente nacional
        } else if (tipoServico.equals(ServicosEnum.DISTRIBUICAO_DFE)
                || tipoServico.equals(ServicosEnum.MANIFESTACAO)) {
            secao = config.getAmbiente().equals(AmbienteEnum.HOMOLOGACAO) ? "NFe_AN_H" : "NFe_AN_P";

        } else if (!tipoServico.equals(ServicosEnum.URL_CONSULTANFCE)
                && !tipoServico.equals(ServicosEnum.URL_QRCODE) && ObjetoUtil.verifica(url).isPresent()) {
            secao = url;
        } else if (config.isContigenciaSCAN()) {
            // SVC-RS
            if (config.getEstado().equals(EstadosEnum.GO) || config.getEstado().equals(EstadosEnum.AM)
                    || config.getEstado().equals(EstadosEnum.BA) || config.getEstado().equals(EstadosEnum.CE)
                    || config.getEstado().equals(EstadosEnum.MA) || config.getEstado().equals(EstadosEnum.MS)
                    || config.getEstado().equals(EstadosEnum.MT) || config.getEstado().equals(EstadosEnum.PA)
                    || config.getEstado().equals(EstadosEnum.PE) || config.getEstado().equals(EstadosEnum.PI)
                    || config.getEstado().equals(EstadosEnum.PR)) {
                secao = tipoDocumento.getTipo() + "_SVRS_"
                        + (config.getAmbiente().equals(AmbienteEnum.HOMOLOGACAO) ? "H" : "P");
                // SVC-AN
            } else {
                secao = tipoDocumento.getTipo() + "_SVC-AN_"
                        + (config.getAmbiente().equals(AmbienteEnum.HOMOLOGACAO) ? "H" : "P");
            }
        }

        url = ini.get(secao, tipoServico.getServico().toLowerCase());

        ObjetoUtil.verifica(url).orElseThrow(() -> new NfeException(
                "WebService de " + tipoServico + " não encontrado para " + config.getEstado().getNome()));

        LoggerUtil.log(WebServiceUtil.class, "[URL]: " + tipoServico + ": " + url);

        return url;

    } catch (IOException e) {
        throw new NfeException(e.getMessage());
    }

}