package org.dayatang.persistence.jpa; import org.apache.commons.lang3.StringUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.LinkedHashMap; import java.util.Map; import static org.junit.Assert.assertEquals; public class AliasTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testGetAlias() { Map<String, String> map = getAlias("a.b.c.d"); map.putAll(getAlias("a.b.c")); assertEquals(3, map.size()); for (String key : map.keySet()) { System.out.println(key + ":" + map.get(key)); } } @Test public void testGetAliasEmpty() { Map<String, String> map = getAlias("a"); assertEquals(0, map.size()); } private Map<String, String> getAlias(String propName) { Map<String, String> results = new LinkedHashMap<String, String>(); if (StringUtils.isEmpty(propName)) { return results; } int index = propName.indexOf("."); while (index > 0) { String aliasName = propName.substring(0, index); int index1 = aliasName.lastIndexOf("."); String alias = index1 == -1 ? aliasName : aliasName.substring(index1 + 1); results.put(aliasName, alias); index = propName.indexOf(".", index + 1); } return results; } }