Sculpture morph patterns

Once a morph pattern is created in Sculpture, is it possible to create a loop inside scultpure rather than retriggering the whole "patch" from the midi keyboard? I know that I can convert to audio, put in EXS and create a loop. But can it be done in Sculpture itself. I may have missed it, but I didn't see that in the owner's manual tutorial.
Thanks so much

The answer is........yes you can! Took me a few days but I figured it out.
I know negative comments about Logic and Apple products are forbidden on this site and I'm not being negative oh great webmaster. I'm just curious...
How many Logic 7.X users actually use sculpture? It's truly the main reason I work with the program and am curious what others think about. Try to make negative comments sound positive — Spin it baby like Karl Rove!

Similar Messages

  • Sculpture morph pad-How do I get the red ball?

    I just worked my way thru the Sculpture tutorial, creating a pad. Everything works except that I'm not getting the red ball in the morph pad. I do see it on other presets, but not with the sound I made from the default patch. How do I get the red ball?

    Nice work. To activate the red ball, you need to activate the Morph Envelope Parameters. It's the area underneath the morph pad. Across the top there are options: "Mode", "Time Scale", "Sustain Mode". Click and hold under Mode where it says "Off". You'll get a menu of options, select "Pad only" and the red ball appears. Or you can edit the actual morph envelope to the other options.
    For a more detailed explanation see page 406 in of the plug-in reference guide.

  • Sculpture morph points - how can I make them reproduce sound?

    When I set a morph point in Sculpture, the pitch of the sound I get is lower than the pitch of the sound I get when I move the material ball to the exact same point. Is this a bug or a feature? I have made triply certain that, when I move the morph ball, nothing changes except the position in the material plane. In addition, everything is off except for object 1.

    The view was the issue, evidently. Although it's not intuitive, the problem is that a camera's keyframes can't be seen while the view is set to that camera; you have to find a way to change the view to be behind it. Perhaps they'll fix that oversight in a future update.

  • How do you edit MIDI controllers for morph control in Sculpure?

    I used a keyboard with an XY pad to send MIDI CC 16 and 17 automation data to a track that had a Sculpture instance in order to control the morph feature in Sculpture.
    This worked fine, but I can't figure out how to edit that data afterward. When I pull it up with the Hyper Editor, it shows the data, but it somehow merged both of them onto the same controller lane. Plus, I can't seem to see how to view this data separately in the Event List since the Event List does NOT show which MIDI CC the data is for.
    Do any of you have any experience with this or anything like it? If so, please offer suggestions.
    Thanks in advance.

    The matrix editor is optimised to the display and editing of note pitch, note start time, and note length.
    You can edit velocity with the velocity tool, but the velocity display isn't particularly clear to see. And with drum tracks, you don't care about the note length.
    The hyper editor on the other hand is concered with note pitch, note start time, and velocity rather than length, making it much more suited to drum editing. Plus you can group lanes so that they are exclusive (eg inserting an open hihat sound will delete a closed one at that same location).
    You can have independant quantise values for every note, so you can just draw sixteenths in for that closed hats, then switch to 1/32 to input fiddly stuff, while leaving the kicks and snares at at 1/16.
    The hyper editor is overlooked by many people because it seems different to other solutions, but that's because it's mostly better. If you are more comfortable with the matrix editor, then stay there. For me, I know to choose the best tool for a given task, and for drum editing, it's nearly always the hyper editor.

  • Sculpture

    Hi,
    Not sure if this is a new bug in Logic Pro 9.0.1, but I can't seen to turn on the animation by right-clicking on the green string in Sculpture. (A friend who has the Logic Pro 9.0.1 update also has the same problem too). Can anybody else confirm this ? Could it have been disabled in the update possibly ? Is there a fix/solution ?
    Thanks,
    J.

    I'm also noticing that the contextual menu for copy/pasting and assigning randomize points doesn't pop up when I right click on the morph pad. Can anyone else confirm this?

  • Screen printing & controlling size of dot pattern in gradient halftones gradien

    I'm using A Mac OS 10.6.8, and Illustrator CS5.
    I do garment screen printing.
    In my designs I use a gradient, which needs to have the halftone dots controlled, and a certain size, to expose properly on my screens to then print.
    I can't seem to figure out how to adjust the frequency or LPI, and the angle so that they work. It still prints out as a seen on screen
    Thanks ahaead of time for your reply.
    [ signature removed by forum host  ]

    Mark,
    I answered your questions in my previous post.
    As you can see, the dot size is much smaller as the DPI is increased.
    Of course. As I explained, the higher the halftone frequency (the standard term for which is Lines Per Inch, not Dots Per Inch); the more halftone dots per measure; therefore the smaller the dots.
    Once converted into halftone dots, just select > expand appearance...
    As I explained in response to your question about the screen printer being able to edit the "halftone" settings: If the plug-in applies a live effect, the printing house would have to have the same plug-in to alter the effect settings. (He'd also have to have a sufficient proficiency in Illustrator, which you cannot assume.) If you expand the effect, it's then "nailed down" as non-live paths and the printer will not be able to change the LPI.
    Honestly, you should take a look at their plug-ins, they're amazing!
    It's not that amazing. I have my own scripts which do pretty much the same kind of faux halftone.
    This is not actual halftoning. In a real halftone, the dots change shape as they cover more area. Look at a printed grayscale ramp with a loup and you'll see that as the tones cross the 50% range, they "morph" from black dots on a white field into white dots on a black field; they don't just become larger and larger black dots choking out the white areas.
    Nor is this the same thing at all as a drawing program properly providing object-level halftone settings, as does FreeHand. FreeHand lets you assign actual PostScript halftone settings at the object level. The printer's RIP builds the halftone as true halftones at print time. For example, in FreeHand, you can set an object to print as a line halftone pattern at 30 LPI, and another object to print as a diamond halftone pattern at 50 LPI. Both halftones are applied by the printer, not by actually drawing a kazillion tiny paths in the FreeHand document. This is just one of those areas in which Illustrator is still decades-deficient in providing valuable functionality.
    So, I'm just trying to figure out the best way to approach this.
    Again: Assuming your concern is just to be able to print a halftone ruling that the printing house can hold, you need to find out from the printing house what that halftone ruling is. Just saying it's screen printing is not enough. Screen printing shops run the gamut from small mom & pop shops using an almost entirely manual process to high end large outfits running very large, elaborate, and expensive equipment--and everything in between.
    As a general rule, halftoning really doesn't look very good on garments anyway--especially when done by small-to-medium shops--because of the course halftone rulings required. Talented and innovative screen-centric designers and screen print houses avoid actual halftones and actual process color, and instead utilize clever hatching or stippling techniques in the artwork, often involving multiple additional inks (several greens, for example). The result is vibrant, brilliant color, because it's really rendered as posterized solid line art. Next time you're at any mainstream department store, take a look at the most brilliant T-shirt pictorials--the ones of dinosaurs and colorful fantasy images. Study them up close and you'll see they are not ordinary process or ordinary halftoning.
    If I were using Illustrator for something destined for T-shirt printing, and using tint screens not intended as a special effect, but just as an attempt to minimize ink count by overprinting a small set of opaque spot inks in a process kind of way, I would simply set the halftone settings for the ink at the document level at print time--which is all Illustrator can do.
    ...tell me exactly what to ask the printer...
    Again: Ask the printer what is the highest halftone screen ruling he can reliably and consistently hold. Then it's up to you whether that's good enough for your satisfaction, or if you need to find a more capable screen printing shop, or whether you need to redo the artwork  using a lineart method for suggesting tones.
    JET

  • Uograde to Logic Studio just for Sculpture?

    I'm really happy with Logic Express, and have added a lot of multi sampled libraries for the EXS24. But
    I do love physical modelling syntheszers because they can emulate acoustic plucked instruments really well, and I've heard that Sculpture is a physical modelling synth. But surprisingly there are no videos about this synth on youtube.
    So, is it a good idea to upgrade to Logic Studio just to get Sculpture? If not, should I get Applied Acoustic Studio's (physical modelling synth)"String Studio VS-1, instead?

    AAS String Studio is indeed a great Plug In but it sounds nothing like Sculpture and isn't as versatile. String Studio can create very special sounds as well as bread&butter stuff, the fretless basses sound great, the guitars not so much and you can get some incredible experimental sounds and pads out of it as well but it has more limited modulation and editing capabilities than Sculpture.
    In Sculpture you can sidechain an Audio Input to trigger/disturb the string yielding to incredible results like rythmical textures (if you e.g. use a drumlooop/sequencer as sidechain Input) which you can't achieve with String Studio. Also you can record Midi controller data and turn that into a sequenced loop which is another fantastic feature of Sculpture. The characteristic of the plucked string can be anything between nylon, metal, glass or wood, abusing the parameters let's you create instruments you've never heard of. Also the morphing feature is great where you can dynamically morph between different aspects of a sound all synced to the clock of your DAW. The Jitter LFO´s are very useful too and the Modulation matrix as a whole is very well developed.
    So I would say yes, upgrade to L8 (there are many other reasons for that by the way) and you'll be a happy musician/producer.

  • I forgot pattern lock on my Sony Xperia Z1 and i need it back

    Hello,
    on my sony xperia z1 phone i forgot my pattern lock. I can't use the Forgot Pattern Lock because it uses Wifi conection which i can't connect to...(my screen is locked) I want to hard reset it somehow but i tried allmost every method on the internet but none of them were working I tried holding the volume up and these things....but as i said it won't work for me. Can anyone please help me? THANK YOU VERY MUCH

    In order to fix this you need to perform a system repair
    Switch off your phone and unplug from Pc (Hold volume up and power for around 10 seconds)
    Start PC Companion and select Support zone then Update my phone/tablet then in Blue Repair my phone/tablet and follow the onscreen instructions - When prompted connect your phone still switched off holding volume down or back button - This should start the repair or reformat process
    If you are using Windows 8/8.1 or a 64bit operating system then adjust the settings for PC Companion and run in compatibility mode and chose Windows 7 or XP
    For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled.   Richard P. Feynman

  • Please help - Trying to create a realistic liquid morphing

    Hello
    I’m fairly new to Flash and vector art but have a
    project to create a Flash based flowchart that is made up of liquid
    blobs that morph to show the various paths to the chart.
    I’ve had a go making the blobs in flash but when l go
    to animate them, it all looks a bit rubbish - see:
    http://www.mintmedia.co.uk/example2.html
    Could anyone suggest a better way of attempting to do this
    animation....
    Thanks in advance
    Rich

    Is there no way to create an appcontroller that works like an applescript? Or get an applescript to be recognized so a new NSButton added to the Bookmark bar be activated?
    i.e.
    *tell application "System Events"*
    * tell application "Safari" to activate*
    * keystroke "n" using {command down}*
    * delay 0.1*
    * keystroke "l" using {command down, shift down}*
    *end tell*
    Or,
    _Something Like:_
    / AppController /
    *#import <Cocoa/Cocoa.h>*
    *@interface AppController : NSObject*
    *IBOutlet id NSButton;*
    *-(IBAction) autoFill:,delay 0.1,checkSpelling:(id)sender*
    @end
    I really don't know if that AppController looks anything like it should or if it's even close.

  • G5 locking up, random screen pattern lock ups

    Alright, this is actually my brother's computer, which he's had for at least a year and half, with no problems. I just recently started using it to play a computer game, World of Warcraft. The game ran smoothly with no problems for a couple of weeks. Then, some graphical problems started showing up out of no-where and eventually, within the next week led to the game and computer locking up randomly, requiring a manual restart. The fan in the back of the flat panel would get loud sometimes when this happened.
    Now the comp freezes up whenever I even try starting up a game, not just warcraft, but will play videos just fine. (I already asked about the problem on that game's tech forums and they looked at the system specs and thought it might be a problem with this comp, saying that there was some recall on this model because of a faulty part.)
    When starting up the comp, there are flashy, colorful streaks all over the screen, (probably 80% of the time)
    Randomly when doing anything on this comp, a colored checker or bricklike pattern will cover the entire screen and require manual restart. It really makes it hard to do anything since we have to manually restart the comp a few times before the normal screen will come up. My question is: What might be wrong with this computer? Might playing that game have revealed the problem, since there had been no games used on this computer since now?
    Hardware Overview:
    Machine Name: iMac G5
    Machine Model: PowerMac8,1
    CPU Type: PowerPC G5 (3.0)
    Number Of CPUs: 1
    CPU Speed: 1.8 GHz
    L2 Cache (per CPU): 512 KB
    Memory: 1 GB
    Bus Speed: 600 MHz
    Boot ROM Version: 5.2.2f2
    Serial Number: W84401NRPNZ
    GeForce FX 5200:
    Chipset Model: GeForce FX 5200
    Type: Display
    Bus: AGP
    Slot: AGP
    VRAM (Total): 64 MB
    Vendor: nVIDIA (0x10de)
    Device ID: 0x0329
    Revision ID: 0x00b1
    ROM Revision: 2103
    Displays:
    iMac:
    Display Type: LCD
    Resolution: 1344 x 840
    Depth: 32-bit Color
    Built-In: Yes
    Core Image: Supported
    Main Display: Yes
    Mirror: Off
    Online: Yes
    Quartz Extreme: Supported
    Display:
    Status: No display connected
    DIMM0/J4000:
    Size: 512 MB
    Type: DDR SDRAM
    Speed: PC3200U-30330
    Status: OK
    DIMM1/J4001:
    Size: 512 MB
    Type: DDR SDRAM
    Speed: PC3200U-30330
    Status: OK
    IMac PowerPC G5 1.8 GHz   Mac OS X (10.4.5)  

    G'day Cory,
    I'm starting to experience some of the same problems. When I boot the G5 iMac and its cold it will exhibit a heap of screen flicker in the grey screen and then boot normally. After that it boots to the OS with seemingly no problems ... except the screen refresh ... which leaves 'ghost' images all over the screen. When I Restart the problem seems to go away ... no screen streaks and lines at the grey screen, the screen refreshes as per normal ... and there are very few application hangs.
    What I suspect is that since I have the original 20" 1.8 Ghz G5 iMac the resistors and/or motherboard have a fault which Apple acknowledged nearly a year back. It was common on PC's also .. hey who wants to spend 10 cents on a resistor when you can get the 'same' thing for 5 cents.
    Apple announced a free repair program for this fault, so if that is what's the problem you (and I) should be able to get the puppy repaired free of charge by taking it into your nearest Apple dealer and letting them do their stuff.
    I'm also covered by an AppleCare policy (hey, I had the DVD SuperDrive fail on my G4 Mac about 2 years into owning it - so figured better safe than sorry) ... but I figure this puppy will be repaired under the repair policy that Apple made known.
    Regards,

  • DPL and composite pattern

    Hello...using DPL, JE (3.1.0), and trying to come up with a design that fits the following mold:
    @Entity
    public class Thing {
       @PrimaryKey
       long id;
       @SecondaryKey(relate=MANY_TO_ONE)
       int thingTypeId;
       // how to link this to thing attribute model below?
       List<ThingAttribute> thingAtts = new ArrayList<ThingAttribute>( );
    }Thus, a Thing can have a list of attributes. A thing has a unique id (primary key), and a thing has a thing-type id...and there can be many instances of that thing-type, so it is MANY_TO_ONE.
    Now, a ThingAttribute follows the Composite Pattern...as below. I took a stab at annotations here, but I'm not sure it seems correct:
    @Persistent
    public abstract class AbstractThingAttribute {
       /* only simple attribute subclass has an id -- composite subclass does not
        * so we add a sequence here
       @PrimaryKey(sequence="ID")
       long id;
       // thing type id
       @SecondaryKey(relate=MANY_TO_ONE)
       int thingAttributeType;
    @Entity
    public class SimpleThingAttribute<T> extends AbstractThingAttribute {
      // unique id
      @SecondaryKey(relate=ONE_TO_ONE)
      long id;
      // generic type value
      T value;
    @Entity
    public class CompositeThingAttribute extends AbstractThingAttribute {
      // this is a recursive-definition relationship; not sure how to deal with DPL?
      // list of children
      List<ThingAttribute> children = new ArrayList<ThingAttribute>( );
    }As an aside, there is an interface for ThingAttribute, SimpleThingAttribute, and CompositeThingAttribute...this is not too relevant for this example, but Simple/Composite interfaces extend the ThingAttribute interface.
    Q1) If I create a new Thing object, and I want to persist it, it is clear to me how it works for the primary secondary key here, but how do I annotate the ThingAttribute hierarchy such that it gets persisted along with the Thing object? I guess this boils down to a couple things:
    a) how to treat the thingAtts ArrayList in a Thing object itself so it gets persisted?
    b) now, i have a list of objects, where each entry in the list follows the structure of the composite pattern. how should i approach annotating this model?
    Thanks in advance,
    Davis

    Hi Davis!
    Q1) If I create a new Thing object, and I want to
    persist it, it is clear to me how it works for the
    primary secondary key here, but how do I annotate the
    ThingAttribute hierarchy such that it gets persisted
    along with the Thing object? I guess this boils down
    to a couple things:
    a) how to treat the thingAtts ArrayList
    in a Thing object itself so it gets persisted?You just embed the thingAttrs object (as you have) in the entity. As long as the class is @Persistent (or a simple type) you can persist arbitrarily complex graphs of objects. The thin to remember is that it is stored as one object graph per entity, indexed by primary key and optionally by one or more secondary keys.
    b) now, i have a list of objects, where each entry
    in the list follows the structure of the composite
    pattern. how should i approach annotating this
    model? Don't annotate the embedded objects with @Entity, just with @Persistent. @Entity is only used when you want a separate PrimaryIndex. Objects embedded inside an entity are annotated with @Persistent only.
    So when you have multiple objects you can use either embedding or relationships. With embedding, the object graph for the entire entity is stored in a single record.
    With relationships, you store the keys of one entity as a field in the other entity, and you annotate that field with @SecondaryIndex(relate=..., relatedEntity=...). With relationships, you have to get the related object yourself via its own PrimaryIndex.
    Hope this helps,
    Mark

  • Using the Model Facade Pattern in a Java EE 5 Web application

    Hi,
    Yutaka and I did a Tech tip
    http://java.sun.com/mailers/techtips/enterprise/2006/TechTips_Nov06.html#2 on using a model facade pattern in Java EE 5 web-only applications recently. We got some questions about it, and these were some of the questions raised...
    Question 1) the first part of the tech tip(it has two articles in it) http://java.sun.com/mailers/techtips/enterprise/2006/TechTips_Nov06.html showed how to access Java Persistence objects directly from a JSF managed bean, is this a good practice?
    Question 2) when to use a facade(as mentioned in the second part of tech tip) ?
    and maybe
    Question 3) why doesn't the platform make this easier and provide the facade for you?
    Briefly, I will take a shot at answering these three questions
    Answer 1) You can access Java persistence directly from your managed beans, but as your application grows and you start to add more JSF managed beans or other web components(servlets, JSP pages etc) that also directly access Java Persistence objects, you will start to see that you are cutting/pasting similiar code to handle the transactions and to handle the Java Persistence EntityManager and other APIs in many places. So for larger applications, it is a good practice to introduce a model facade to centralize code and encapsulate teh details of the domain model management
    Answer 2) IAs mentioned in answer 1, its good to use a model facade when your application starts to grow. For simple cases a spearate model facade class may not be needed and having managed beans do some of the work is a fast way to jumpstart you application development. But a facade can help keep the code clean and easier to maintain as the aplication grows.
    Answer 3) First note that both of the articles in the tech tip were about pure web apps(not using any EJBs) and running on the Java EE5 platform. Yes it would be nice if a facility like this was made available for web-only applications(those not using EJBs). But for web-only applications you will need to use a hand-rolled facade as we outlined in the tech tip. The Java EE platform does provide a way to make implementing a facde easier though, and the solution for that is to use a Session Bean. This solution does require that you use ythe EJB container and have a Session Bean facade to access your Java Persistence objects and manage the transactions. The EJB Session Facade can do a lot of the work for you and you dont have to write code to manage the transactions or manage the EntityManager. This solution was not covered in this tech tip article but is covered in the Java BluePrints Solutions Catalog for Perssitence at
    https://blueprints.dev.java.net/bpcatalog/ee5/persistence/facade.html in the section "Strategy 2: Using a Session Bean Facade" . Maybe we can cover that in a future tech tip.
    Please ask anymore questions about the tech tip topic on this forum and we will try to answer.
    hth,
    Sean

    Hi Sean,
    I'm working on an implementation of the Model Facade pattern where you can possibly have many facades designed as services. Each service extends a basic POJO class which I'm calling CRUDService: its short code is provided below for your convenience.
    The CRUDService class is meant to generalize CRUD operations regardless of the type of the object being used. So the service can be called as follows, for example:
    Job flightAtt = new Job();
    SERVICE.create(flightAtt);
    Runway r = (Runway) SERVICE.read(Runway.class, 2);
    Employee e = (Employee) SERVICE.read(Employee.class, 4);
    SERVICE.update(e);
    SERVICE.delete(r);SERVICE is a Singleton, the only instance of some service class extending CRUDService. Such a class will always include other methods encapsulating named queries, so the client won't need to know anything about the persistence layer.
    Please notice that, in this scenario, DAOs aren't needed anymore as their role is now distributed among CRUDService and its subclasses.
    My questions, then:
    . Do you see any obvious pitfalls in what I've just described?
    . Do you think traditional DAOs should still be used under JPA?
    . It seems to me the Model Facade pattern isn't widely used because such a role can be fulfilled by frameworks like Spring... Would you agree?
    Thanks so much,
    Cristina Belderrain
    Sao Paulo, Brazil
    public class CRUDService {
        protected static final Logger LOGGER = Logger.
            getLogger(Logger.GLOBAL_LOGGER_NAME);
        protected EntityManager em;
        protected EntityTransaction tx;
        private enum TransactionType { CREATE, UPDATE, DELETE };
        protected CRUDService(String persistenceUnit) {
            em = Persistence.createEntityManagerFactory(persistenceUnit).
                createEntityManager();
            tx = em.getTransaction();
        public boolean create(Object obj) {
            return execTransaction(obj, TransactionType.CREATE);
        public Object read(Class type, Object id) {
            return em.find(type, id);
        public boolean update(Object obj) {
            return execTransaction(obj, TransactionType.UPDATE);
        public boolean delete(Object obj) {
            return execTransaction(obj, TransactionType.DELETE);
        private boolean execTransaction(Object obj, TransactionType txType) {
            try {
                tx.begin();
                if (txType.equals(TransactionType.CREATE))
                    em.persist(obj);
                else if (txType.equals(TransactionType.UPDATE))
                    em.merge(obj);
                else if (txType.equals(TransactionType.DELETE))
                    em.remove(obj);
                tx.commit();
            } finally {
                if (tx.isActive()) {
                    LOGGER.severe(txType + " FAILED: ROLLING BACK!");
                    tx.rollback();
                    return false;
                } else {
                    LOGGER.info(txType + " SUCCESSFUL.");
                    return true;
    }

  • Strange screen pattern + computer not responding

    Hi!
    I have lately experienced a strange pattern on my MacBook Pro (2,1) screen.
    The computer also stops responding when this happends.
    Does anybody recognize it?
    Any ideas on what to do about it?
    Best regards
    iMagnus

    With the risk of only me reading this...
    I can only come to one conclusion after some testing and that is that the corrupted screen above occurs due to a battery problem.
    After removing the battery I have had no problems with the screen.
    I would be very curious to know how this can occur. Anybody got any ideas?
    Regards
    Magnus

  • Image processing on matched patterns

    Hi all
    I am using LabVIEW 7.1 for image processing. I have used the pattern matching example to suit my requirements.
    Now i want that whatever image processing operations i perform after pattern matching, like, threshold, circle detection, particle filter etc.. be
    performed only on those patterns which have been recognised & not on the entire image. How can this be done?
    Thanks all in advance

    Hi James,
    I suggest you to Extract that image from the main image by using ROI tools,
    and thereby the you are left with the cropped image for your analysis.
    Use this and paste this on a new blank image for your processing.
    Regards,
    Sundar.

  • Java Program with Adapter / Facade Pattern

    Hey All:
    I'm very new to the Java language and have been given a fairly complicated (to me) program to do for a course I'm taking. The following is the scenario. I'll post code examples I have and any help will be greatly appreciated. Let me apologize ahead of time for all the code involved and say thank you in advance :).
    The program is the follow the following logic:
    Organizations A's Client (Org_A_Client.java) uses Organization A's interface (Org_A_Interface.java) but we want A's Client to also be able to use Organization B's services as well (Org_B_FileAuthorMgr.java, Org_B_FileDateMgr.java, Org_B_FileIOMgr.java).
    Now a portion of this program also involves validating an xml file to it's dtd, extracting information from that source xml file through the use of a XMLTransformation file, and applying the transformation to produce a targetxml file which is then validated against a target DTD. (I've done this portion as I have a much better understanding of XML).
    At this point we have been given the following java classes:
    Org_A_Client.java
    package project4;
    /* This class is the Organization A Client.
    It reads a source xml file as input and it invokes methods defined in the
    Org_A_Doc_Interface Interface on a class that implements that interface */
    import java.io.*;
    import java.util.Scanner;
    public class Org_A_Client {
         // Define a document object of type Org_A_Doc_Interface
         private Org_A_Doc_Interface document;
         // The Org_A_Client constructor
         public Org_A_Client() {
              // Instanciate the document object with a class that implements the
              // Org_A_Doc_Interface
              this.document = new Adapter();
         // The Main Method
         public static void main(String Args[]) {
              // Instanciate a Client Object
              Org_A_Client client = new Org_A_Client();
              // Create a string to store user input
              String inputFile = null;
              System.out.print("Input file name: ");
              // Read the Source xml file name provided as a command line argument
              Scanner scanner = new Scanner(System.in);
              inputFile = scanner.next();
              // Create a string to store user input
              String fileID = null;
              System.out.print("Input file ID: ");
              // Read the Source xml file name provided as a command line argument
              fileID = scanner.next();
              //Convert the String fileID to an integer value
              int intFileID = Integer.parseInt(fileID);
              if (inputFile != null && !inputFile.equals("")) {
                   // Create and empty string to store the source xml file
                   String file = "";
                   try {
                        // Open the file
                        FileInputStream fstream = new FileInputStream(inputFile);
                        // Convert our input stream to a
                        // BufferedReader
                        BufferedReader d = new BufferedReader(new InputStreamReader(
                                  fstream));
                        // Continue to read lines while
                        // there are still some left to read
                        String temp = "";
                        while ((temp = d.readLine()) != null) {
                             // Add file contents to a String
                             file = file + temp;
                        d.close();
                        // The Client Calls the archiveDoc Method on the Org_A_Document
                        // object
                        if (!file.equals("")) {
                             client.document.archiveDoc(file, intFileID);
                   } catch (Exception e) {
                        System.err.println("File input error");
              } else
                   System.out.println("Error: Invalid Input");
    Org_A_Doc_Interface.java
    package project4;
    /* This class is the Standard Organization A Document Interface.
    * It defines various methods that any XML document object
    * in Organization A should understand
    public interface Org_A_Doc_Interface {
         void archiveDoc(String XMLSourceDoc, int fileID);
         String getDoc(int fileID);
         String getDocDate(int fileID);
         void setDocDate(String date, int fileID);
         String[] getDocAuthors(int fileID);
         void setDocAuthor(String authorname, int position, int fileID);
    Org_B_FileAuthorMgr.java
    package project4;
    public class Org_B_FileAuthorMgr {
         // This function returns the list of file authors for the file that matches
         // the given fileID. For the purpose of the assignment we have not
         // provided any implementation
         public String[] getFileAuthors(String fileID) {
              // Since we do not have any implementation, we just return a
              // null String array of size 2
              return new String[2];
         // This function sets the authorname at a given position for the file that
         // matches the given fileID.
         // For the purpose of the assignment we have not provided any
         // implementation
         public void setFileAuthor(String authorname, int position, String fileID) {
    Org_B_FileDateMgr.java
    package project4;
    public class Org_B_FileDateMgr {
         // This function returns the creation date for the file that matches
         // the given fileID. For the puprposes of the assignment we have not
         // provided any implementation but only return a date string.
         String getFileDate(String fileID) {
              return "1st Nov 2007";
         // This function sets the creation datefor the file that
         // matches the given fileID.
         // For the puprposes of the assignment we have not provided any
         // implementation
         void setFileDate(String date, String fileID) {
    Org_B_FileIOMgr.java
    package project4;
    import java.io.*;
    public class Org_B_FileIOMgr {
         // This class variable stores the file location for all files
         private String fileLocation;
         // This function stores the given String of XMLTargetFile at the
         // fileLocation which is set using the setFileLocation method
         boolean storeFile(String XMLTargetFile, String fileID) {
              if (this.fileLocation != null) {
                   FileOutputStream out; // declare a file output object
                   PrintStream p; // declare a print stream object
                   try {
                        // Create a new file output stream
                        // connected to "myfile.txt"
                        out = new FileOutputStream(fileLocation);
                        // Connect print stream to the output stream
                        p = new PrintStream(out);
                        p.println(XMLTargetFile);
                        p.close();
                        System.out.println("MSG from Org_B_FileIOMgr: Target File Successfully Saved with ID " + fileID);
                   } catch (Exception e) {
                        System.err.println("Error writing to file");
                        return false;
                   return true;
              System.out.println("MSG from Org_B_FileIOMgr: Please set the File Location before storing a file");
              return false;
         // This function sets the fileLocation where the file will be stored for
         // archive
         void setFileLocation(String fileLocation) {
              this.fileLocation = fileLocation;
         // This function retreives the file that matches the given fileID and
         // returns its contents as a string
         // Only for the puprposes of the assignment we have not provided any
         // implementation
         String retrieveFile(String fileID) {
              return "This is the retreived file";
    }Also, we've been given the following two classes which I believe are used to help with the xml transformation using SAX (I've done alot of research regarding parsing XML using SAX/DOM so I understand how it works, but I'm really struggling with the integration...)
    FileDetailsProvider.java
    package project4;
    /* This is the FileDetailsProvider Class which implements the Singleton design pattern.
    The class can be used in the following manner:
         // Declare a object of the class type
            FileDetailsProvider fp;
            // Get the single instance of this class by calling the getInstance static method
            fp= FileDetailsProvider.getInstance();
            // Initialize the class with providing it the file name of our configuration XML file
              fp.loadConfigFile("C:\\assignment4\\XMLTransformerConfig.xml");
    import java.io.File;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    public class FileDetailsProvider {
         private InputHandler handler;
         private SAXParserFactory factory;
         private SAXParser saxParser;
         private final static FileDetailsProvider INSTANCE = new FileDetailsProvider();
         // Private constructor suppresses generation of a (public) default
         // constructor
         private FileDetailsProvider() {
              // Create the content handler
              handler = new InputHandler();
              // Use the default (non-validating) parser
              factory = SAXParserFactory.newInstance();
              // Validate the XML as it is parsed by the SAX Parser: only works
              // for dtd's
              factory.setValidating(true);
              try {
                   saxParser = factory.newSAXParser();
              } catch (Throwable t) {
                   t.printStackTrace();
                   System.exit(0);
         // This is the public static method that returns a single instance of the
         // class everytime it is invoked
         public static FileDetailsProvider getInstance() {
              return INSTANCE;
         // After instantiation this method needs to be called to load the XMLTransformer Configuration xml
         // file that includes the xsl file details needed
         // for our assignment
         public void loadConfigFile(String configFile) {
              try {
                   INSTANCE.saxParser.parse(new File(configFile), INSTANCE.handler);
              } catch (Throwable t) {
                   t.printStackTrace();
                   // Exceptions thrown if validation fails or file not found
                   System.out.println();
                   System.out.println("C:\\Documents and Settings\\Jig\\Desktop\\Project 4\\Project4\\Transform.xsl");
                   System.exit(0);
         // This method return the xsl file name
         public String getXslfileName() {
              return handler.getXslfileName();
         // This method returns the xsl file location
         public String getXslfileLocation() {
              return handler.getXslfileLocation();
    InputHandler.java
    package project4;
    /* This class is used by the FileDetailsProvider Class to read the XMLTranformerConfig xml
    * file using a SAX parser which is a event based parser
    import org.xml.sax.Attributes;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.helpers.DefaultHandler;
    public class InputHandler extends DefaultHandler {
         private String xslfileName = "";
         private String xslfileLocation = "";
         int fileName = 0, fileLoc = 0, DTDUrl = 0;
         boolean endOfFile = false;
         public InputHandler() {
         // Start XML Document Event
         public void startDocument() throws SAXException {
              super.startDocument();
         // End XML Document Event
         public void endDocument() throws SAXException {
              super.endDocument();
              // display();
         public void display() {
              System.out.println(xslfileName);
              System.out.println(xslfileLocation);
         public void startElement(String uri, String localName, String qName,
                   Attributes attributes) throws SAXException {
              String eName = localName; // element name
              if ("".equals(eName))
                   eName = qName; // not namespace-aware
              if (eName.equals("File Name:")) {
                   fileName++;
              } else if (eName.equals("File Location:")) {
                   fileLoc++;
         public void endElement(String uri, String localName, String qName)
                   throws SAXException {
              String eName = localName; // element name
              if ("".equals(eName))
                   eName = qName; // not namespace-aware
         public void characters(char ch[], int start, int length)
                   throws SAXException {
              String str = new String(ch, start, length);
              // Getting the Transform File Location
              if (fileLoc == 1 && xslfileLocation.equals("C:\\Documents and Settings\\Jig\\Desktop\\Project 4\\Project4\\")) {
                   xslfileLocation = str;
              // Getting the Transform File Name
              if (fileName == 1 && xslfileName.equals("Transform.xsl")) {
                   xslfileName = str;
         public void processingInstruction(String target, String data)
                   throws SAXException {
         // treat validation errors as fatal
         public void error(SAXParseException e) throws SAXParseException {
              throw e;
         // This method return the xsl file name
         public String getXslfileName() {
              return xslfileName;
         // This method returns the xsl file location
         public String getXslfileLocation() {
              return xslfileLocation;
    }I need to do the following:
    1. Create an adapter class and a facade class that allows Client A through the use of Organization's A interface to to use Organization B's services.
    2. Validate the Source XML against its DTD
    3. Extract information regarding the XSL file from the given XMLTransformerConfig xml file
    4. Apply the XSL Transformation to the source XML file to produce the target XML
    5. Validate the Target XML against its DTD
    Now I'm not asking for a free handout with this program completed as I really want to learn how to do a program like this, but I really don't have ANY prior java experience other than creating basic classes and methods. I don't know how to bring the whole program together in order to make it all work, so any guidance for making this work would be greatly appreciated.
    I've researched over 100 links on the web and found alot of useful information on adapter patterns with java and facade patterns, as well as SAX/DOM examples for parsing xml documents and validation of the DTD, but I can't find anything that ties this all together. Your help will be saving my grade...I hope :). Thanks so much for reading this.

    No one has anything to add for working on this project? I could really use some help, especially for creating the code for the adapter/facade pattern classes.

Maybe you are looking for

  • Tecra M4 - DVD drive doesn't recognize any disk under Vista

    Hi, after the installation of Vista my dvd drive doesn't recognize any disks ! No upgrade from XP! It was a clean Vista installation. I found several links about the registry entries upper and lower filter this entries doesn't exist in my registry un

  • Screen Rotation on a B&W G3

    Hey everyone, I have a great Dell FP1901 Monitor that supports portrait mode (it swivels 90 degrees easily) and I've heard that Tiger supports it natively. Anyway, I have the latest version of Tiger: 10.4.8 and I still cannot get the screen rotation

  • Video and tv

    Hi! I don't know if it's something I can't do in Portugal, but I don't have functions in Itunes store to buy tv shows or movies. Someone know the reason? I have a Ipod 80GB with this fonctions and nothing to see. I would like to buy some tv series. T

  • Sort on the Measure in Pivot table in OBIEE 11g

    The pivot table ignores the sort on the measrure in the criteria section, so how can we enable sort on the measure columns in pivot in OBIEE 11g ?

  • How?: file transfers to wifi ipad

    Does the iPad support Bonjour or one of the dropclients to get my pdf files from my iMac to the iPad? If I go for the iPad with wifi, & I need to transfer my pdf documents to the iPad on the go...