MetaDataMerger.mergeFileORMData((FileMetaData)cmd.getPackageMetaData().getParent(), (FileMetaData)ormCmd.getPackageMetaData().getParent());
else if (cmd.getPackageMetaData().getSchema() != null) return cmd.getPackageMetaData().getSchema(); else if (cmd.getPackageMetaData().getFileMetaData().getSchema() != null) return cmd.getPackageMetaData().getFileMetaData().getSchema();
processSequenceGeneratorAnnotation(cmd.getPackageMetaData(), annotationValues); processTableGeneratorAnnotation(cmd.getPackageMetaData(), annotationValues);
processSequenceGeneratorAnnotation(cmd.getPackageMetaData(), annotationValues); processTableGeneratorAnnotation(cmd.getPackageMetaData(), annotationValues);
/** * This is a lot of hackery. Basically, force the class to go through ForceAnnotationReader * and create a fake class that has Force.com annotations read in as * extension data. We then transfer the extension data from the fake class to the actual one. * * @param cmd - actual class metadata that will get updated with Force.com annotations */ private void updateAnnotations(AbstractClassMetaData cmd) { ClassLoaderResolver clr = storeManager.getOMFContext().getClassLoaderResolver(storeManager.getClass().getClassLoader()); Class<?> clazz = clr.classForName(cmd.getFullClassName()); AbstractClassMetaData cmdNew = annotationReader.getMetaDataForClass(clazz, cmd.getPackageMetaData(), clr); ExtensionMetaData[] extensions = cmdNew.getExtensions(); if (extensions != null && extensions.length > 0) { for (ExtensionMetaData e : extensions) { if (ForceStoreManager.FORCE_KEY.equals(e.getVendorName())) { cmd.addExtension(ForceStoreManager.FORCE_KEY, e.getKey(), e.getValue()); } } } for (AbstractMemberMetaData ammdNew : ((ForceClassMetaData) cmdNew).getMembers()) { AbstractMemberMetaData ammd = cmd.getMetaDataForMember(ammdNew.getName()); for (ExtensionMetaData e : ammdNew.getExtensions()) { ammd.addExtension(e.getVendorName(), e.getKey(), e.getValue()); } } }
/** * This is a lot of hackery. Basically, force the class to go through ForceAnnotationReader * and create a fake class that has Force.com annotations read in as * extension data. We then transfer the extension data from the fake class to the actual one. * * @param cmd - actual class metadata that will get updated with Force.com annotations */ private void updateAnnotations(AbstractClassMetaData cmd) { ClassLoaderResolver clr = storeManager.getOMFContext().getClassLoaderResolver(storeManager.getClass().getClassLoader()); Class<?> clazz = clr.classForName(cmd.getFullClassName()); AbstractClassMetaData cmdNew = annotationReader.getMetaDataForClass(clazz, cmd.getPackageMetaData(), clr); ExtensionMetaData[] extensions = cmdNew.getExtensions(); if (extensions != null && extensions.length > 0) { for (ExtensionMetaData e : extensions) { if (ForceStoreManager.FORCE_KEY.equals(e.getVendorName())) { cmd.addExtension(ForceStoreManager.FORCE_KEY, e.getKey(), e.getValue()); } } } for (AbstractMemberMetaData ammdNew : ((ForceClassMetaData) cmdNew).getMembers()) { AbstractMemberMetaData ammd = cmd.getMetaDataForMember(ammdNew.getName()); for (ExtensionMetaData e : ammdNew.getExtensions()) { ammd.addExtension(e.getVendorName(), e.getKey(), e.getValue()); } } }
seqmd.setParent(cmd.getPackageMetaData()); cmd.getPackageMetaData().addSequence(seqmd);
cmd.getPackageMetaData().addSequence(seqmd);
if (cmd != null) filemds = new FileMetaData[] {cmd.getPackageMetaData().getFileMetaData()};