package org.safehaus.penrose.opends;
import org.safehaus.penrose.schema.AttributeType;
import org.safehaus.penrose.schema.ObjectClass;
import org.safehaus.penrose.schema.Schema;
import org.safehaus.penrose.schema.SchemaParser;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
/**
* @author Endi S. Dewata
*/
public class OpenDSSchemaConverter {
public void convert(String input, String output) throws Exception {
FileReader in = new FileReader(input);
SchemaParser parser = new SchemaParser(in);
Schema schema = parser.parse();
PrintWriter out = new PrintWriter(new FileWriter(output), true);
out.println("dn: cn=schema");
out.println("objectClass: top");
out.println("objectClass: ldapSubentry");
out.println("objectClass: subschema");
for (AttributeType at : schema.getAttributeTypes()) {
out.println("attributeTypes: ( "+at+" )");
}
for (ObjectClass oc : schema.getObjectClasses()) {
out.println("objectClasses: ( "+oc+" )");
}
out.close();
in.close();
}
public static void main(String args[]) throws Exception {
if (args.length != 2) {
System.out.println("Usage: org.safehaus.penrose.opends.OpenDSSchemaConverter <input> <output>");
System.exit(-1);
}
String input = args[0];
String output = args[1];
System.out.println("Converting generic LDAP schema: "+input);
System.out.println("into OpenDS schema: "+output);
OpenDSSchemaConverter converter = new OpenDSSchemaConverter();
converter.convert(input, output);
}
}