public static Namespace create(String name) { return create(name, STRICTLY_CHECKED_NAME); }
private TableReference truncateNamespace(TableReference tableRef) { if (tableRef.getNamespace().isEmptyNamespace()) { return tableRef; } String namespace = tableRef.getNamespace().getName(); namespace = truncate(namespace, MAX_NAMESPACE_LENGTH); return TableReference.create(Namespace.create(namespace), tableRef.getTablename()); }
@JsonIgnore public boolean isEmptyNamespace() { return this.equals(EMPTY_NAMESPACE); }
@JsonIgnore public String getQualifiedName() { return namespace.isEmptyNamespace() || namespace.getName().equals("met") ? tablename : namespace.getName() + "." + tablename; }
public static TableFactoryRenderer of( String schemaName, String packageName, Namespace defaultNamespace, Map<String, TableDefinition> definitions) { SortedMap<String, TableDefinition> sortedDefinitions = Maps.newTreeMap(); for (Entry<String, TableDefinition> entry : definitions.entrySet()) { sortedDefinitions.put(Renderers.getClassTableName(entry.getKey(), entry.getValue()), entry.getValue()); } ClassName tableFactoryType = ClassName.get(packageName, schemaName + "TableFactory"); ClassName sharedTriggersType = tableFactoryType.nestedClass("SharedTriggers"); return new TableFactoryRenderer( schemaName, packageName, defaultNamespace.getName(), sortedDefinitions, tableFactoryType, sharedTriggersType); }
@Value.Check protected final void check() { Preconditions.checkState( metadataTable().getNamespace().isEmptyNamespace(), "'metadataTable' should have empty namespace'"); }
@SuppressWarnings("ValidateConstantMessage") // https://github.com/palantir/gradle-baseline/pull/175 public static Namespace create(String name, Pattern pattern) { Validate.notEmpty(name, "namespace name cannot be empty (see Namespace.EMPTY_NAMESPACE instead)."); Validate.isTrue(!name.contains("."), "namespace cannot contain dots (atlas reserved)."); Validate.isTrue(pattern.matcher(name).matches(), "'%s' does not match namespace pattern '%s'.", name, pattern); return new Namespace(name); }
@Test public void createLowerCasedWithNamespace() { String upperFoo = "FOO"; String upperBar = "BAR"; TableReference upper = TableReference.create(Namespace.create(upperFoo), upperBar); TableReference lower = TableReference.createLowerCased(upper); assertEquals(lower.getNamespace().getName(), upperFoo.toLowerCase()); assertEquals(lower.getTablename(), upperBar.toLowerCase()); }
@Test public void testGetFullTableReferenceString() { MatcherAssert.assertThat( Schemas.getTableReferenceString(TABLE_NAME, NAMESPACE), Matchers.equalTo("TableReference.createFromFullyQualifiedName(\"" + NAMESPACE.getName() + "." + TABLE_NAME + "\")")); }
public static String getTableReferenceString(String tableName, Namespace namespace) { Preconditions.checkArgument(isTableNameValid(tableName), "%s is not a valid table name", tableName); String namespaceName = namespace.getName(); // Hacks for schemas that were created before namespaces were created. if (namespace.isEmptyNamespace() || namespaceName.equals("met")) { return "TableReference.createWithEmptyNamespace(\"" + tableName + "\")"; } else { return "TableReference.createFromFullyQualifiedName(\"" + namespace.getName() + "." + tableName + "\")"; } }
@Override public TableReference getMappedTableName(TableReference tableRef) throws TableMappingNotFoundException { if (tableRef.getNamespace().isEmptyNamespace()) { return tableRef; } if (tableMap.get().containsKey(tableRef)) { TableReference shortName = tableMap.get().get(tableRef); validateShortName(tableRef, shortName); return tableMap.get().get(tableRef); } else { updateTableMap(); TableReference shortTableName = tableMap.get().get(tableRef); if (shortTableName != null) { return shortTableName; } throw new TableMappingNotFoundException("Unable to resolve full name for table reference " + tableRef); } }
@SuppressWarnings("ValidateConstantMessage") // https://github.com/palantir/gradle-baseline/pull/175 public static Namespace create(String name, Pattern pattern) { Validate.notEmpty(name, "namespace name cannot be empty (see Namespace.EMPTY_NAMESPACE instead)."); Validate.isTrue(!name.contains("."), "namespace cannot contain dots (atlas reserved)."); Validate.isTrue(pattern.matcher(name).matches(), "'%s' does not match namespace pattern '%s'.", name, pattern); return new Namespace(name); }
/** * Creates a table reference based on fullTableName. * fullTableName is assumed to be of the format namespace.tableName, and must contain a dot. */ public static TableReference createFromFullyQualifiedName(String fullTableName) { int index = fullTableName.indexOf('.'); Preconditions.checkArgument(index > 0, "Table name %s is not a fully qualified table name.", fullTableName); return create( Namespace.create(fullTableName.substring(0, index), Namespace.UNCHECKED_NAME), fullTableName.substring(index + 1)); }
private TableReference truncateNamespace(TableReference tableRef) { if (tableRef.getNamespace().isEmptyNamespace()) { return tableRef; } String namespace = tableRef.getNamespace().getName(); namespace = truncate(namespace, MAX_NAMESPACE_LENGTH); return TableReference.create(Namespace.create(namespace), tableRef.getTablename()); }
public static final byte[] getBytesForTableRef(TableReference tableRef) { byte[] nameSpace = EncodingUtils.encodeVarString(tableRef.getNamespace().getName()); byte[] table = PtBytes.toBytes(tableRef.getTablename()); return Bytes.concat(nameSpace, table); }
@JsonIgnore public String getQualifiedName() { return namespace.isEmptyNamespace() || namespace.getName().equals("met") ? tablename : namespace.getName() + "." + tablename; }
@Override public TableReference addTable(TableReference tableRef) { if (tableRef.getNamespace().isEmptyNamespace()) { return tableRef; } if (tableMap.get().containsKey(tableRef)) { return tableMap.get().get(tableRef); } Cell key = Cell.create(getBytesForTableRef(tableRef), AtlasDbConstants.NAMESPACE_SHORT_COLUMN_BYTES); String shortName = AtlasDbConstants.NAMESPACE_PREFIX + Preconditions.checkNotNull(uniqueLongSupplier.get(), "uniqueLongSupplier returned null"); byte[] value = PtBytes.toBytes(shortName); try { kv.putUnlessExists(AtlasDbConstants.NAMESPACE_TABLE, ImmutableMap.of(key, value)); } catch (KeyAlreadyExistsException e) { return getAlreadyExistingMappedTableName(tableRef); } return TableReference.createWithEmptyNamespace(shortName); }
@VisibleForTesting static boolean isSweepTableReference(TableReference tableReference) { return tableReference.getNamespace().equals(SweepSchema.INSTANCE.getNamespace()); } }