CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-com-networknt--utility

A comprehensive utility library for Light-4J microservices framework providing string manipulation, networking, I/O, security, and configuration utilities.

Pending
Overview
Eval results
Files

configuration-management.mddocs/

Configuration Management

Configuration utilities for service mapping, path normalization, and key management in microservices environments. Designed for Light-4J framework configuration patterns and service discovery mechanisms.

Capabilities

Configuration Utilities

Utility class providing configuration management functionality for service mapping and path normalization.

/**
 * Configuration utilities for service mapping and path normalization
 */
public class ConfigUtils {
    public static final String DELIMITOR = "@";
    
    // Service mapping
    public static String findServiceEntry(String method, String searchKey, Map<String, Object> mapping);
    
    // Path operations
    public static String normalisePath(String requestPath);
    
    // Key management
    public static String toInternalKey(String key);
    public static String toInternalKey(String method, String path);
    
    // Data normalization
    public static Map<String, Object> normalizeMap(Map<String, Object> map, List<String> keysToNotSort);
    public static List<?> normalizeList(List<?> list, List<String> keysToNotSort);
    
    // Pattern matching
    public static boolean matchesAny(String input, List<String> stringsToMatch);
}

Usage Examples:

import com.networknt.utility.ConfigUtils;
import java.util.*;

// Service discovery and mapping
Map<String, Object> serviceMapping = Map.of(
    "GET@/api/users", "UserService",
    "POST@/api/orders", "OrderService",
    "GET@/api/products/{id}", "ProductService"
);

String service = ConfigUtils.findServiceEntry("GET", "/api/users", serviceMapping);
// Result: "UserService"

// Path normalization
String normalizedPath = ConfigUtils.normalisePath("/api//users///123/");
// Result: "/api/users/123"

// Internal key generation
String methodPathKey = ConfigUtils.toInternalKey("GET", "/api/users");
// Result: "GET@/api/users"

String simpleKey = ConfigUtils.toInternalKey("user.config");
// Result: normalized internal key format

// Configuration map normalization
Map<String, Object> config = new HashMap<>();
config.put("database.host", "localhost");
config.put("database.port", 5432);
config.put("api.version", "v1");

List<String> preserveOrder = Arrays.asList("api.version");
Map<String, Object> normalized = ConfigUtils.normalizeMap(config, preserveOrder);

// Pattern matching for configuration
List<String> patterns = Arrays.asList("*.json", "*.yml", "*.properties");
boolean matches = ConfigUtils.matchesAny("config.json", patterns); // true

// Service routing example
public class ServiceRouter {
    private final Map<String, Object> routingConfig;
    
    public ServiceRouter(Map<String, Object> routingConfig) {
        this.routingConfig = ConfigUtils.normalizeMap(routingConfig, null);
    }
    
    public String findService(String method, String path) {
        String normalizedPath = ConfigUtils.normalisePath(path);
        return ConfigUtils.findServiceEntry(method, normalizedPath, routingConfig);
    }
}

Install with Tessl CLI

npx tessl i tessl/maven-com-networknt--utility

docs

configuration-management.md

data-structure-utilities.md

framework-integration.md

index.md

io-file-operations.md

network-operations.md

path-template-matching.md

security-cryptography.md

string-processing.md

time-date-operations.md

tile.json