All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.umlg.runtime.util.UmlgUtil Maven / Gradle / Ivy

package org.umlg.runtime.util;

import java.util.*;

public class UmlgUtil {

    public static Pair getBlueprintsImplementationWithUrl() {
        Pair poweredBy = new Pair();
        try {
            Class.forName("org.umlg.runtime.adaptor.UmlgNeo4jGraph");
            poweredBy.setFirst("Neo4j");
            poweredBy.setSecond("http://www.neo4j.org");
        } catch (ClassNotFoundException e) {
            try {
                Class.forName("org.umlg.runtime.adaptor.UmlgBitsyGraph");
                poweredBy.setFirst("Bitsy");
                poweredBy.setSecond("https://bitbucket.org/lambdazen/bitsy/wiki/Home");
            } catch (ClassNotFoundException ee) {
                try {
                    Class.forName("org.umlg.runtime.adaptor.UmlgTitanGraph");
                    poweredBy.setFirst("Titan");
                    poweredBy.setSecond("https://bitbucket.org/lambdazen/bitsy/wiki/Home");
                } catch (ClassNotFoundException eee) {
                    try {
                        Class.forName("org.umlg.runtime.adaptor.UmlgOrientDbGraph");
                        poweredBy.setFirst("OrientDb");
                        poweredBy.setSecond("http://www.orientdb.org/");
                    } catch (ClassNotFoundException eeee) {
                        try {
                            Class.forName("org.umlg.runtime.adaptor.UmlgThunderGraph");
                            poweredBy.setFirst("ThunderGraph");
                            poweredBy.setSecond("http://www.umlg.org/");
                        } catch (ClassNotFoundException eeeee) {
                            try {
                                Class.forName("org.umlg.runtime.adaptor.UmlgSqlgGraph");
                                poweredBy.setFirst("SqlG");
                                poweredBy.setSecond("http://www.umlg.org/");
                            } catch (ClassNotFoundException eeeeee) {
                            }
                        }
                    }
                }
            }
        }
        return poweredBy;
    }


    public static String getBlueprintsImplementation() {
        String poweredBy = "";
        try {
            Class.forName("org.umlg.runtime.adaptor.UmlgNeo4jGraph");
            poweredBy = "Neo4j";
        } catch (ClassNotFoundException e) {
            try {
                Class.forName("org.umlg.runtime.adaptor.UmlgBitsyGraph");
                poweredBy = "Bitsy";
            } catch (ClassNotFoundException ee) {
                try {
                    Class.forName("org.umlg.runtime.adaptor.UmlgTitanGraph");
                    poweredBy = "Titan";
                } catch (ClassNotFoundException eee) {
                    try {
                        Class.forName("org.umlg.runtime.adaptor.UmlgOrientDbGraph");
                        poweredBy = "OrientDb";
                    } catch (ClassNotFoundException eeee) {
                        try {
                            Class.forName("org.umlg.runtime.adaptor.UmlgThunderGraph");
                            poweredBy = "ThunderGraph";
                        } catch (ClassNotFoundException eeeee) {
                            try {
                                Class.forName("org.umlg.runtime.adaptor.UmlgSqlgGraph");
                                poweredBy = "Sqlg";
                            } catch (ClassNotFoundException eeeeee) {
                            }
                        }
                    }
                }
            }
        }
        return poweredBy;
    }

    public static String[] convertEnumsForPersistence(Collection> multiEmbeddedReason) {
        Collection persistentCollection;
        if (multiEmbeddedReason instanceof Set) {
            persistentCollection = new HashSet();
        } else {
            persistentCollection = new ArrayList();
        }
        for (Enum e : multiEmbeddedReason) {
            persistentCollection.add(e.toString());
        }
        return persistentCollection.toArray(new String[]{});
    }

    public static String convertEnumForPersistence(Enum embeddedEnum) {
        return embeddedEnum.toString();
    }

    @SuppressWarnings("unchecked")
    public static Enum convertEnumFromPersistence(Class embeddedEnum, String value) {
        return Enum.valueOf(embeddedEnum, value);
    }

    public static Collection convertEnumsFromPersistence(Object multiEmbeddedReason, Class e, boolean isOrdered) {
        if (multiEmbeddedReason != null) {
            Collection persistentCollection;
            if (!isOrdered) {
                persistentCollection = new HashSet();
            } else {
                persistentCollection = new ArrayList();
            }
            Collection enums;
            if (multiEmbeddedReason instanceof List) {
                enums = (List)multiEmbeddedReason;
            } else {
                enums = Arrays.asList((String[]) multiEmbeddedReason);
            }
            for (String s : enums) {
                persistentCollection.add(Enum.valueOf(e, s));
            }
            return persistentCollection;
        } else {
            return isOrdered ? new ArrayList(): new HashSet();
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy